changeset 94353:f7eb2887e5b5

(define-abbrev-table): Apply props even if the table exists already.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 26 Apr 2008 01:59:04 +0000
parents add0e6cf4336
children 26ba760c38d0
files lisp/ChangeLog lisp/abbrev.el
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Apr 26 01:47:11 2008 +0000
+++ b/lisp/ChangeLog	Sat Apr 26 01:59:04 2008 +0000
@@ -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
--- a/lisp/abbrev.el	Sat Apr 26 01:47:11 2008 +0000
+++ b/lisp/abbrev.el	Sat Apr 26 01:59:04 2008 +0000
@@ -914,9 +914,14 @@
   (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))))