Improve completion behavior of info-display-manual.

* lisp/info.el (info-display-manual): Add existing Info buffers, whose
files may not be in Info-directory-list, to the completion.
(info--manual-names): New helper function.
This commit is contained in:
Chong Yidong 2012-12-05 14:14:11 +08:00
parent 066f0e09bc
commit 04b14f2b27
2 changed files with 21 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2012-12-05 Chong Yidong <cyd@gnu.org>
* info.el (info-display-manual): Add existing Info buffers, whose
files may not be in Info-directory-list, to the completion.
(info--manual-names): New helper function.
2012-12-05 Glenn Morris <rgm@gnu.org>
* vc/vc-hg.el (vc-hg-resolve-when-done, vc-hg-find-file-hook):

View file

@ -5105,9 +5105,7 @@ Otherwise, visit the manual in a new Info buffer."
(progn
(info-initialize)
(completing-read "Manual name: "
(apply-partially 'Info-read-node-name-2
Info-directory-list
(mapcar 'car Info-suffix-list))
(info--manual-names)
nil t))))
(let ((blist (buffer-list))
(manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)"))
@ -5126,6 +5124,20 @@ Otherwise, visit the manual in a new Info buffer."
(info (Info-find-file manual)
(generate-new-buffer-name "*info*")))))
(defun info--manual-names ()
(let (names)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(and (eq major-mode 'Info-mode)
(stringp Info-current-file)
(push (file-name-sans-extension
(file-name-nondirectory Info-current-file))
names))))
(delete-dups (append (nreverse names)
(apply-partially 'Info-read-node-name-2
Info-directory-list
(mapcar 'car Info-suffix-list))))))
(provide 'info)
;;; info.el ends here