summaryrefslogtreecommitdiff
path: root/lisp/man.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/man.el')
-rw-r--r--lisp/man.el17
1 files changed, 15 insertions, 2 deletions
diff --git a/lisp/man.el b/lisp/man.el
index 798e78bbe76..1a6eda13b7f 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -1,6 +1,6 @@
;;; man.el --- browse UNIX manual pages -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1994, 1996-1997, 2001-2017 Free Software
+;; Copyright (C) 1993-1994, 1996-1997, 2001-2018 Free Software
;; Foundation, Inc.
;; Author: Barry A. Warsaw <bwarsaw@cen.com>
@@ -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)