From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 05 12:54:11 2013 Received: (at submit) by debbugs.gnu.org; 5 Jan 2013 17:54:11 +0000 Received: from localhost ([127.0.0.1]:45170 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TrXwh-0007SO-GV for submit@debbugs.gnu.org; Sat, 05 Jan 2013 12:54:11 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43400) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TrXwe-0007SJ-LM for submit@debbugs.gnu.org; Sat, 05 Jan 2013 12:54:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TrXwO-0005rV-OC for submit@debbugs.gnu.org; Sat, 05 Jan 2013 12:53:55 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:45787) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TrXwO-0005rR-L0 for submit@debbugs.gnu.org; Sat, 05 Jan 2013 12:53:52 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TrXwM-00075K-6D for bug-gnu-emacs@gnu.org; Sat, 05 Jan 2013 12:53:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TrXwJ-0005rC-PJ for bug-gnu-emacs@gnu.org; Sat, 05 Jan 2013 12:53:50 -0500 Received: from mail-da0-f49.google.com ([209.85.210.49]:60758) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TrXwJ-0005r8-Ir for bug-gnu-emacs@gnu.org; Sat, 05 Jan 2013 12:53:47 -0500 Received: by mail-da0-f49.google.com with SMTP id v40so7955833dad.22 for ; Sat, 05 Jan 2013 09:53:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:from:to:subject:reply-to:date:message-id :mime-version:content-type; bh=oXBKddFkxwWiuy88IQTo3LfIQjOCb63fuv3VjZevnw4=; b=JGtULMz8js+f0n3+GRV1rNCqRDbVlUZQF7q6iQqTytUSYPSv+0YCgGAa1bf0BCjoU3 Uvln4K0ptU8Dnptd/tm0OLWvrRV5CfO9l+lJl5lEgSImHCQhjypTJck7AsUgZrP3b/3k OJIBh8UqWVxtpwa94Rr0SOl1Kgx2V0lp1DwK8RztdHZuIfypwrbbsGLJryioOHcwxGlR t7eIdL6zX7YmpcWSEiqlq23rIJLrt0G1Wq9TVxy2VJ9xfI7M7rb/IT1ApUX0vEGM00Fh menVqfrL+J1YKm3ZYeHDk/tqMjcSIOnLk5V4kpyfPxaGBox2KXE0lqFivj40RXx4uAmH ckvg== X-Received: by 10.68.237.167 with SMTP id vd7mr173454827pbc.161.1357408426474; Sat, 05 Jan 2013 09:53:46 -0800 (PST) Received: from kimr-e6410 (static-50-53-21-49.bvtn.or.frontiernet.net. [50.53.21.49]) by mx.google.com with ESMTPS id ai8sm34408440pbd.14.2013.01.05.09.53.44 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 05 Jan 2013 09:53:45 -0800 (PST) From: emacs18@gmail.com From: Richard Kim To: bug-gnu-emacs@gnu.org Subject: 24.3.50; info node name completion busted Date: Sat, 05 Jan 2013 09:53:38 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.2 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: emacs18@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.0 (----) I use latest bzr trunk emacs that I compiled on linux. Following is something I have done going back to emacs 18; launch emacs, start info brower via C-h i, then type "g" to call Info-goto-node, type "(emacs)" followed by RETURN. Above no longer works. Why? Because we now have to use proper info node name, i.e., I now have to type "(emacs)Top" instead of "(emacs)". This is quite annoying to me. IMHO a feature that has been around for over 25 years is now busted. This bug was introduced by Juri Linkov on Dec 27, 2012 via trunk change set 11354. The difff chunk in question is shown below. I think this should be changed so that node names such as "(emacs)" is allowed and interpreted same as if it was "(emacs)Top" as emacs has done for over 25 years. === modified file 'lisp/info.el' --- lisp/info.el 2012-12-08 23:12:08 +0000 +++ lisp/info.el 2012-12-27 20:42:02 +0000 @@ -1771,12 +1775,20 @@ (substring string 1) predicate code)) - ;; If a file name was given, then any node is fair game. - ((string-match "\\`(" string) - (cond - ((eq code nil) string) - ((eq code t) nil) - (t t))) + ;; If a file name was given, complete nodes in the file. + ((string-match "\\`(\\([^)]+\\))" string) + (let ((file0 (match-string 0 string)) + (file1 (match-string 1 string)) + (node (substring string (match-end 0)))) + (completion-table-with-context + file0 + (apply-partially + (lambda (string pred action) + (complete-with-action + action + (Info-build-node-completions (Info-find-file file1)) + string pred))) + node predicate code))) ;; Otherwise use Info-read-node-completion-table. (t (complete-with-action code Info-read-node-completion-table string predicate)))) From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 05 17:53:07 2013 Received: (at 13365) by debbugs.gnu.org; 5 Jan 2013 22:53:07 +0000 Received: from localhost ([127.0.0.1]:46379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Trcby-00040V-Oy for submit@debbugs.gnu.org; Sat, 05 Jan 2013 17:53:07 -0500 Received: from ps18281.dreamhost.com ([69.163.218.105]:54554 helo=ps18281.dreamhostps.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Trcbv-00040Q-Cr for 13365@debbugs.gnu.org; Sat, 05 Jan 2013 17:53:06 -0500 Received: from localhost (ps18281.dreamhostps.com [69.163.218.105]) by ps18281.dreamhostps.com (Postfix) with ESMTP id C4F1F2019C7A22; Sat, 5 Jan 2013 14:52:46 -0800 (PST) From: Juri Linkov To: emacs18@gmail.com Subject: Re: bug#13365: 24.3.50; info node name completion busted Organization: JURTA References: Date: Sun, 06 Jan 2013 00:39:49 +0200 In-Reply-To: (emacs's message of "Sat, 05 Jan 2013 09:53:38 -0800") Message-ID: <877gnrfe28.fsf@mail.jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13365 Cc: 13365@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > Following is something I have done going back to emacs 18; launch > emacs, start info brower via C-h i, then type "g" to call > Info-goto-node, type "(emacs)" followed by RETURN. > > Above no longer works. Why? Thanks for the report. This change was a result of the discussion in http://debbugs.gnu.org/12456 > I think this should be changed so that node names such as "(emacs)" is > allowed and interpreted same as if it was "(emacs)Top" as emacs has > done for over 25 years. I agree there is no reason to not allow empty node names to be interpreted as "Top", despite the fact that this feature is not documented anywhere and has been available for years by mere chance (note the phrase "any node is fair game" in the old comment). This could be improved by the patch below that will also legitimate this feature in the docstring of `Info-read-node-name' and in the Info reader manual. BTW, do you think that `g RET' (without specifying a filename) should also go to the Top node of the current Info file? Currently it just recursively repeats the same query that is not quite standard behavior for the minibuffer. === modified file 'lisp/info.el' --- lisp/info.el 2013-01-03 00:36:36 +0000 +++ lisp/info.el 2013-01-05 22:39:39 +0000 @@ -1712,7 +1712,9 @@ (defun Info-goto-node (nodename &optiona If NODENAME is of the form (FILENAME)NODENAME, the node is in the Info file FILENAME; otherwise, NODENAME should be in the current Info file (or one of its sub-files). -Completion is available, but only for node names in the current Info file. +Completion is available for node names in the current Info file as well as +in the Info file FILENAME after the closing parenthesis in (FILENAME). +Empty NODENAME in (FILENAME) defaults to the node `Top'. If FORK is non-nil (interactively with a prefix arg), show the node in a new Info buffer. If FORK is a string, it is the name to use for the new buffer." @@ -1802,6 +1804,9 @@ (defun Info-read-node-name-1 (string pre (let ((file0 (match-string 0 string)) (file1 (match-string 1 string)) (node (substring string (match-end 0)))) + (if (and (equal node "") (eq code 'lambda)) + ;; Empty node name is permitted that means "Top". + t (completion-table-with-context file0 (apply-partially @@ -1810,7 +1815,7 @@ (defun Info-read-node-name-1 (string pre action (Info-build-node-completions (Info-find-file file1)) string pred))) - node predicate code))) + node predicate code)))) ;; Otherwise use Info-read-node-completion-table. (t (complete-with-action code Info-read-node-completion-table string predicate)))) @@ -1819,7 +1824,9 @@ (defun Info-read-node-name-1 (string pre (defun Info-read-node-name (prompt) "Read an Info node name with completion, prompting with PROMPT. A node name can have the form \"NODENAME\", referring to a node -in the current Info file, or \"(FILENAME)NODENAME\"." +in the current Info file, or \"(FILENAME)NODENAME\", referring to +a node in FILENAME. \"(FILENAME)\" is a short format to go to the +node `Top' in FILENAME." (let* ((completion-ignore-case t) (Info-read-node-completion-table (Info-build-node-completions)) (nodename (completing-read prompt 'Info-read-node-name-1 nil t))) === modified file 'doc/misc/info.texi' --- doc/misc/info.texi 2013-01-01 09:11:05 +0000 +++ doc/misc/info.texi 2013-01-05 22:39:36 +0000 @@ -1079,7 +1079,8 @@ (@pxref{Emacs Info Variables}). node name by putting it at the front, in parentheses. Thus, @kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is the node @samp{Top} in the Info file @file{dir}. Likewise, -@kbd{g(emacs)Top@key{RET}} goes to the top node of the Emacs manual. +@kbd{g(emacs)Top@key{RET}} or just @kbd{g(emacs)@key{RET}} goes to the +top node of the Emacs manual. The node name @samp{*} specifies the whole file. So you can look at all of the current file by typing @kbd{g*@key{RET}} or all of any From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 05 22:58:57 2013 Received: (at 13365) by debbugs.gnu.org; 6 Jan 2013 03:58:57 +0000 Received: from localhost ([127.0.0.1]:46838 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TrhNx-0000Mc-1J for submit@debbugs.gnu.org; Sat, 05 Jan 2013 22:58:57 -0500 Received: from mail-da0-f45.google.com ([209.85.210.45]:64552) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TrhNt-0000MT-V4 for 13365@debbugs.gnu.org; Sat, 05 Jan 2013 22:58:55 -0500 Received: by mail-da0-f45.google.com with SMTP id w4so8083450dam.4 for <13365@debbugs.gnu.org>; Sat, 05 Jan 2013 19:58:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:from:to:cc:subject:references:reply-to:date :in-reply-to:message-id:user-agent:mime-version:content-type; bh=W6Zno68wfkRqAFG32dGbFRi6Pn7xhn+SycWu+msuvw8=; b=jgXqr25d4mtYc8SiIa6JTHPdsIutyS+ydkLw5G1hS4HkT4g1MiWmaq9G6oBRFibBHB no5/Ag04XM4FDsJDMyE5E12mqmE+j4qbc5R41shmelGcNOk1wWd+EUf9aApfq1Sbdwla SL5nztKfkXgNPKOSz0djWq5Pv+PxaktvnktSMjyecS4deelteNUxe6/YQGuTL48tzagj uvYcS6u4DvHG6GqqwgTYuhs4CF7dEPc8+kh9wtcBSC3Ldjeq6RNgvYv15Bx/AlR/mR0u C86GHNAHCT1EkFiUGQ/bMf10gEbRkGn30MrvwtnYLTxBbkgm37lhZSev5V6ZtMjUNMTy z2jA== X-Received: by 10.68.131.73 with SMTP id ok9mr177196719pbb.83.1357444717494; Sat, 05 Jan 2013 19:58:37 -0800 (PST) Received: from kimr-e6410 (static-50-53-21-49.bvtn.or.frontiernet.net. [50.53.21.49]) by mx.google.com with ESMTPS id w5sm36119285pax.28.2013.01.05.19.58.35 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 05 Jan 2013 19:58:36 -0800 (PST) From: emacs18@gmail.com From: Richard Kim To: Juri Linkov Subject: Re: bug#13365: 24.3.50; info node name completion busted References: <877gnrfe28.fsf@mail.jurta.org> Date: Sat, 05 Jan 2013 19:58:35 -0800 In-Reply-To: <877gnrfe28.fsf@mail.jurta.org> (Juri Linkov's message of "Sun, 06 Jan 2013 00:39:49 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13365 Cc: 13365@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: emacs18@gmail.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.3 (--) Juri Linkov writes: > BTW, do you think that `g RET' (without specifying a filename) > should also go to the Top node of the current Info file? > Currently it just recursively repeats the same query > that is not quite standard behavior for the minibuffer. I'm not sure. To me `g RET' does not make sense. The user has not made his/her selection so I think we should disallow it or just force the user to make a valid selection. I don't know what the "standard behavior" is these days, so I'll trust that you will know what is best. I tested the change of list/info.el that you provded. It seems to do exactly what I hoped it would do. Thanks for such a quick fix. Thanks also for taking time to improve the manual. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 07 19:13:23 2013 Received: (at 13365-done) by debbugs.gnu.org; 8 Jan 2013 00:13:23 +0000 Received: from localhost ([127.0.0.1]:55768 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TsMok-0005TX-1u for submit@debbugs.gnu.org; Mon, 07 Jan 2013 19:13:23 -0500 Received: from ps18281.dreamhost.com ([69.163.218.105]:36333 helo=ps18281.dreamhostps.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TsMoh-0005TP-Ra for 13365-done@debbugs.gnu.org; Mon, 07 Jan 2013 19:13:21 -0500 Received: from localhost (ps18281.dreamhostps.com [69.163.218.105]) by ps18281.dreamhostps.com (Postfix) with ESMTP id 438482017CD71C; Mon, 7 Jan 2013 16:13:17 -0800 (PST) From: Juri Linkov To: emacs18@gmail.com Subject: Re: bug#13365: 24.3.50; info node name completion busted Organization: JURTA References: <877gnrfe28.fsf@mail.jurta.org> Date: Tue, 08 Jan 2013 02:12:34 +0200 In-Reply-To: (emacs's message of "Sat, 05 Jan 2013 19:58:35 -0800") Message-ID: <87pq1gedn1.fsf@mail.jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13365-done Cc: 13365-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 0.8 (/) > I tested the change of list/info.el that you provded. > It seems to do exactly what I hoped it would do. > Thanks for such a quick fix. > Thanks also for taking time to improve the manual. Thanks for confirming the fix. It is installed now and bug#13365 is closed. From unknown Sun Jun 22 00:24:31 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 05 Feb 2013 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator