Mercurial > emacs
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])