pyim icon indicating copy to clipboard operation
pyim copied to clipboard

使用I-search时pyim无法输入中文

Open playdougher opened this issue 1 year ago • 1 comments

背景:

pyim版本为pyim-20250225.650

Package pyim is dependency.

     Status: Installed in ‘pyim-20250225.650/’ (unsigned).
    Version: 20250225.650
     Commit: f5f1be270feb3cade25e9ef910bd58e442e4b016
    Summary: A Chinese input method support quanpin, shuangpin, wubi, cangjie and rime.
   Requires: emacs-27.1, async-1.6, xr-1.13
    Website: https://github.com/tumashu/pyim
   Keywords: [convenience] [chinese] [pinyin] [input-method] 
    Authors: Ye Wenbin <[email protected]>
             Feng Shu <[email protected]>
Other versions: 20240508.256 (installed), 20250225.650 (melpa), 5.3.4 (gnu).

问题:

在buffer、minibuffer内按下C-\切换到pyim输入法时,都会提示 Symbol’s function definition is void: current-input-method-title,但是文本buffer内和M-x命令行内都可以输入中文。只有使用I-search时pyim无法输入中文。

复现步骤:

1、C-\切换到pyim输入法 2、按下C-s使用I-Search功能 3、随便输入中文,发现什么输出也没有 4、每次输入都提示“Symbol’s function definition is void: current-input-method-title”

预期: 可以在I-search内输入中文

playdougher avatar Mar 13 '25 05:03 playdougher

Image

我感觉可能是你配置的问题

tumashu avatar Mar 14 '25 02:03 tumashu

我感觉可能是你配置的问题

pyim 我是根据README配置简单配置了5行,是漏了什么配置吗?.emacs的pyim部分:

Image

.gnu-emacs-custom pyim部分:

Image

完整.emacs配置文件

.emacs.txt

.gnu-emacs-custom.txt

playdougher avatar Mar 22 '25 14:03 playdougher

用toggle-debug-on-error检查了确实是我配置问题,把.emacs里这些删除就正常了

(use-package posframe
  :if (display-graphic-p)
  :config
  (defun my-posframe-show-input-method ()
    (let ((input-method (current-input-method-title)))
      (posframe-show "*input-method-posframe*"
                     :string input-method
                     :position (point)
                     :timeout 2))))
(use-package popup
  :unless (display-graphic-p)
  :config
  (defun my-popup-show-input-method ()
    (let ((input-method (current-input-method-title)))
      (popup-tip input-method :timeout 2))))

(defun my-show-input-method ()
  (if (display-graphic-p)
      (my-posframe-show-input-method)
    (my-popup-show-input-method)))

(add-hook 'input-method-activate-hook 'my-show-input-method)

playdougher avatar Mar 30 '25 16:03 playdougher