]> code.delx.au - gnu-emacs/blobdiff - lisp/widget.el
* lisp/simple.el (save-mark-and-excursion): Add declare forms.
[gnu-emacs] / lisp / widget.el
index 8614b1a0430112e0490488f54a80a0f0526e1b6e..54507cdc418a81f56a2c8713365e7370cd45b385 100644 (file)
@@ -1,12 +1,11 @@
 ;;; widget.el --- a library of user interface components
 ;;
-;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2016 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
-;; Version: 1.9920
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
+;; Package: emacs
 
 ;; This file is part of GNU Emacs.
 
@@ -36,7 +35,7 @@
 ;; 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)
+(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
@@ -69,7 +68,6 @@
 ;;  :button-face-get :button-face :value-face :keymap :entry-from
 ;;  :entry-to :help-echo :documentation-property :tab-order)
 
-(put 'define-widget 'doc-string-elt 3)  ;`declare' doesn't work in functions.
 (defun define-widget (name class doc &rest args)
   "Define a new widget type named NAME from CLASS.
 
@@ -81,19 +79,22 @@ create identical widgets:
 
 * (widget-create NAME)
 
-* (apply 'widget-create CLASS ARGS)
+* (apply #\\='widget-create CLASS ARGS)
 
 The third argument DOC is a documentation string for the widget."
+  (declare (doc-string 3))
+  ;;
+  (unless (or (null doc) (stringp doc))
+    (error "widget documentation must be nil or a string."))
   (put name 'widget-type (cons class args))
   (put name 'widget-documentation (purecopy doc))
   name)
 
 ;; This is used by external widget code (in W3, at least).
-(defalias 'widget-plist-member 'plist-member)
+(define-obsolete-function-alias 'widget-plist-member #'plist-member "25.2")
 
 ;;; The End.
 
 (provide 'widget)
 
-;; arch-tag: 932c71a3-9aeb-4827-a293-8b88b26d5c58
 ;;; widget.el ends here