summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-04-26 01:59:04 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-04-26 01:59:04 +0000
commit9e2a4d4d37107749d30751a6694a65d41ec798b7 (patch)
treeec486729cce74ecd69badfec33f0fb10d29a933c /lisp
parent3420078700003d6a21e34c5f116516bdd642df90 (diff)
downloademacs-9e2a4d4d37107749d30751a6694a65d41ec798b7.tar.gz
emacs-9e2a4d4d37107749d30751a6694a65d41ec798b7.tar.bz2
emacs-9e2a4d4d37107749d30751a6694a65d41ec798b7.zip
(define-abbrev-table): Apply props even if the table exists already.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/abbrev.el7
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 862fa21a680..c560f7cd847 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
2008-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
+ * abbrev.el (define-abbrev-table): Apply props even if the table
+ exists already.
+
* minibuffer.el (completion-table-with-context): Fix `pred' for the
various kinds of completion tables.
(completion-emacs22-try-completion): Place cursor after the /, as was
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index 303f03548e0..999cd691bc1 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -914,9 +914,14 @@ Properties with special meaning:
(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))
+ (setq table (make-abbrev-table))
(set tablename table)
(push tablename abbrev-table-name-list))
+ ;; We used to just pass them to `make-abbrev-table', but that fails
+ ;; if the table was pre-existing as is the case if it was created by
+ ;; loading the user's abbrev file.
+ (while (consp props)
+ (abbrev-table-put table (pop props) (pop props)))
(dolist (elt definitions)
(apply 'define-abbrev table elt))))