Mercurial > emacs
changeset 4002:511feb3c2874
* man.el (Man-build-man-command): Don't leave a pipe symbol at the
end of the command list if Man-filter-list is nil.
(Man-default-man-args): Don't write out assq and mapconcat.
(Man-default-man-entry): Don't default to section 2 for C-mode.
Call Man-default-man-args, and let people use
Man-auto-section-alist if this is what they want.
(manual-entry): Call Man-translate-references, instead of writing
it out.
(Man-getpage-in-background): Don't apply Man-default-man-args
here; manual-entry has already run it, and
Man-follow-manual-reference provides the sections itself.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 06 Jul 1993 06:59:31 +0000 |
parents | 20abae0de304 |
children | 49918d6c6dda |
files | lisp/man.el |
diffstat | 1 files changed, 25 insertions(+), 44 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/man.el Tue Jul 06 06:57:49 1993 +0000 +++ b/lisp/man.el Tue Jul 06 06:59:31 1993 +0000 @@ -254,7 +254,7 @@ (defun Man-build-man-command () "Builds the entire background manpage and cleaning command." - (let ((command (concat "man " Man-switches " %s 2>&1 | ")) + (let ((command (concat "man " Man-switches " %s 2>&1")) (flist Man-filter-list)) (while flist (let ((pcom (car (car flist))) @@ -263,11 +263,9 @@ (if (or (not (stringp pcom)) (not (listp pargs))) (error "malformed Man-filter-list.")) - (setq command (concat command pcom + (setq command (concat command " | " pcom (mapconcat '(lambda (phrase) phrase) - pargs " ")))) - (if flist - (setq command (concat command " | " )))) + pargs " "))))) command)) (defun Man-downcase (man-args) @@ -342,29 +340,19 @@ (defun Man-default-man-args (manword) "Build the default man args from MANWORD and buffer's major mode." - (let ((mode major-mode) - (slist Man-auto-section-alist)) - (while (and slist - (not (eq (car (car slist)) mode))) - (setq slist (cdr slist))) - (if (not slist) - manword - (let ((sections (cdr (car slist)))) - (if (not (listp sections)) - (concat sections " " manword) - (let ((manarg "")) - (while sections - (setq manarg (concat manarg " " (car sections) " " manword)) - (setq sections (cdr sections))) - manarg) - ))))) + (let ((sections (cdr (assq major-mode Man-auto-section-alist)))) + (cond + ((null sections) manword) + ((consp sections) + (mapconcat (lambda (n) (concat n " " manword)) sections " ")) + (t + (concat sections " " manword))))) (defun Man-default-man-entry () "Make a guess at a default manual entry. This guess is based on the text surrounding the cursor, and the default section number is selected from `Man-auto-section-alist'." - (let ((default-section nil) - default-title) + (let (default-title) (save-excursion ;; Default man entry title is any word the cursor is on, @@ -383,20 +371,16 @@ ;; section number in default-entry (if (looking-at "[ \t]*([ \t]*[0-9][a-zA-Z]?[ \t]*)") (progn (skip-chars-forward "^0-9") - (setq default-section - (buffer-substring - (point) - (progn - (skip-chars-forward "0-9a-zA-Z") - (point))))) - - ;; Otherwise, assume section number to be 2 if we're - ;; in C code - (and (eq major-mode 'c-mode) - (setq default-section "2"))) - (if default-section - (format "%s %s" default-section default-title) - default-title)))) + (setq default-title + (concat (buffer-substring + (point) + (progn + (skip-chars-forward "0-9a-zA-Z") + (point))) + " " + default-title))) + (setq default-title (Man-default-man-args default-title))) + default-title))) ;; ====================================================================== @@ -421,13 +405,10 @@ (if (string= default-entry "") (error "No man args given.") (setq man-args default-entry))) + ;; Recognize the subject(section) syntax. - (if (string-match "^[ \t]*\\([^( \t]+\\)[ \t]*(\\([^)]+\\))[ \t]*$" - man-args) - (setq man-args - (concat (substring man-args (match-beginning 2) (match-end 2)) - " " - (substring man-args (match-beginning 1) (match-end 1))))) + (setq man-args (Man-translate-references man-args)) + (if Man-downcase-section-letters-p (setq man-args (Man-downcase man-args))) (Man-getpage-in-background man-args (consp arg)) @@ -438,7 +419,7 @@ Optional OVERRIDE-REUSE-P, when non-nil, means to start a background process even if a buffer already exists and `Man-reuse-okay-p' is non-nil." - (let* ((man-args (Man-default-man-args TOPIC)) + (let* ((man-args TOPIC) (bufname (concat "*man " man-args "*")) (buffer (get-buffer bufname))) (if (and Man-reuse-okay-p