Subject: bug#10771: TAB completion for info-display-manual

From: Eli Zaretskii <[email-masked]>
Date: Thu, 09 Feb 2012 20:42:17 +0200

> From: Juri Linkov <[email-masked]>
> Date: Thu, 09 Feb 2012 11:28:18 +0200
> Cc: [email-masked]
> 
> > M-x info-display-manual RET em TAB
> >
> > I hoped this would offer completion over the manuals in my INFOPATH, but
> > it just inserts a literal tab.
> 
> This patch offers completion:
> 
> === modified file 'lisp/info.el'
> --- lisp/info.el	2012-01-25 17:54:01 +0000
> +++ lisp/info.el	2012-02-09 09:27:10 +0000
> @@ -4984,7 +4984,13 @@ (defun Info-bookmark-jump (bmk)
>  ;;;###autoload
>  (defun info-display-manual (manual)
>    "Go to Info buffer that displays MANUAL, creating it if none already exists."
> -  (interactive "sManual name: ")
> +  (interactive
> +   (list
> +    (completing-read "Manual name: "
> +		     (apply-partially 'Info-read-node-name-2
> +				      Info-directory-list
> +				      (mapcar 'car Info-suffix-list))
> +		     nil t)))
>    (let ((blist (buffer-list))
>  	(manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)"))
>  	(case-fold-search t)

Thanks, but this is wrong: it should offer completion only on Info
buffers that already exist in the current session.  Completion on
manuals installed on the system is perhaps for "C-u C-h i" or some
variation of it.

The purpose of this command is to assist with switching between
manuals that are already loaded, not in adding others.