From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Francesco Potorti` Newsgroups: gmane.emacs.devel Subject: Re: tags mode completion table doesn't work with multiple tables Date: Mon, 28 Apr 2003 09:32:16 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <200304252218.h3PMIca01992@julius.internal.avlsi.com> NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1051515386 8847 80.91.224.249 (28 Apr 2003 07:36:26 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 28 Apr 2003 07:36:26 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Apr 28 09:36:23 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19A3BX-0002IT-00 for ; Mon, 28 Apr 2003 09:36:23 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19A3Jb-0000de-00 for ; Mon, 28 Apr 2003 09:44:43 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19A3C3-0007zQ-05 for emacs-devel@quimby.gnus.org; Mon, 28 Apr 2003 03:36:55 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 19A3A7-0007ER-00 for emacs-devel@gnu.org; Mon, 28 Apr 2003 03:34:55 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 19A39c-00079Q-00 for emacs-devel@gnu.org; Mon, 28 Apr 2003 03:34:25 -0400 Original-Received: from pot.cnuce.cnr.it ([146.48.83.182]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19A37Z-0006D1-00; Mon, 28 Apr 2003 03:32:18 -0400 Original-Received: from pot by pot.cnuce.cnr.it with local (Exim 3.36 #1 (Debian)) id 19A37Y-0005uN-00; Mon, 28 Apr 2003 09:32:16 +0200 Original-To: rms@gnu.org In-reply-to: (rms@gnu.org) X-fingerprint: 4B2 6187 5C3 D6B1 2E31 7666 9DF 2DC9 BE21 6115 Original-cc: frederik@ugcs.caltech.edu X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:13505 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:13505 >I am not quite sure how etags.el handles multiple tags tables nowadays. >Will it search for your tag in all of them, or do you have to choose >one with visit-tags-table? I append the docs about this. In short, you choose one table, but if one is already chosen, you can add one more to the list. ================================================================ Selecting a Tags Table ---------------------- Emacs has at any time one "selected" tags table, and all the commands for working with tags tables use the selected one. To select a tags table, type `M-x visit-tags-table', which reads the tags table file name as an argument. The name `TAGS' in the default directory is used as the default file name. All this command does is store the file name in the variable `tags-file-name'. Emacs does not actually read in the tags table contents until you try to use them. Setting this variable yourself is just as good as using `visit-tags-table'. The variable's initial value is `nil'; that value tells all the commands for working with tags tables that they must ask for a tags table file name to use. Using `visit-tags-table' when a tags table is already loaded gives you a choice: you can add the new tags table to the current list of tags tables, or start a new list. The tags commands use all the tags tables in the current list. If you start a new list, the new tags table is used _instead_ of others. If you add the new table to the current list, it is used _as well as_ the others. When the tags commands scan the list of tags tables, they don't always start at the beginning of the list; they start with the first tags table (if any) that describes the current file, proceed from there to the end of the list, and then scan from the beginning of the list until they have covered all the tables in the list. You can specify a precise list of tags tables by setting the variable `tags-table-list' to a list of strings, like this: (setq tags-table-list '("~/emacs" "/usr/local/lib/emacs/src")) This tells the tags commands to look at the `TAGS' files in your `~/emacs' directory and in the `/usr/local/lib/emacs/src' directory. The order depends on which file you are in and which tags table mentions that file, as explained above. Do not set both `tags-file-name' and `tags-table-list'.