Fix encoding of I/O in net-utils.el for MS-Windows. (Bug#19458)

lisp/net/net-utils.el (net-utils-run-program, net-utils-run-simple):
 On MS-Windows, bind coding-system-for-read to the console output
 codepage.
This commit is contained in:
Eli Zaretskii 2015-01-09 11:50:21 +02:00
parent 70f298f88e
commit 1f179ea1ba
2 changed files with 24 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2015-01-09 Eli Zaretskii <eliz@gnu.org>
* net/net-utils.el (net-utils-run-program, net-utils-run-simple):
On MS-Windows, bind coding-system-for-read to the console output
codepage. (Bug#19458)
2015-01-08 Eli Zaretskii <eliz@gnu.org>
* simple.el (line-move-visual): When converting X pixel coordinate

View file

@ -328,7 +328,15 @@ This variable is only used if the variable
(defun net-utils-run-program (name header program args)
"Run a network information program."
(let ((buf (get-buffer-create (concat "*" name "*"))))
(let ((buf (get-buffer-create (concat "*" name "*")))
(coding-system-for-read
;; MS-Windows versions of network utilities output text
;; encoded in the console (a.k.a. "OEM") codepage, which is
;; different from the default system (a.k.a. "ANSI")
;; codepage.
(if (eq system-type 'windows-nt)
(intern (format "cp%d" (w32-get-console-output-codepage)))
coding-system-for-read)))
(set-buffer buf)
(erase-buffer)
(insert header "\n")
@ -352,7 +360,15 @@ This variable is only used if the variable
(when proc
(set-process-filter proc nil)
(delete-process proc)))
(let ((inhibit-read-only t))
(let ((inhibit-read-only t)
(coding-system-for-read
;; MS-Windows versions of network utilities output text
;; encoded in the console (a.k.a. "OEM") codepage, which is
;; different from the default system (a.k.a. "ANSI")
;; codepage.
(if (eq system-type 'windows-nt)
(intern (format "cp%d" (w32-get-console-output-codepage)))
coding-system-for-read)))
(erase-buffer))
(net-utils-mode)
(setq-local net-utils--revert-cmd