From: Noam Postavsky Date: Fri, 25 Sep 2020 11:39:24 +0000 (+0200) Subject: Make the Man completion code work better if man -k fails X-Git-Tag: emacs-28.0.90~5892 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9fd9c9c2c00a95640b32b63dc20041ec6d512f0b;p=emacs.git Make the Man completion code work better if man -k fails * lisp/man.el (Man-completion-table): Check the return code for "man -k" and assume it failed if there's a non-zero exit code (bug#16722). --- diff --git a/lisp/man.el b/lisp/man.el index 5ee60cae9f3..bd55d7eff06 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -927,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