1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-17 21:51:00 -08:00

(define-abbrev-table): Record the variable definition.

This commit is contained in:
Stefan Monnier 2007-11-09 16:07:18 +00:00
parent 0713128329
commit 4eebd7fe04
2 changed files with 6 additions and 2 deletions

View 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.

View 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))))