summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
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))))