From: Richard M. Stallman Date: Sun, 3 May 1998 03:48:05 +0000 (+0000) Subject: (command-line): When choosing a language from LANG, X-Git-Tag: emacs-20.3~1161 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=48f0011498267b1e10a51c3b9671b002c5c0ac3b;p=emacs.git (command-line): When choosing a language from LANG, call set-language-environment in unibyte and multibyte mode. Don't call standard-display-european; instead, call standard-display-european-internal and set-terminal-coding-system. But do them only for latin-1 ... latin-5. --- diff --git a/lisp/startup.el b/lisp/startup.el index 95f4696ab7e..ee7227aa1e9 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -483,14 +483,19 @@ from being initialized." (if (equal "5" which) (setq which "9")) (setq charset (concat "latin-" which)) - (if (string-match "latin-[12345]" charset) - (if default-enable-multibyte-characters - ;; Set up for this character set in multibyte mode. - (set-language-environment charset) - ;; Set up for this character set in unibyte mode. - (load charset))) - (standard-display-european t (and default-enable-multibyte-characters - charset))))) + (when (string-match "latin-[12345]" charset) + ;; Set up for this character set. + ;; This is now the right way to do it + ;; for both unibyte and multibyte modes. + (set-language-environment charset) + (unless (or noninteractive (eq window-system 'x)) + ;; Send those codes literally to a non-X terminal. + (when default-enable-multibyte-characters + ;; If this is nil, we are using single-byte characters, + ;; so the terminal coding system is irrelevant. + (set-terminal-coding-system + (intern (downcase charset))))) + (standard-display-european-internal))))) ;;! This has been commented out; I currently find the behavior when ;;! split-window-keep-point is nil disturbing, but if I can get used