emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 40b33be: MS-Windows followup for batch stdout/stder


From: Eli Zaretskii
Subject: [Emacs-diffs] master 40b33be: MS-Windows followup for batch stdout/stderr output changes
Date: Mon, 01 Jun 2015 15:18:56 +0000

branch: master
commit 40b33be830310726048dddaee3fdfba5c8a3480f
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    MS-Windows followup for batch stdout/stderr output changes
    
    * lisp/international/mule-cmds.el (set-locale-environment): In
    batch mode, use console codepages for keyboard and terminal
    encoding.  (Bug#20545)
---
 lisp/international/mule-cmds.el |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index c8cd76f..474806d 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2688,14 +2688,22 @@ See also `locale-charset-language-names', 
`locale-language-names',
 
     ;; On Windows, override locale-coding-system,
     ;; default-file-name-coding-system, keyboard-coding-system,
-    ;; terminal-coding-system with system codepage.
+    ;; terminal-coding-system with the ANSI or console codepage.
     (when (and (eq system-type 'windows-nt)
                (boundp 'w32-ansi-code-page))
-      (let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
+      (let* ((code-page-coding
+              (intern (format "cp%d" (if noninteractive
+                                         (w32-get-console-codepage)
+                                       w32-ansi-code-page))))
+             (output-coding
+              (if noninteractive
+                  (intern (format "cp%d" (w32-get-console-output-codepage)))
+                code-page-coding)))
        (when (coding-system-p code-page-coding)
+          (or output-coding (setq output-coding code-page-coding))
          (unless frame (setq locale-coding-system code-page-coding))
          (set-keyboard-coding-system code-page-coding frame)
-         (set-terminal-coding-system code-page-coding frame)
+         (set-terminal-coding-system output-coding frame)
          (setq default-file-name-coding-system code-page-coding))))
 
     (when (eq system-type 'darwin)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]