From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: generate 1) virtual index and 2) other pages for Info; 3) S-mouse-2: follow link in new window Date: Sun, 23 Sep 2007 02:47:55 -0700 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1190540896 6938 80.91.229.12 (23 Sep 2007 09:48:16 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 23 Sep 2007 09:48:16 +0000 (UTC) To: "Emacs-Devel" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 23 11:48:12 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IZO4O-0008Iv-Pp for ged-emacs-devel@m.gmane.org; Sun, 23 Sep 2007 11:48:09 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IZO4M-00068I-1p for ged-emacs-devel@m.gmane.org; Sun, 23 Sep 2007 05:48:06 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IZO4H-00066m-D8 for emacs-devel@gnu.org; Sun, 23 Sep 2007 05:48:01 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IZO4F-00065g-KO for emacs-devel@gnu.org; Sun, 23 Sep 2007 05:48:00 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IZO4F-00065b-Ei for emacs-devel@gnu.org; Sun, 23 Sep 2007 05:47:59 -0400 Original-Received: from rgminet01.oracle.com ([148.87.113.118]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IZO4F-0003bD-10 for emacs-devel@gnu.org; Sun, 23 Sep 2007 05:47:59 -0400 Original-Received: from rgmgw2.us.oracle.com (rgmgw2.us.oracle.com [138.1.186.111]) by rgminet01.oracle.com (Switch-3.2.4/Switch-3.1.6) with ESMTP id l8N9lu1V027972 for ; Sun, 23 Sep 2007 03:47:56 -0600 Original-Received: from acsmt351.oracle.com (acsmt351.oracle.com [141.146.40.151]) by rgmgw2.us.oracle.com (Switch-3.2.4/Switch-3.2.4) with ESMTP id l8N99TuV023591 for ; Sun, 23 Sep 2007 03:47:56 -0600 Original-Received: from dhcp-amer-whq-csvpn-gw3-141-144-80-168.vpn.oracle.com by acsmt350.oracle.com with ESMTP id 3237298751190540853; Sun, 23 Sep 2007 02:47:33 -0700 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138 X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-Detected-Kernel: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:79561 Archived-At: 1. It would be useful to have an Info command, say bound to `I', that would do for index lookup what `L' (Info-history) does for chronological navigation. You would type a regexp, and it would show you a buffer similar to the `Recently Visited Nodes' buffer of `L'. That buffer would have a list of all index entries that matched your regexp. As in the existing manual indexes, it would have both the index entry (a link) and the name of the node it occurs in. IOW, it would be a virtual index, based on your input. This would be useful because you would be able to simultaneously examine multiple entries that are candidates of interest. Info-index (`i') is great, but it doesn't give you a good picture of all matching entries, and you can only visit them in sequence. Completion shows you all candidates that match your input, but they are all prefix matches, which is not as useful here as a substring or regexp match. I know it helps to allow regexp matching and to show all matches in such a way that you can continue to navigate among them in any order while seeing them all, because Icicles has something similar and it is very handy. Instead of generating a fixed buffer with links as described above, Icicles shows you the matching index entries in *Completions*, but you can continue to see them there as you visit their locations in the manual. I'm not suggesting to do what Icicles does, but to do what `Info-history' does, except with index entries. 2. The same implementation could perhaps be leveraged to let users create their own virtual Info booklets. They would hit some key in Info nodes of interest, and links to those nodes would be saved in an `Info-history'-like buffer for later use. IOW, this would be like being able to save an `Info-history' buffer. But only nodes that you select would be included in the collection (whereas `Info-history' lists all nodes you have visited). Yes, I know that bookmarks offer something similar, but the UI would be a little different and this would be limited to Info nodes. 3. It would also be helpful to bind `S-mouse-2' in Info to a command that follows an Info link in a new window. That way, a user could keep the `L' or the `I' buffer (or a TOC or an index or any other node) open while visiting its links in another window (or frame, with non-nil pop-up-frames). I have used this definition: (defun Info-mouse-follow-nearest-node-new-window (click) "Open the link at the mouse pointer in a new window." (interactive "e") (Info-mouse-follow-nearest-node click t)) ; t no good now But that particular implementation no longer works, because someone over the course of Emacs 22 development removed the optional FORK argument to `Info-follow-nearest-node' and `Info-mouse-follow-nearest-node'. (Why?) Regardless of how it is implemented, it would be useful. You can do the same thing by cloning the buffer and then following a link, but it is particulaly handy to do this with just a mouse click.