diff lisp/abbrev.el @ 85991:dd802e6c104e

(define-abbrev-table): Record the variable definition.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 09 Nov 2007 16:07:18 +0000
parents a1a283c3bfd3
children 61154518604b 880960b70474
line wrap: on
line diff
--- a/lisp/abbrev.el	Fri Nov 09 16:02:09 2007 +0000
+++ b/lisp/abbrev.el	Fri Nov 09 16:07:18 2007 +0000
@@ -895,13 +895,15 @@
 - `: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))))