0

たとえば、emacs widget exampleによって提供されるバッファがあります。だから私は '((widget-name . widget-value) ... ) の関連リストを返す関数を取得したい

何かのようなもの:

(widget-create 'push-button
               :notify 'get-widgets-alist
               "Get Widgets")
4

1 に答える 1

1

あなたが何を求めているのか完全にはわかりません。最初の段落では、バッファ内のすべてのウィジェットを返す関数を求めているようです。しかし、あなたの例は、ウィジェット通知機能が必要であることを示唆しています。それで、あなたは本当に何が欲しいですか?

(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))))))
于 2012-12-01T13:17:42.127 に答える