]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/abbrev.el (define-abbrev-table): Treat a non-string "docstring" as
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 2 Apr 2015 14:00:48 +0000 (10:00 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 2 Apr 2015 14:00:48 +0000 (10:00 -0400)
part of the "props" arguments rather than silently ignoring it.

lisp/ChangeLog
lisp/abbrev.el

index 96732ec37ef19f87f998224b92327206bd678205..38e45d063a4333ae18c1c94a62a99ca0569ac6c1 100644 (file)
@@ -1,5 +1,8 @@
 2015-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * abbrev.el (define-abbrev-table): Treat a non-string "docstring" as
+       part of the "props" arguments rather than silently ignoring it.
+
        * emacs-lisp/lisp-mnt.el (lm-version): Don't burp in a non-file buffer.
 
 2015-04-01  Alan Mackenzie  <acm@muc.de>
index 7aa46e0073e3f732bc2dbd2bdbd8014a61b63823..424d9c4f30bf19ae8c6613ce53aed8951bd5e1c5 100644 (file)
@@ -976,7 +976,8 @@ Properties with special meaning:
   ;; We used to manually add the docstring, but we also want to record this
   ;; location as the definition of the variable (in load-history), so we may
   ;; as well just use `defvar'.
-  (eval `(defvar ,tablename nil ,@(if (stringp docstring) (list docstring))))
+  (eval `(defvar ,tablename nil ,@(if (stringp docstring) (list docstring)
+                                   (when props (push docstring props) nil))))
   (let ((table (if (boundp tablename) (symbol-value tablename))))
     (unless table
       (setq table (make-abbrev-table))
@@ -987,6 +988,7 @@ Properties with special meaning:
     ;; if the table was pre-existing as is the case if it was created by
     ;; loading the user's abbrev file.
     (while (consp props)
+      (unless (cdr props) (error "Missing value for property %S" (car props)))
       (abbrev-table-put table (pop props) (pop props)))
     (dolist (elt definitions)
       (apply 'define-abbrev table elt))))