X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/8697863ab31b6d0bf35143db6c11ac9fed9e6ca2..03da5d089a8ed035cec443a27259e7d21487a22e:/lisp/widget.el diff --git a/lisp/widget.el b/lisp/widget.el index fb28d8cc6f..8e9b0977c0 100644 --- a/lisp/widget.el +++ b/lisp/widget.el @@ -1,6 +1,7 @@ -;;; widget.el --- a library of user interface components. +;;; widget.el --- a library of user interface components ;; -;; Copyright (C) 1996, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1996, 1997, 2002, 2003, 2004, +;; 2005 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: help, extensions, faces, hypermedia @@ -21,61 +22,54 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; -;; If you want to use this code, please visit the URL above. +;; The widget library is partially documented in the `widget' Info +;; file. ;; -;; This file only contain the code needed to define new widget types. +;; This file only contains the code needed to define new widget types. ;; Everything else is autoloaded from `wid-edit.el'. ;;; Code: -(eval-when-compile (require 'cl)) - +;; Doing this is unnecessary in Emacs 20. Kept as dummy in case +;; external libraries call it. We save a kb or two of purespace by +;; dummying-out such definitions generally. (defmacro define-widget-keywords (&rest keys) - (` - (eval-and-compile - (let ((keywords (quote (, keys)))) - (while keywords - (or (boundp (car keywords)) - (set (car keywords) (car keywords))) - (setq keywords (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) - -;; These autoloads should be deleted when the file is added to Emacs. -(unless (fboundp 'load-gc) - (autoload 'widget-apply "wid-edit") - (autoload 'widget-create "wid-edit") - (autoload 'widget-insert "wid-edit") - (autoload 'widget-prompt-value "wid-edit") - (autoload 'widget-browse "wid-browse" nil t) - (autoload 'widget-browse-other-window "wid-browse" nil t) - (autoload 'widget-browse-at "wid-browse" nil t) - (autoload 'widget-minor-mode "wid-browse" nil t)) +;;; ;; 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) (defun define-widget (name class doc &rest args) "Define a new widget type named NAME from CLASS. @@ -95,8 +89,12 @@ The third argument DOC is a documentation string for the widget." (put name 'widget-documentation doc) name) +;; This is used by external widget code (in W3, at least). +(defalias 'widget-plist-member 'plist-member) + ;;; The End. (provide 'widget) -;; widget.el ends here +;;; arch-tag: 932c71a3-9aeb-4827-a293-8b88b26d5c58 +;;; widget.el ends here