]> git.eshelyaron.com Git - emacs.git/commitdiff
Type checking for `define-widget'
authorDaniel Colascione <dancol@dancol.org>
Sat, 14 Mar 2015 23:32:04 +0000 (16:32 -0700)
committerDaniel Colascione <dancol@dancol.org>
Sat, 14 Mar 2015 23:32:04 +0000 (16:32 -0700)
* lisp/widget.el (define-widget): Check that documentation is a string
or nil; prevent wailing and gnashing of teeth when users forget to
pass a docstring and wonder why their properties don't work.

lisp/ChangeLog
lisp/widget.el

index 8da573ed2f709b8541320cf34d7677b12f813990..5004924e9d30c2b9d34c717f0036135ce27863c4 100644 (file)
@@ -1,5 +1,9 @@
 2015-03-14  Daniel Colascione  <dancol@dancol.org>
 
+       * widget.el (define-widget): Check that documentation is a string
+       or nil; prevent wailing and gnashing of teeth when users forget to
+       pass a docstring and wonder why their properties don't work.
+
        * startup.el (command-line): Process "--no-x-resources".
 
 2015-03-13  Kevin Ryde  <user42_kevin@yahoo.com.au>
index f8faa0f379b56b06fc0beb319ed3fca2dabcab33..539f91e63a0549bb846e18a419b0ca94e757733f 100644 (file)
@@ -83,6 +83,9 @@ create identical widgets:
 * (apply 'widget-create CLASS ARGS)
 
 The third argument DOC is a documentation string for the widget."
+  ;;
+  (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)