diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-04-10 02:47:44 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-04-10 02:47:44 -0400 |
commit | 3638632f0bde06aac848655e28e28d188b48cd64 (patch) | |
tree | 3cbf42571894ba3de991ba4a156adde40aff0f22 /lisp/abbrev.el | |
parent | 26f8a384978c6b1d1db1c6b091fa1e51d9ff5a5b (diff) | |
download | emacs-3638632f0bde06aac848655e28e28d188b48cd64.tar.gz |
* abbrev.el (define-abbrev-table): Refine last change.
Diffstat (limited to 'lisp/abbrev.el')
-rw-r--r-- | lisp/abbrev.el | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 424d9c4f30b..f9f078b5777 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -953,7 +953,6 @@ Abbrevs marked as \"system abbrevs\" are omitted." (insert " ))\n\n"))) nil))) -(put 'define-abbrev-table 'doc-string-elt 3) (defun define-abbrev-table (tablename definitions &optional docstring &rest props) "Define TABLENAME (a symbol) as an abbrev table name. @@ -973,11 +972,15 @@ Properties with special meaning: - `:enable-function' can be set to a function of no argument which returns non-nil if and only if the abbrevs in this table should be used for this instance of `expand-abbrev'." + (declare (doc-string 3)) ;; 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) - (when props (push docstring props) nil)))) + (if (and docstring props (symbolp docstring)) + ;; There is really no docstring, instead the docstring arg + ;; is a property name. + (push docstring props) (setq docstring nil)) + (eval `(defvar ,tablename nil ,@(if docstring (list docstring)))) (let ((table (if (boundp tablename) (symbol-value tablename)))) (unless table (setq table (make-abbrev-table)) |