From 3304a6c4520f8ecb1f8aac2e4d784fc6bb188b65 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 8 Sep 1997 09:59:29 +0000 Subject: [PATCH] (standard-display-european): Arg AUTO specifies coding system for terminal output (if needed). --- lisp/disp-table.el | 13 +++++++++++-- 1 file 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]) -- 2.39.5