]> git.eshelyaron.com Git - emacs.git/commitdiff
Use prefix argument in `info-display-manual'
authorFilipp Gunbin <fgunbin@fastmail.fm>
Wed, 31 Dec 2014 14:14:33 +0000 (17:14 +0300)
committerFilipp Gunbin <fgunbin@fastmail.fm>
Wed, 31 Dec 2014 14:15:36 +0000 (17:15 +0300)
* lisp/info.el (info-display-manual): Limit the completion alternatives
to currently visited manuals if prefix argument is non-nil.

CONTRIBUTE
doc/misc/info.texi
etc/NEWS
lisp/ChangeLog
lisp/info.el

index 0e019d31597247b9e8bc41a1277cb138f3ffce7e..5cf015fe11a84d7d4f656f08880023a7d0181465 100644 (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.
 
index a3a14a35b80d92a174f630b9dc399a2ca15c2cec..0e2e64f2356dafd387418ac0c45029d9352af616 100644 (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
index ae0cb70c83362b662fa7bc2f5267572083ec39de..ec5fe0d9061847180b26f23f105c42e288feddc6 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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.
 
index 4203e05aed898f6e4fb5d1863ea7e9c32515bcd1..acafe24674a79040031afae896e59ae2fad62748 100644 (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.
index 7c4d7f3323155ef51ce2f29ca2ed7c2c951e0cca..33e982d3a773fc2b6e2a3f818e53486fcb9e6aa3 100644 (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)