branch: externals/pyim
commit 74606125217962d97c92a0107f719c104f3ab755
Author: Feng Shu <tuma...@163.com>
Commit: Feng Shu <tuma...@163.com>

    让 pyim-page 依赖 pyim-process.
    
            * pyim-process.el (pyim-page): Do not require.
            (pyim-process-page-refresh): Added.
            (pyim-process-run-1): Use above function.
            (pyim-process-page-hide): Added.
            (pyim-process-terminate): Use above function.
    
            * pyim-page.el (pyim-process): Required.
            (pyim-process-page-refresh): Overrided by pyim-page-refresh.
            (pyim-process-page-hide): Overrided by pyim-page-hide.
---
 pyim-page.el    |  5 ++++-
 pyim-process.el | 13 +++++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index 95184fdbd2..31c97ecd4b 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -34,6 +34,7 @@
 (require 'popup nil t)
 (require 'pyim-common)
 (require 'pyim-preview)
+(require 'pyim-process)
 
 (eval-when-compile
   (require 'pyim-entered))
@@ -236,7 +237,7 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
        (pyim-preview-start-point)
        tooltip))))
 
-(declare-function pyim-process-terminate "pyim-process")
+(advice-add 'pyim-process-page-refresh :after #'pyim-page-refresh)
 
 (defun pyim-page-next-page (arg)
   "Pyim page 翻页命令.
@@ -573,6 +574,8 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
           (setq-local cursor-type t))
         (setq pyim-page-last-minibuffer-string nil)))))
 
+(advice-add 'pyim-process-page-hide :after #'pyim-page-hide)
+
 ;; * Footer
 (provide 'pyim-page)
 
diff --git a/pyim-process.el b/pyim-process.el
index 7eb1131441..d72968c5ba 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -34,7 +34,6 @@
 (require 'pyim-entered)
 (require 'pyim-imobjs)
 (require 'pyim-codes)
-(require 'pyim-page)
 (require 'pyim-candidates)
 (require 'pyim-preview)
 (require 'pyim-indicator)
@@ -310,7 +309,10 @@
         (pyim-process-terminate))
        (t (setq pyim-candidate-position 1)
           (pyim-preview-refresh)
-          (pyim-page-refresh))))))
+          (pyim-process-page-refresh))))))
+
+(defun pyim-process-page-refresh ()
+  "Page refresh 接口函数。")
 
 (defun pyim-process-self-insert-command-p (cmd)
   "测试 CMD 是否是一个 pyim self insert command."
@@ -323,7 +325,7 @@
     (when words
       (setq pyim-candidates words)
       (pyim-preview-refresh)
-      (pyim-page-refresh))))
+      (pyim-process-page-refresh))))
 
 (defun pyim-process-run-async-timer-reset ()
   "Reset `pyim-process-run-async-timer'."
@@ -611,7 +613,7 @@ BUG:拼音无法有效地处理多音字。"
   (setq pyim-candidates nil)
   (setq pyim-candidates-last nil)
   (pyim-preview-delete-string)
-  (pyim-page-hide)
+  (pyim-process-page-hide)
   (setq pyim-cstring-to-code-criteria nil)
   (pyim-process-run-async-timer-reset)
   (let* ((class (pyim-scheme-get-option (pyim-scheme-name) :class))
@@ -619,6 +621,9 @@ BUG:拼音无法有效地处理多音字。"
     (when (and class (functionp func))
       (funcall func))))
 
+(defun pyim-process-page-hide ()
+  "Page hide 接口函数.")
+
 ;; * Footer
 (provide 'pyim-process)
 

Reply via email to