diff options
-rw-r--r-- | lisp/info.el | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lisp/info.el b/lisp/info.el index 67d27c78988..2757ed57826 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -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)))) |