]> git.eshelyaron.com Git - emacs.git/commitdiff
(define-abbrev-table): Record the variable definition.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 9 Nov 2007 16:07:18 +0000 (16:07 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 9 Nov 2007 16:07:18 +0000 (16:07 +0000)
lisp/ChangeLog
lisp/abbrev.el

index cbd685727bd371d557b8ee38e3021bfb6acbd551..c9917d36ba3f25b3bf3c4d3fc3e91bbd56105212 100644 (file)
@@ -1,5 +1,7 @@
 2007-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * abbrev.el (define-abbrev-table): Record the variable definition.
+
        * emacs-lisp/bytecomp.el (byte-compile-file-form-define-abbrev-table):
        New function.
 
index 145ec223951a7c0fbc116fc764afc43066b4dd2c..0c140a84159c09aaee52f1cc8692f68cbfe4d683 100644 (file)
@@ -895,13 +895,15 @@ Properties with special meaning:
 - `:enable-function' can be set to a function of no argument which returns
   non-nil iff the abbrevs in this table should be used for this instance
   of `expand-abbrev'."
+  ;; 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))))
   (let ((table (if (boundp tablename) (symbol-value tablename))))
     (unless table
       (setq table (make-abbrev-table props))
       (set tablename table)
       (push tablename abbrev-table-name-list))
-    (when (stringp docstring)
-      (put tablename 'variable-documentation docstring))
     (dolist (elt definitions)
       (apply 'define-abbrev table elt))))