changeset 105947:6bc99fd16720

* international/mule-cmds.el (register-input-method); Purecopy arguments. (define-char-code-property): Correctly purecopy the table.
author Dan Nicolaescu <dann@ics.uci.edu>
date Wed, 11 Nov 2009 06:22:30 +0000
parents 8b630212b554
children d319f1aaff7c
files lisp/ChangeLog lisp/international/mule-cmds.el
diffstat 2 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Nov 11 06:18:17 2009 +0000
+++ b/lisp/ChangeLog	Wed Nov 11 06:22:30 2009 +0000
@@ -1,5 +1,8 @@
 2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 
+	* international/mule-cmds.el (register-input-method); Purecopy arguments.
+	(define-char-code-property): Correctly purecopy the table.
+
 	* international/ccl.el (define-ccl-program): Purecopy the docstring.
 
 	* emacs-lisp/easy-mmode.el (define-minor-mode): Purecopy :lighter.
--- a/lisp/international/mule-cmds.el	Wed Nov 11 06:18:17 2009 +0000
+++ b/lisp/international/mule-cmds.el	Wed Nov 11 06:22:30 2009 +0000
@@ -1370,9 +1370,12 @@
 without loading the relevant Quail packages.
 \n(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)"
   (if (symbolp lang-env)
-      (setq lang-env (symbol-name lang-env)))
+      (setq lang-env (symbol-name lang-env))
+    (setq lang-env (purecopy lang-env)))
   (if (symbolp input-method)
-      (setq input-method (symbol-name input-method)))
+      (setq input-method (symbol-name input-method))
+    (setq input-method (purecopy input-method)))
+  (setq args (mapcar 'purecopy args))
   (let ((info (cons lang-env args))
 	(slot (assoc input-method input-method-alist)))
     (if slot
@@ -2746,7 +2749,7 @@
 	  (error "Invalid char-table: %s" table))
     (or (stringp table)
 	(error "Not a char-table nor a file name: %s" table)))
-  (if (stringp table) (purecopy table))
+  (if (stringp table) (setq table (purecopy table)))
   (let ((slot (assq name char-code-property-alist)))
     (if slot
 	(setcdr slot table)