(tibetan-pre-write-conversion): Cancel previous
[bpt/emacs.git] / lisp / disp-table.el
index 3ebc1c9..f793e50 100644 (file)
@@ -178,6 +178,10 @@ X frame."
 ;;;###autoload
 (defun standard-display-european (arg &optional auto)
   "Toggle display of European characters encoded with ISO 8859.
+This function is semi-obsolete; it is better to use
+`set-language-environment' and `set-terminal-coding-system',
+coupled with the `--unibyte' option if you prefer to use unibyte characters.
+
 When enabled, characters in the range of 160 to 255 display not
 as octal escapes, but as accented characters.  Codes 146 and 160
 display as apostrophe and space, even though they are not the ASCII
@@ -203,7 +207,7 @@ probably want to edit European characters in single-byte mode."
               (equal (aref standard-display-table 161) [161])))
       (progn
        (standard-display-default 160 255)
-       (unless (eq window-system 'x)
+       (unless (memq window-system '(x w32))
          (set-terminal-coding-system nil)))
     ;; If the user does this explicitly,
     ;; turn off multibyte chars for more compatibility.
@@ -211,25 +215,24 @@ probably want to edit European characters in single-byte mode."
       (setq-default enable-multibyte-characters nil)
       (if (get-buffer "*scratch*")
          (with-current-buffer "*scratch*"
-           (set-buffer-multibyte nil)
-           (load "latin-1"))))
-    (standard-display-8bit 160 255)
-    (unless (or noninteractive (eq window-system 'x))
+           (set-buffer-multibyte nil))))
+    ;; If the user does this explicitly,
+    ;; switch to Latin-1 language environment
+    ;; unless some other has been specified.
+    (unless auto
+      (if (equal current-language-environment "English")
+         (set-language-environment "latin-1")))
+    (unless (or noninteractive (memq window-system '(x w32)))
       ;; Send those codes literally to a non-X terminal.
       ;; If AUTO is nil, we are using single-byte characters,
       ;; so it doesn't matter which one we use.
       (set-terminal-coding-system
-       (cond ((eq auto t) 'latin-1)
+       (cond ((not (equal current-language-environment "English"))
+             (intern (downcase current-language-environment)))
+            ((eq auto t) 'latin-1)
             ((symbolp auto) (or auto 'latin-1))
             ((stringp auto) (intern auto)))))
-    ;; Make non-line-break space display as a plain space.
-    ;; Most X fonts do the wrong thing for code 160.
-    (aset standard-display-table 160 [32])
-    ;; Most Windows programs send out apostrophe's as \222.  Most X fonts
-    ;; don't contain a character at that position.  Map it to the ASCII
-    ;; apostrophe.
-    (aset standard-display-table 146 [39])
-    ))
+    (standard-display-european-internal)))
 
 (provide 'disp-table)