(standard-display-european): Arg AUTO

specifies coding system for terminal output (if needed).
This commit is contained in:
Richard M. Stallman
1997-09-08 09:59:29 +00:00
parent 35ae8ec829
commit 3304a6c452

View 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])