changeset 65865:74b084c8ec13

(set-language-environment): Fix setting up of case-table for unibyte mode.
author Kenichi Handa <handa@m17n.org>
date Thu, 06 Oct 2005 08:11:14 +0000
parents ad6e2cab48f1
children df5f6fcce1be
files lisp/international/mule-cmds.el
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/mule-cmds.el	Thu Oct 06 08:09:19 2005 +0000
+++ b/lisp/international/mule-cmds.el	Thu Oct 06 08:11:14 2005 +0000
@@ -1867,16 +1867,18 @@
 	    (load syntax nil t))
 	;; No information for syntax and case.  Reset to the defaults.
 	(let ((syntax-table (standard-syntax-table))
-	      (case-table (standard-case-table))
+	      (standard-table (standard-case-table))
+	      (case-table (make-char-table 'case-table))
 	      (ch (if (eq window-system 'pc) 128 160)))
 	  (while (< ch 256)
 	    (modify-syntax-entry ch " " syntax-table)
-	    (aset case-table ch ch)
 	    (setq ch (1+ ch)))
+	  (dotimes (i 128)
+	    (aset case-table i (aref standard-table i)))
 	  (set-char-table-extra-slot case-table 0 nil)
 	  (set-char-table-extra-slot case-table 1 nil)
-	  (set-char-table-extra-slot case-table 2 nil))
-	(set-standard-case-table (standard-case-table))
+	  (set-char-table-extra-slot case-table 2 nil)
+	  (set-standard-case-table case-table))
 	(let ((list (buffer-list)))
 	  (while list
 	    (with-current-buffer (car list)