branch: externals/pyim commit 6bbea038e7f89cbe29cad57c9ca17ecefbbca957 Author: Feng Shu <tuma...@163.com> Commit: Feng Shu <tuma...@163.com>
Add pyim-tests-pyim-dhashcache-get * tests/pyim-tests.el (pyim-tests-pyim-dhashcache-get): New test. * pyim-dcache.el (pyim-dcache-get): call pyim-pymap-py2cchar-get. * pyim-dregcache.el (pyim-dregcache-get): do not call pyim-pymap-py2cchar-get. * pyim-dhashcache.el (pyim-dhashcache-get): do not call pyim-pymap-py2cchar-get --- pyim-dcache.el | 3 ++- pyim-dhashcache.el | 2 +- pyim-dregcache.el | 3 +-- tests/pyim-tests.el | 12 ++++++++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pyim-dcache.el b/pyim-dcache.el index 06dbe1b..324fbf1 100644 --- a/pyim-dcache.el +++ b/pyim-dcache.el @@ -288,7 +288,8 @@ scheme 中的 :code-prefix-history 信息。" 当词库文件加载完成后,pyim 就可以用这个函数从词库缓存中搜索某个 code 对应的中文词条了." - (pyim-dcache-call-api 'get code from)) + `(,@(pyim-dcache-call-api 'get code from) + ,@(pyim-pymap-py2cchar-get code t t))) ;; ** 分割 code (defun pyim-dcache-code-split (code) diff --git a/pyim-dhashcache.el b/pyim-dhashcache.el index d81041c..9f64161 100644 --- a/pyim-dhashcache.el +++ b/pyim-dhashcache.el @@ -302,7 +302,7 @@ code 对应的中文词条了。 (value (and cache (gethash code cache)))) (when value (setq result (append result value))))) - `(,@result ,@(pyim-pymap-py2cchar-get code t t)))) + result)) (defun pyim-dhashcache-update-icode2word (&optional force) "对 personal 缓存中的词条进行排序,加载排序后的结果. diff --git a/pyim-dregcache.el b/pyim-dregcache.el index 92fc357..ba8d07e 100644 --- a/pyim-dregcache.el +++ b/pyim-dregcache.el @@ -281,8 +281,7 @@ DICT-FILES 是词库文件列表. DICTS-MD5 是词库的MD5校验码. (setq result (append (pyim-dregcache-get-1 content code) result))))) ;; `push' plus `nreverse' is more efficient than `add-to-list' ;; Many examples exist in Emacs' own code - (setq result (nreverse result)) - `(,@result ,@(pyim-pymap-py2cchar-get code t t))))) + (nreverse result)))) (defun pyim-dregcache-get-icode2word-ishortcode2word (code) "以 CODE 搜索个人词和个人联想词. 正则表达式搜索词库,不需要为联想词开单独缓存." diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el index d042dd4..a8cf903 100644 --- a/tests/pyim-tests.el +++ b/tests/pyim-tests.el @@ -731,6 +731,18 @@ zuo-zuo-you-mang 作作有芒") yin-xing 因行 "))))) +(ert-deftest pyim-tests-pyim-dhashcache-get () + (let ((pyim-dhashcache-code2word (make-hash-table :test #'equal)) + (pyim-dhashcache-icode2word (make-hash-table :test #'equal))) + + (puthash "ni-hao" '("呢耗") pyim-dhashcache-icode2word) + (puthash "ni-hao" '("你好") pyim-dhashcache-code2word) + + (should (equal (pyim-dhashcache-get "ni-hao" '(code2word)) '("你好"))) + (should (equal (pyim-dhashcache-get "ni-hao" '(icode2word)) '("呢耗"))) + (should (equal (pyim-dhashcache-get "ni-hao" '(code2word icode2word)) '("你好" "呢耗"))) + (should (equal (pyim-dhashcache-get "ni-hao") '("呢耗" "你好"))))) + ;; ** pyim-dregcache 相关单元测试 (ert-deftest pyim-tests-pyim-general () (let ((pyim-dcache-backend 'pyim-dregcache))