diff options
Diffstat (limited to 'lisp/man.el')
-rw-r--r-- | lisp/man.el | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/lisp/man.el b/lisp/man.el index bec3bfdbb2e..bd55d7eff06 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -253,7 +253,7 @@ the associated section number." "Regexp that matches the text that precedes the command's name. Used in `bookmark-set' to get the default bookmark name." :version "24.1" - :type 'string :group 'bookmark) + :type 'regexp :group 'bookmark) (defcustom manual-program "man" "Program used by `man' to produce man pages." @@ -836,7 +836,8 @@ POS defaults to `point'." ;; ====================================================================== ;; Top level command and background process sentinel -;; For compatibility with older versions. +;; This alias was originally for compatibility with older versions. +;; Some users got used to having it, so we will not remove it. ;;;###autoload (defalias 'manual-entry 'man) @@ -926,15 +927,18 @@ foo(sec)[, bar(sec) [, ...]] [other stuff] - description" ;; run differently in Man-getpage-in-background, an error ;; here may not necessarily mean that we'll also get an ;; error later. - (ignore-errors - (call-process manual-program nil '(t nil) nil - "-k" (concat (when (or Man-man-k-use-anchor - (string-equal prefix "")) - "^") - prefix)))) - (setq table (Man-parse-man-k))) + (when (eq 0 + (ignore-errors + (call-process + manual-program nil '(t nil) nil + "-k" (concat (when (or Man-man-k-use-anchor + (string-equal prefix "")) + "^") + prefix)))) + (setq table (Man-parse-man-k))))) ;; Cache the table for later reuse. - (setq Man-completion-cache (cons prefix table))) + (when table + (setq Man-completion-cache (cons prefix table)))) ;; The table may contain false positives since the match is made ;; by "man -k" not just on the manpage's name. (if section @@ -1013,10 +1017,9 @@ to auto-complete your input based on the installed manual pages." (completion-ignore-case t) Man-completion-cache ;Don't cache across calls. (input (completing-read - (format "Manual entry%s" - (if (string= default-entry "") - ": " - (format " (default %s): " default-entry))) + (format-prompt "Manual entry" + (and (not (equal default-entry "")) + default-entry)) 'Man-completion-table nil nil nil 'Man-topic-history default-entry))) (if (string= input "") @@ -1396,7 +1399,7 @@ synchronously, PROCESS is the name of the buffer where the manpage command is run. Second argument STRING is the entire string of output." (save-excursion (let ((Man-buffer (process-buffer process))) - (if (null (buffer-name Man-buffer)) ;; deleted buffer + (if (not (buffer-live-p Man-buffer)) ;; deleted buffer (set-process-buffer process nil) (with-current-buffer Man-buffer @@ -1430,7 +1433,7 @@ manpage command." (delete-buff nil) message) - (if (null (buffer-name Man-buffer)) ;; deleted buffer + (if (not (buffer-live-p Man-buffer)) ;; deleted buffer (or (stringp process) (set-process-buffer process nil)) @@ -1508,8 +1511,11 @@ manpage command." (when delete-buff (if (window-live-p (get-buffer-window Man-buffer t)) - (quit-restore-window - (get-buffer-window Man-buffer t) 'kill) + (progn + (quit-restore-window + (get-buffer-window Man-buffer t) 'kill) + ;; Ensure that we end up in the correct window. + (select-window (old-selected-window))) (kill-buffer Man-buffer))) (when message |