如何在emacs中获取当前小部件次要模式缓冲区中所有小部件的值?
例如,我们有由提供的缓冲区。所以我想获得一个函数,它将返回关联的“((widget name.widget value)…”列表 比如:如何在emacs中获取当前小部件次要模式缓冲区中所有小部件的值?,emacs,widget,elisp,Emacs,Widget,Elisp,例如,我们有由提供的缓冲区。所以我想获得一个函数,它将返回关联的“((widget name.widget value)…”列表 比如: (widget-create 'push-button :notify 'get-widgets-alist "Get Widgets") 我不完全确定你在问什么。在第一段中,您似乎要求提供一个函数,该函数将返回缓冲区中的所有小部件。但是您的示例表明您需要一个小部件通知功能。那么,你到底想要什么 (
(widget-create 'push-button
:notify 'get-widgets-alist
"Get Widgets")
我不完全确定你在问什么。在第一段中,您似乎要求提供一个函数,该函数将返回缓冲区中的所有小部件。但是您的示例表明您需要一个小部件通知功能。那么,你到底想要什么
(require 'cl)
(defun get-widgets ()
"Return a list of widgets in the current buffer."
(save-excursion
(goto-char (point-min))
(loop while (not (eobp))
for new = (widget-at)
and old = nil then new
when (and new (not (eq new old))) collect new
do (goto-char (next-overlay-change (point))))))
你好你的方法很有趣。在我的例子中,我定义了缓冲区中所有可写小部件的列表,然后将
mapcar'小部件值应用于它。谢谢你回答我的模糊问题。