diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2018-04-17 23:14:55 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2018-04-17 23:14:55 +0200 |
commit | e3b0dd6bf118c60ba41a09e3ffdce056b2e7c494 (patch) | |
tree | f0f8c6101513fa2175d0e898dc946800fb6d0d28 /lisp/info.el | |
parent | f10fa789ca8f0feff0e85df3624270604ed54dd6 (diff) | |
download | emacs-e3b0dd6bf118c60ba41a09e3ffdce056b2e7c494.tar.gz |
Fix problem in `g' in Info with strings like "(foo)"
* lisp/info.el (Info-find-file): Add a new parameter to avoid
jumping to the directory if the user looks for a filename on the
form "(foo)" that doesn't exist.
(Info-read-node-name-1): Use it to allow completing over strings
like "(foo)" without losing focus (bug#30091).
Diffstat (limited to 'lisp/info.el')
-rw-r--r-- | lisp/info.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/info.el b/lisp/info.el index 8743b449976..0db84fb3dab 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -868,10 +868,13 @@ In standalone mode, \\<Info-mode-map>\\[Info-exit] exits Emacs itself." (forward-line 1) ; does the line after delimiter match REGEXP? (re-search-backward regexp beg t)))) -(defun Info-find-file (filename &optional noerror) +(defun Info-find-file (filename &optional noerror no-pop-to-dir) "Return expanded FILENAME, or t if FILENAME is \"dir\". Optional second argument NOERROR, if t, means if file is not found -just return nil (no error)." +just return nil (no error). + +If NO-POP-TO-DIR, don't try to pop to the info buffer if we can't +find a node." ;; Convert filename to lower case if not found as specified. ;; Expand it. (cond @@ -930,7 +933,8 @@ just return nil (no error)." (if noerror (setq filename nil) ;; If there is no previous Info file, go to the directory. - (unless Info-current-file + (when (and (not no-pop-to-dir) + (not Info-current-file)) (Info-directory)) (user-error "Info file %s does not exist" filename))) filename)))) @@ -1868,7 +1872,7 @@ See `completing-read' for a description of arguments and usage." (lambda (string pred action) (complete-with-action action - (Info-build-node-completions (Info-find-file file1)) + (Info-build-node-completions (Info-find-file file1 nil t)) string pred)) nodename predicate code)))) ;; Otherwise use Info-read-node-completion-table. |