]> git.eshelyaron.com Git - emacs.git/commitdiff
Make Info completion more robust
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 6 May 2021 09:24:39 +0000 (11:24 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 6 May 2021 09:24:39 +0000 (11:24 +0200)
* lisp/info.el (Info-build-node-completions): Don't signal an
error if there are no nodes in the file we're computing
completions over (bug#47771).

lisp/info.el

index 67d27c789884d7867c2033fe5baf383745b92389..2757ed578265266a41afbf250f50b92380b95c6d 100644 (file)
@@ -1882,10 +1882,17 @@ the Top node in FILENAME."
       (or (cdr (assoc filename Info-file-completions))
          (with-temp-buffer
            (Info-mode)
-           (Info-goto-node (format "(%s)Top" filename))
-           (Info-build-node-completions-1)
-           (push (cons filename Info-current-file-completions) Info-file-completions)
-           Info-current-file-completions))
+            (condition-case nil
+               (Info-goto-node (format "(%s)Top" filename))
+              ;; `Info-goto-node' signals a `user-error' when there
+              ;; are no nodes in the file in question (for instance,
+              ;; if it's not actually an Info file).
+              (user-error nil)
+              (:success
+              (Info-build-node-completions-1)
+              (push (cons filename Info-current-file-completions)
+                     Info-file-completions)
+              Info-current-file-completions))))
     (or Info-current-file-completions
        (Info-build-node-completions-1))))