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: tags completion bug Date: Tue, 24 Sep 2002 16:36:59 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1032878358 10079 127.0.0.1 (24 Sep 2002 14:39:18 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 24 Sep 2002 14:39:18 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17tqqK-0002cN-00 for ; Tue, 24 Sep 2002 16:39:16 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17trX8-0002wx-00 for ; Tue, 24 Sep 2002 17:23:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17tqqJ-0001ls-00; Tue, 24 Sep 2002 10:39:15 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17tqoA-0001hL-00 for emacs-devel@gnu.org; Tue, 24 Sep 2002 10:37:02 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17tqo8-0001h4-00 for emacs-devel@gnu.org; Tue, 24 Sep 2002 10:37:02 -0400 Original-Received: from pot.cnuce.cnr.it ([146.48.83.182]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17tqo8-0001gy-00 for emacs-devel@gnu.org; Tue, 24 Sep 2002 10:37:00 -0400 Original-Received: from pot by pot.cnuce.cnr.it with local (Exim 3.35 #1 (Debian)) id 17tqo7-00018D-00 for ; Tue, 24 Sep 2002 16:36:59 +0200 Original-To: Emacs developers X-fingerprint: 4B2 6187 5C3 D6B1 2E31 7666 9DF 2DC9 BE21 6115 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:8145 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:8145 This is a request for opinion. There are two questions: 1) should I change the function etags-tags-completion-table? (NO) 2) should I move the latest etags.c to the RC branch? (YES) ================ 1) Following a bug report, I discovered that tags completion (on the pretest branch) is less than optimal, in that a C definition like this: char **tab_fill(char *str, char delim) { } generates a completion like `**tab_fill', rather than `tab_fill' if you ask for tag completion with TAB after M-.. The etags shipped with the RC branch generates for this an entry like: char **tab_fill(^?0,1129 which is an unnamed entry (an entry for which the tag name is not explicitely specified). The function etags-tags-completion-table, which is used to build the completion table, uses the tag name if present, else it tries to guess a reasonable tag name. For I don't know which reason, it consideres good candidates for a tag name all the characters in "-a-zA-Z0-9_+*$?:". Namely, I am not sure why the asterisk, plus and question mark are there. Does anyone know? Should I change the current behaviour, by excluding asterisk, plus and question mark? This change would cure the observed bug, but could prevent the etags-tags-completion-table from guessing the names of some legitimate tags. ================ 2) However, in the trunk Emacs, this problem is not apparent, because the new etags.c generates a tag entry like this: char **tab_fill(^?tab_fill^A70,1129 which is a named entry with the correct function name, so the completion table is correctly built. The new etags.c, in fact, creates a named tag whenever etags.el would make a mistake, so using the new etags.c cures the problem as well. This means that etags-tags-completion-table will not err on tags files created by the new etags.c, whether it is changed or not, but a change would influence its behaviour when using old tags files. ================ I suggest that nothing be changed on the trunk, and possibly that the new etags.c is installed on the pretest (RC) branch.