summaryrefslogtreecommitdiff
path: root/lisp/disp-table.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/disp-table.el')
-rw-r--r--lisp/disp-table.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/disp-table.el b/lisp/disp-table.el
index 788669182d5..bda4802142f 100644
--- a/lisp/disp-table.el
+++ b/lisp/disp-table.el
@@ -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])