diff lisp/abbrev.el @ 87754:2957493cf354

(clear-abbrev-table): Can't pass a symbol to intern.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 14 Jan 2008 20:17:52 +0000
parents 107ccd98fa12
children c70e45a7acfd 73a01bf5cb80
line wrap: on
line diff
--- a/lisp/abbrev.el	Mon Jan 14 19:50:29 2008 +0000
+++ b/lisp/abbrev.el	Mon Jan 14 20:17:52 2008 +0000
@@ -524,7 +524,9 @@
       (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)))))