From 4eebd7fe045c50c8dcd3faf6ea87f2c1197df565 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 9 Nov 2007 16:07:18 +0000 Subject: [PATCH] (define-abbrev-table): Record the variable definition. --- lisp/ChangeLog | 2 ++ lisp/abbrev.el | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cbd685727bd..c9917d36ba3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2007-11-09 Stefan Monnier + * abbrev.el (define-abbrev-table): Record the variable definition. + * emacs-lisp/bytecomp.el (byte-compile-file-form-define-abbrev-table): New function. diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 145ec223951..0c140a84159 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -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)))) -- 2.39.2