Events 为什么我的Emacs小部件是&x27;s:你从没打过电话吗?

Events 为什么我的Emacs小部件是&x27;s:你从没打过电话吗?,events,emacs,widget,elisp,Events,Emacs,Widget,Elisp,我有以下elisp: (require 'widget) (eval-when-compile (require 'wid-edit)) (defun testit () (interactive) (switch-to-buffer "*Widget Test*") (widget-insert "Test field: ") (widget-create 'editable-field :size 25 :notify (lam

我有以下elisp:

(require 'widget)

(eval-when-compile
  (require 'wid-edit))

(defun testit ()
  (interactive)

  (switch-to-buffer "*Widget Test*")

  (widget-insert "Test field: ")
  (widget-create 'editable-field
         :size 25
         :notify (lambda (widget &rest ignore)
               (message (widget-value widget))))

  (use-local-map widget-keymap)
  (widget-setup))

它在新的Emacs缓冲区中创建一个文本小部件。我打算在每次更改时在minibuffer中显示小部件的值,但它似乎从未调用:notify函数。为什么不呢?

它似乎不起作用,因为我无意中弄乱了widget.el,需要重新加载包。重新启动Emacs就成功了。

你可能想接受自己的答案,这样问题就不会再公开了。@Thomas:我在发布后的两天内无法回答这个问题,但堆栈溢出对我以外的任何人来说都不明显。啊,对了,我记得有一次遇到过类似的问题。不过,谢谢你的体贴。我也经历过这种情况,你确定这是唯一的解决办法吗?我甚至从未打开过库/源。@ldionmarcil--我根本不确定这是唯一的修复方法,但它修复了它,而且我从未让它再次发生,所以我从未尝试过其他任何方法。