;;; woman.el --- browse UN*X manual pages `wo (without) man'
-;; Copyright (C) 2000-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
;; Author: Francis J. Wright <F.J.Wright@qmul.ac.uk>
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
;; Keywords: help, unix
;; Adapted-By: Eli Zaretskii <eliz@gnu.org>
;; Version: 0.551
(substring arg 0 (match-end 1))
arg))))
+(require 'cl-lib)
+
(eval-when-compile ; to avoid compiler warnings
(require 'dired)
- (require 'cl-lib)
(require 'apropos))
-(defun woman-mapcan (fn x)
- "Return concatenated list of FN applied to successive `car' elements of X.
-FN must return a list, cons or nil. Useful for splicing into a list."
- ;; Based on the Standard Lisp function MAPCAN but with args swapped!
- ;; More concise implementation than the recursive one. -- dak
- (apply #'nconc (mapcar fn x)))
-
(defun woman-parse-colon-path (paths)
"Explode search path string PATHS into a list of directory names.
Allow Cygwin colon-separated search paths on Microsoft platforms.
(mapcar 'woman-Cyg-to-Win (woman-parse-man.conf)))
((string-match-p ";" paths)
;; Assume DOS-style path-list...
- (woman-mapcan ; splice list into list
+ (cl-mapcan ; splice list into list
(lambda (x)
(if x
(list x)
(list paths))
(t
;; Assume UNIX/Cygwin-style path-list...
- (woman-mapcan ; splice list into list
+ (cl-mapcan ; splice list into list
(lambda (x)
(mapcar 'woman-Cyg-to-Win
(if x (list x) (woman-parse-man.conf))))
(let ((path-separator ":"))
(parse-colon-path paths)))))
;; Assume host-default-style path-list...
- (woman-mapcan ; splice list into list
+ (cl-mapcan ; splice list into list
(lambda (x) (if x (list x) (woman-parse-man.conf)))
(parse-colon-path (or paths "")))))
(defgroup woman nil
"Browse UNIX manual pages `wo (without) man'."
:tag "WoMan"
+ :link '(custom-manual "(woman) Top")
+ :link '(emacs-commentary-link :tag "Commentary" "woman.el")
:group 'help)
(defcustom woman-show-log nil
(defun woman-default-faces ()
"Set foreground colors of italic and bold faces to their default values."
- (declare (obsolete choose-completion-guess-base-position "23.2"))
+ (declare (obsolete "customize the woman-* faces instead." "24.4"))
(interactive)
(face-spec-set 'woman-italic (face-user-default-spec 'woman-italic))
(face-spec-set 'woman-bold (face-user-default-spec 'woman-bold)))
(defun woman-monochrome-faces ()
"Set foreground colors of italic and bold faces to that of the default face.
This is usually either black or white."
- (declare (obsolete choose-completion-guess-base-position "23.2"))
+ (declare (obsolete "customize the woman-* faces instead." "24.4"))
(interactive)
(set-face-foreground 'woman-italic 'unspecified)
(set-face-foreground 'woman-bold 'unspecified))
;; Process \k escapes BEFORE changing tab width (?):
(goto-char from)
- (woman-mark-horizonal-position)
+ (woman-mark-horizontal-position)
;; Set buffer-local variables:
(setq fill-column woman-fill-column
Each element has the form (KEY VALUE . INC) -- inc may be nil.
Also bound locally in `woman2-roff-buffer'.")
-(defun woman-mark-horizonal-position ()
+(defun woman-mark-horizontal-position ()
"\\kx -- Store current horizontal position in INPUT LINE in register x."
(while (re-search-forward "\\\\k\\(.\\)" nil t)
(goto-char (match-beginning 0))