diff options
author | Eli Zaretskii <eliz@gnu.org> | 2017-12-31 18:20:12 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-12-31 18:20:12 +0200 |
commit | 39ca289a7a33d514c2a46f005db4e7173fb7e9f5 (patch) | |
tree | c39c7483c9d506d33428ba2aa873a67b20cd51a4 /lisp/man.el | |
parent | f8240815ea1e44cf0b16552ed3a3676b2dc85787 (diff) | |
download | emacs-39ca289a7a33d514c2a46f005db4e7173fb7e9f5.tar.gz |
Allow customization of decoding of "man" command
* lisp/man.el (Man-coding-system): New defcustom.
(Man-start-calling): Use it, and also pay attention to user
overriding coding-system-for-read. (Bug#29872)
Diffstat (limited to 'lisp/man.el')
-rw-r--r-- | lisp/man.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lisp/man.el b/lisp/man.el index f7b1609c929..3241043bebd 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -268,6 +268,16 @@ Used in `bookmark-set' to get the default bookmark name." :type 'string :group 'man) +;; This is for people who have UTF-8 encoded man pages in non-UTF-8 +;; locales, or who use Cygwin 'man' command from a native MS-Windows +;; build of Emacs. +(defcustom Man-coding-system nil + "Coding-system to decode output from the commands run by `man'. +If this is nil, `man' will use `locale-coding-system'." + :type 'coding-system + :group 'man + :version "26.1") + (defcustom Man-mode-hook nil "Hook run when Man mode is enabled." :type 'hook @@ -1003,7 +1013,10 @@ names or descriptions. The pattern argument is usually an (coding-system-for-write 'raw-text-unix) ;; We must decode the output by a coding system that the ;; system's locale suggests in multibyte mode. - (coding-system-for-read locale-coding-system) + (coding-system-for-read + (or coding-system-for-read ; allow overriding with "C-x RET c" + Man-coding-system + locale-coding-system)) ;; Avoid possible error by using a directory that always exists. (default-directory (if (and (file-directory-p default-directory) |