From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.bugs Subject: bug#10771: TAB completion for info-display-manual Date: Mon, 03 Dec 2012 14:57:14 +0800 Message-ID: <87y5hf1v3p.fsf@gnu.org> References: <87haz0gxuf.fsf@mail.jurta.org> <83obt7alx2.fsf@gnu.org> <87a9txlzqa.fsf@gnu.org> <8338zotlhq.fsf@gnu.org> <87boecqjzz.fsf@mail.jurta.org> <83obicrvgz.fsf@gnu.org> <87boeci0bj.fsf@mail.jurta.org> <83mwxvst4d.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1354517866 28034 80.91.229.3 (3 Dec 2012 06:57:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Dec 2012 06:57:46 +0000 (UTC) Cc: 10771@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 03 07:57:58 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TfPyX-0007vi-Vw for geb-bug-gnu-emacs@m.gmane.org; Mon, 03 Dec 2012 07:57:58 +0100 Original-Received: from localhost ([::1]:45543 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TfPyL-0007pQ-VD for geb-bug-gnu-emacs@m.gmane.org; Mon, 03 Dec 2012 01:57:45 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:59304) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TfPyJ-0007pG-OB for bug-gnu-emacs@gnu.org; Mon, 03 Dec 2012 01:57:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TfPyI-0006uH-Nc for bug-gnu-emacs@gnu.org; Mon, 03 Dec 2012 01:57:43 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40495) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TfPyI-0006uD-K9 for bug-gnu-emacs@gnu.org; Mon, 03 Dec 2012 01:57:42 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TfQ0Y-0003mw-Op for bug-gnu-emacs@gnu.org; Mon, 03 Dec 2012 02:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 03 Dec 2012 07:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10771 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 10771-submit@debbugs.gnu.org id=B10771.135451799214519 (code B ref 10771); Mon, 03 Dec 2012 07:00:02 +0000 Original-Received: (at 10771) by debbugs.gnu.org; 3 Dec 2012 06:59:52 +0000 Original-Received: from localhost ([127.0.0.1]:50746 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TfQ0K-0003m4-8V for submit@debbugs.gnu.org; Mon, 03 Dec 2012 01:59:52 -0500 Original-Received: from mail-pb0-f44.google.com ([209.85.160.44]:40012) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TfQ0H-0003lw-4L for 10771@debbugs.gnu.org; Mon, 03 Dec 2012 01:59:46 -0500 Original-Received: by mail-pb0-f44.google.com with SMTP id uo1so1678969pbc.3 for <10771@debbugs.gnu.org>; Sun, 02 Dec 2012 22:57:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=bB2gDjgVESCH7xDDfCYJMZHo0iulNyUQgJueeyjUNVs=; b=dapTEkQiJIn9QX4uaZbm0oQjeAb7sVDs5q76TP1zfpHOWiFAfmZG/DGUVA0UGRx1Fq zF/MLZsAN7cycG10pg4jZ1gzqgBCSC34/YWcjSxN6fgnRqD27l1/wFQNE0FHjgA713AY m3yRIttOz7/+wl/efwBLneRRUCdbqT1e23Lm/cspCU33Spx2t8xvzyRL+3LU0I+wgHnZ 0LeXNuu3IJlWnRxSQJIFQujxNVHCUrorNTY3aklszV21sXN8N36eQWLwGPkbZn+RqOVm Uf8K1/CpfqVtvELePEkLKwgglDhpy+5ng0XN8+DSxeyDaep2d1CKh+30Aime1Q60NSAz F7Fg== Original-Received: by 10.68.137.131 with SMTP id qi3mr26576243pbb.114.1354517842167; Sun, 02 Dec 2012 22:57:22 -0800 (PST) Original-Received: from ulysses ([155.69.16.129]) by mx.google.com with ESMTPS id kc4sm7567158pbc.23.2012.12.02.22.57.18 (version=SSLv3 cipher=OTHER); Sun, 02 Dec 2012 22:57:20 -0800 (PST) In-Reply-To: <83mwxvst4d.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 03 Dec 2012 05:37:54 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:67824 Archived-At: Eli Zaretskii writes: >> At least this is not worse than the original command that reads a >> manual name without completion. > > I didn't say it was worse. I asked how it was better. How about adding existing Info buffers' manual names to the completion table too, like the following? === modified file 'lisp/info.el' *** lisp/info.el 2012-12-02 06:41:22 +0000 --- lisp/info.el 2012-12-03 06:55:15 +0000 *************** *** 5105,5113 **** (progn (info-initialize) (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 "\\(\\.\\|\\'\\)")) --- 5105,5111 ---- (progn (info-initialize) (completing-read "Manual name: " ! (info--manual-names) nil t)))) (let ((blist (buffer-list)) (manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)")) *************** *** 5126,5131 **** --- 5124,5143 ---- (info (Info-find-file manual) (generate-new-buffer-name "*info*"))))) + (defun info--manual-names () + (let (names) + (dolist (buffer (buffer-list)) + (with-current-buffer buffer + (when (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 names + (apply-partially 'Info-read-node-name-2 + Info-directory-list + (mapcar 'car Info-suffix-list)))))) + (provide 'info) ;;; info.el ends here