]> code.delx.au - gnu-emacs/commitdiff
(set-language-environment): Reset
authorKenichi Handa <handa@m17n.org>
Mon, 17 Aug 1998 02:34:54 +0000 (02:34 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 17 Aug 1998 02:34:54 +0000 (02:34 +0000)
syntax and case table to the defaults if the value of
unibyte-syntax key is nil.

lisp/international/mule-cmds.el

index 39122d0641b06e3a83c92627a0a75318b7c30e8f..00f46bed555c6c3f3e2a9e90ed5d917d36633fc8 100644 (file)
@@ -1123,18 +1123,31 @@ specifies the character set for the major languages of Western Europe."
   (setq charset-origin-alist
        (get-language-info language-name 'charset-origin-alist))
 
+  ;; Unibyte setups if necessary.
   (unless default-enable-multibyte-characters
-    ;; Unibyte setups.
+    ;; Syntax and case table.
     (let ((syntax (get-language-info language-name 'unibyte-syntax)))
       (if syntax
          (let ((set-case-syntax-set-multibyte nil))
-           (load syntax nil t)
-           (set-standard-case-table (standard-case-table))
-           (let ((list (buffer-list)))
-             (while list
-               (with-current-buffer (car list)
-                 (set-case-table (standard-case-table)))
-               (setq list (cdr list)))))))
+           (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))
+             (ch 160))
+         (while (< ch 256)
+           (modify-syntax-entry ch " " syntax-table)
+           (aset case-table ch ch)
+           (setq ch (1+ ch)))
+         (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))
+       (let ((list (buffer-list)))
+         (while list
+           (with-current-buffer (car list)
+             (set-case-table (standard-case-table)))
+           (setq list (cdr list))))))
+    ;; Display table and coding system for terminal.
     (let ((coding (get-language-info language-name 'unibyte-display)))
       (if coding
          (progn