summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/abbrev.el4
2 files changed, 8 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fc0b5e4d634..203de0951e5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * abbrev.el (clear-abbrev-table): Can't pass a symbol to intern.
+
2008-01-14 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-local-host-p): Use `tramp-file-name-host'
@@ -7,7 +11,7 @@
2008-01-14 Alan Mackenzie <acm@muc.de>
- * progmodes/cc-engine.el (c-guess-basic-syntax): prevent a macro
+ * progmodes/cc-engine.el (c-guess-basic-syntax): Prevent a macro
call inside a struct being recognised as a K&R argument.
2008-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index ff99430e027..5cdd2d0aa8f 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -524,7 +524,9 @@ the current abbrev table before abbrev lookup happens."
(aset table i 0))
;; Preserve the table's properties.
(assert sym)
- (intern sym table)
+ (let ((newsym (intern "" table)))
+ (set newsym nil) ; Make sure it won't be confused for an abbrev.
+ (setplist newsym (symbol-plist sym)))
(abbrev-table-put table :abbrev-table-modiff
(1+ (abbrev-table-get table :abbrev-table-modiff)))))