branch: externals/pyim commit d17d91ea0a9f79e94b9bdbba96429586679ea2e4 Author: Feng Shu <tuma...@163.com> Commit: Feng Shu <tuma...@163.com>
Simplify dcache-backend require. --- pyim-dcache.el | 9 +++------ pyim-process.el | 1 + pyim.el | 10 ++-------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/pyim-dcache.el b/pyim-dcache.el index a726e7dee0..8ea059a25c 100644 --- a/pyim-dcache.el +++ b/pyim-dcache.el @@ -177,24 +177,21 @@ AUTO-BACKUP-THRESHOLD 倍, 那么原值将自动备份到 FILE 对应的备份 ;; ** Dcache 后端加载相关函数 (defun pyim-dcache-load-backend () "检查 `pyim-dcache-backend' 设置并 require 相应 package." - (let ((backend (pyim-dcache-backend))) + (let ((backend pyim-dcache-backend)) (unless (featurep backend) (require backend)))) (defun pyim-dcache-backend () "返回当前可用的 dcache backend." (if (and (eq pyim-dcache-backend 'pyim-dregcache) + (featurep 'pyim-dregcache) (pyim-scheme-quanpin-p (pyim-scheme-current))) 'pyim-dregcache 'pyim-dhashcache)) ;; ** Dcache 初始化功能接口 (cl-defgeneric pyim-dcache-init-variables () - "初始化 dcache 缓存相关变量." - nil) - -(cl-defmethod pyim-dcache-init-variables :before () - (pyim-dcache-load-backend)) + "初始化 dcache 缓存相关变量.") ;; ** Dcache 检索词条功能接口 (cl-defgeneric pyim-dcache-get (_key &optional _from) diff --git a/pyim-process.el b/pyim-process.el index 9d95b44d04..cc97e580ba 100644 --- a/pyim-process.el +++ b/pyim-process.el @@ -205,6 +205,7 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如: "PYIM 流程,词库相关的初始化工作。" (pyim-recreate-local-variables) (pyim-pymap-cache-create) + (pyim-dcache-load-backend) (pyim-dcache-init-variables) (pyim-dcache-update force)) diff --git a/pyim.el b/pyim.el index 72c9a7b57e..db9b0905e1 100644 --- a/pyim.el +++ b/pyim.el @@ -442,10 +442,7 @@ MERGE-METHOD 是一个函数,这个函数需要两个数字参数,代表词 如果 FILE 为 nil, 提示用户指定导出文件位置, 如果 CONFIRM 为 non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式" (interactive "F将词条和词频信息导出到文件: ") - (pyim-dcache-init-variables) - ;; FIXME: 只运行一次 `pyim-dcache-init-variables' 会出现 hashtable nil 的错误, - ;; 不知道什么原因。 - (pyim-dcache-init-variables) + (pyim-process-init-dcaches) (pyim-dcache-export-words-and-counts file confirm ignore-counts) (message "PYIM: 词条和词频信息导出完成。")) @@ -455,10 +452,7 @@ non-nil,文件存在时将会提示用户是否覆盖,默认为覆盖模式" 如果 FILE 为 nil, 提示用户指定导出文件位置, 如果 CONFIRM 为 non-nil, 文件存在时将会提示用户是否覆盖,默认为覆盖模式。" (interactive "F将个人词条导出到文件:") - (pyim-dcache-init-variables) - ;; FIXME: 只运行一次 `pyim-dcache-init-variables' 会出现 hashtable nil 的错误, - ;; 不知道什么原因。 - (pyim-dcache-init-variables) + (pyim-process-init-dcaches) (pyim-dcache-export-personal-words file confirm) (message "PYIM: 个人词条导出完成。"))