Commit f12126f8 authored by Stefan Monnier's avatar Stefan Monnier

(define-widget): Add `doc-string' declaration.

parent 128e729d
......@@ -39,37 +39,37 @@
;; external libraries call it. We save a kb or two of purespace by
;; dummying-out such definitions generally.
(defmacro define-widget-keywords (&rest keys)
;;; ;; Don't use backquote, since that makes trouble trying to
;;; ;; re-bootstrap from just the .el files.
;;; (list 'eval-and-compile
;;; (list 'let (list (list 'keywords (list 'quote keys)))
;;; (list 'while 'keywords
;;; (list 'or (list 'boundp (list 'car 'keywords))
;;; (list 'set (list 'car 'keywords) (list 'car 'keywords)))
;;; (list 'setq 'keywords (list 'cdr 'keywords)))))
;; ;; Don't use backquote, since that makes trouble trying to
;; ;; re-bootstrap from just the .el files.
;; (list 'eval-and-compile
;; (list 'let (list (list 'keywords (list 'quote keys)))
;; (list 'while 'keywords
;; (list 'or (list 'boundp (list 'car 'keywords))
;; (list 'set (list 'car 'keywords) (list 'car 'keywords)))
;; (list 'setq 'keywords (list 'cdr 'keywords)))))
)
;;;(define-widget-keywords :documentation-indent
;;; :complete-function :complete :button-overlay
;;; :field-overlay
;;; :documentation-shown :button-prefix
;;; :button-suffix :mouse-down-action :glyph-up :glyph-down :glyph-inactive
;;; :prompt-internal :prompt-history :prompt-match
;;; :prompt-value :deactivate :active
;;; :inactive :activate :sibling-args :delete-button-args
;;; :insert-button-args :append-button-args :button-args
;;; :tag-glyph :off-glyph :on-glyph :valid-regexp
;;; :secret :sample-face :sample-face-get :case-fold
;;; :create :convert-widget :format :value-create :offset :extra-offset
;;; :tag :doc :from :to :args :value :action
;;; :value-set :value-delete :match :parent :delete :menu-tag-get
;;; :value-get :choice :void :menu-tag :on :off :on-type :off-type
;;; :notify :entry-format :button :children :buttons :insert-before
;;; :delete-at :format-handler :widget :value-pos :value-to-internal
;;; :indent :size :value-to-external :validate :error :directory
;;; :must-match :type-error :value-inline :inline :match-inline :greedy
;;; :button-face-get :button-face :value-face :keymap :entry-from
;;; :entry-to :help-echo :documentation-property :tab-order)
;;(define-widget-keywords :documentation-indent
;; :complete-function :complete :button-overlay
;; :field-overlay
;; :documentation-shown :button-prefix
;; :button-suffix :mouse-down-action :glyph-up :glyph-down :glyph-inactive
;; :prompt-internal :prompt-history :prompt-match
;; :prompt-value :deactivate :active
;; :inactive :activate :sibling-args :delete-button-args
;; :insert-button-args :append-button-args :button-args
;; :tag-glyph :off-glyph :on-glyph :valid-regexp
;; :secret :sample-face :sample-face-get :case-fold
;; :create :convert-widget :format :value-create :offset :extra-offset
;; :tag :doc :from :to :args :value :action
;; :value-set :value-delete :match :parent :delete :menu-tag-get
;; :value-get :choice :void :menu-tag :on :off :on-type :off-type
;; :notify :entry-format :button :children :buttons :insert-before
;; :delete-at :format-handler :widget :value-pos :value-to-internal
;; :indent :size :value-to-external :validate :error :directory
;; :must-match :type-error :value-inline :inline :match-inline :greedy
;; :button-face-get :button-face :value-face :keymap :entry-from
;; :entry-to :help-echo :documentation-property :tab-order)
(defun define-widget (name class doc &rest args)
"Define a new widget type named NAME from CLASS.
......@@ -85,6 +85,7 @@ create identical widgets:
* (apply 'widget-create CLASS ARGS)
The third argument DOC is a documentation string for the widget."
(declare (doc-string 3))
(put name 'widget-type (cons class args))
(put name 'widget-documentation doc)
name)
......@@ -96,5 +97,5 @@ The third argument DOC is a documentation string for the widget."
(provide 'widget)
;;; arch-tag: 932c71a3-9aeb-4827-a293-8b88b26d5c58
;; arch-tag: 932c71a3-9aeb-4827-a293-8b88b26d5c58
;;; widget.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment