changeset 19814:24d0221b94bc

(standard-display-european): Arg AUTO specifies coding system for terminal output (if needed).
author Richard M. Stallman <rms@gnu.org>
date Mon, 08 Sep 1997 09:59:29 +0000
parents 48114d461ac4
children e68cab4f1f70
files lisp/disp-table.el
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/disp-table.el	Mon Sep 08 09:57:37 1997 +0000
+++ b/lisp/disp-table.el	Mon Sep 08 09:59:29 1997 +0000
@@ -187,19 +187,28 @@
 probably want to edit European characters in single-byte mode.
 
 However, if the optional argument AUTO is non-nil, this function
-does not alter `enable-multibyte-characters'."
+does not alter `enable-multibyte-characters'.
+AUTO also specifies, in this case, the coding system for terminal output."
   (interactive "P")
   (if (or (<= (prefix-numeric-value arg) 0)
 	  (and (null arg)
 	       (char-table-p standard-display-table)
 	       ;; Test 161, because 160 displays as a space.
 	       (equal (aref standard-display-table 161) [161])))
-      (standard-display-default 160 255)
+      (progn
+	(standard-display-default 160 255)
+	(unless (eq window-system 'x)
+	  (set-terminal-coding-system nil)))
     ;; If the user does this explicitly,
     ;; turn off multibyte chars for more compatibility.
     (or auto
 	(setq-default enable-multibyte-characters nil))
     (standard-display-8bit 160 255)
+    (unless (eq window-system 'x)
+      ;; 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 (or auto 'latin-1)))
     ;; 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])