Use prefix argument in `info-display-manual'

* lisp/info.el (info-display-manual): Limit the completion alternatives
to currently visited manuals if prefix argument is non-nil.
This commit is contained in:
Filipp Gunbin 2014-12-31 17:14:33 +03:00
parent 25346768fa
commit f588156cbc
5 changed files with 31 additions and 13 deletions

View file

@ -180,10 +180,12 @@ by following links from http://savannah.gnu.org/mail/?group=emacs .
Any change that matters to end-users should have an entry in etc/NEWS.
Think about whether your change requires updating the documentation
(both manuals and doc-strings). If you know it does not, mark the NEWS
entry with "---". If you know that *all* the necessary documentation
updates have been made, mark the entry with "+++". Otherwise do not mark it.
Doc-strings should be updated together with the code.
Think about whether your change requires updating the manuals. If you
know it does not, mark the NEWS entry with "---". If you know
that *all* the necessary documentation updates have been made, mark
the entry with "+++". Otherwise do not mark it.
** Understanding Emacs Internals.

View file

@ -1151,7 +1151,10 @@ switches to the buffer @file{*info*<2>}, creating it if necessary.
If you have created many Info buffers in Emacs, you might find it
difficult to remember which buffer is showing which manual. You can
use the command @kbd{M-x info-display-manual} to show an Info manual
by name, reusing an existing buffer if there is one.
by name, reusing an existing buffer if there is one. When given a
prefix argument, this command limits the completion alternatives to
currently visited info files, thus giving a convenient way to switch
between several manuals.
@node Emacs Info Variables
@section Emacs Info-mode Variables

View file

@ -338,6 +338,11 @@ The remainder were:
---
** `Info-fontify-maximum-menu-size' can be t for no limit.
+++
** `info-display-manual' can now be given a prefix argument which (any
non-nil value) directs the command to limit the completion
alternatives to currently visited manuals.
---
** ntlm.el has support for NTLM2.

View file

@ -1,3 +1,8 @@
2014-12-31 Filipp Gunbin <fgunbin@fastmail.fm>
* info.el (info-display-manual): Limit the completion alternatives
to currently visited manuals if prefix argument is non-nil.
2014-12-30 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (semantic): Simplify.

View file

@ -5277,13 +5277,15 @@ type returned by `Info-bookmark-make-record', which see."
(defun info-display-manual (manual)
"Display an Info buffer displaying MANUAL.
If there is an existing Info buffer for MANUAL, display it.
Otherwise, visit the manual in a new Info buffer."
Otherwise, visit the manual in a new Info buffer. In interactive
use, a prefix argument directs this command to limit the
completion alternatives to currently visited manuals."
(interactive
(list
(progn
(info-initialize)
(completing-read "Manual name: "
(info--manual-names)
(info--manual-names current-prefix-arg)
nil t))))
(let ((blist (buffer-list))
(manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)"))
@ -5302,7 +5304,7 @@ Otherwise, visit the manual in a new Info buffer."
(info (Info-find-file manual)
(generate-new-buffer-name "*info*")))))
(defun info--manual-names ()
(defun info--manual-names (visited-only)
(let (names)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
@ -5313,11 +5315,12 @@ Otherwise, visit the manual in a new Info buffer."
(file-name-nondirectory Info-current-file))
names))))
(delete-dups (append (nreverse names)
(all-completions
""
(apply-partially 'Info-read-node-name-2
Info-directory-list
(mapcar 'car Info-suffix-list)))))))
(when (not visited-only)
(all-completions
""
(apply-partially 'Info-read-node-name-2
Info-directory-list
(mapcar 'car Info-suffix-list))))))))
(provide 'info)