]> git.eshelyaron.com Git - emacs.git/commitdiff
(standard-display-european): Arg AUTO
authorRichard M. Stallman <rms@gnu.org>
Mon, 8 Sep 1997 09:59:29 +0000 (09:59 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 8 Sep 1997 09:59:29 +0000 (09:59 +0000)
specifies coding system for terminal output (if needed).

lisp/disp-table.el

index 788669182d534fc5ad0763858693d24c2c4878d2..bda4802142f047bda5bb47fe467dd0b7285cf8cb 100644 (file)
@@ -187,19 +187,28 @@ for all Emacs buffers, because users who call this function
 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])