From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Date: Sat, 30 May 2015 23:04:24 +0300 Message-ID: <556A17C8.2030300@yandex.ru> References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> <83twv31jzg.fsf@gnu.org> <83pp5r1hdx.fsf@gnu.org> <83mw0v1e5n.fsf@gnu.org> <83lhgczo16.fsf@gnu.org> <55639175.9090005@yandex.ru> <83fv6kysjf.fsf@gnu.org> <556447EF.3050103@yandex.ru> <83bnh7z8c5.fsf@gnu.org> <5564C2C7.5050909@yandex.ru> <837frvywfn.fsf@gnu.org> <55650812.60909@yandex.ru> <83mw0muv5m.fsf@gnu.org> <5569AD7F.2000402@yandex.ru> <83iobautar.fsf@gnu.org> <5569BE61.7010200@yandex.ru> <83a8wmuog6.fsf@gnu.org> <5569FDCA.4030801@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1433016325 13785 80.91.229.3 (30 May 2015 20:05:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 30 May 2015 20:05:25 +0000 (UTC) Cc: 20629@debbugs.gnu.org To: Francesco =?UTF-8?Q?Potort=C3=AC?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat May 30 22:05:13 2015 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 1Yyn0J-0005os-Jk for geb-bug-gnu-emacs@m.gmane.org; Sat, 30 May 2015 22:05:11 +0200 Original-Received: from localhost ([::1]:40385 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yyn0I-0005of-Pt for geb-bug-gnu-emacs@m.gmane.org; Sat, 30 May 2015 16:05:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yyn0F-0005m1-8c for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 16:05:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yyn0C-0001QW-2T for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 16:05:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yyn0B-0001PF-VX for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 16:05:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Yyn0B-0007Xl-4j for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 16:05:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 May 2015 20:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20629 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20629-submit@debbugs.gnu.org id=B20629.143301627628950 (code B ref 20629); Sat, 30 May 2015 20:05:02 +0000 Original-Received: (at 20629) by debbugs.gnu.org; 30 May 2015 20:04:36 +0000 Original-Received: from localhost ([127.0.0.1]:33780 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yymzj-0007Wr-8t for submit@debbugs.gnu.org; Sat, 30 May 2015 16:04:36 -0400 Original-Received: from mail-wi0-f182.google.com ([209.85.212.182]:36351) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yymzg-0007Wa-Qm for 20629@debbugs.gnu.org; Sat, 30 May 2015 16:04:33 -0400 Original-Received: by wivl4 with SMTP id l4so44130759wiv.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 13:04:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=FjGrso1gpTzsWUlQY+dvD3QKspRlvBEEs6docOcuTuI=; b=tio55j3RDOPCsmPp7QBrsRuvc5qqV27DUUBix72J1ViBQSQ4iMCZyXJo1O9dYHjBEF /i0vBGuYxq56eKy6SCr9AXuWY7gsX5GLS/NPVSHH1P/8tdhv45XqgboAxQYoGfVuMRl9 8A+4I1PKXByk4L7qqkCLobmfaRKkpXnFSGlO54hJ2XJHrGtr72X2dmoxkzllsZV8EqF5 Y0dlGo1CgkE8YvVzC3iA65IVfKrT2AETYyYkB8ZTLlZbm/mz0p93xJ3jG8HoRFOPlgDw F7/suwdhr6fD8ElCjBW7S6IliICzcWxbbCYFr/d5OYBxCs01dNxzIcTtfp0OTkCwDTju 8Ksg== X-Received: by 10.194.60.43 with SMTP id e11mr27474740wjr.36.1433016267321; Sat, 30 May 2015 13:04:27 -0700 (PDT) Original-Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id wv3sm14134759wjc.0.2015.05.30.13.04.26 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 13:04:27 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:103391 Archived-At: On 05/30/2015 10:35 PM, Francesco Potortì wrote: > In the etc/ETAGS.EBNF file you can > read the complete description that I made at that time. Here it is: Yes, thanks. I've read it a few times now. :) > 1) explicit tag name > 2) implicit tag name (unnamed tag whose name can be deduced from pattern) > 3) no tag name (unnamed tag) > > In some languages, like C++ and derived, most tags are named. In > others, most are unnamed, usually in the simplest languages. It seems we don't have a suitable predicate for unnamed tags. How does one determine whether an entry contains a entirely unnamed tag, or an implicitly named one? >> It's easier to call the value of the tag name field an "explicit tag", >> and the value that we can derive from the pattern an "implicit tag". And >> if the explicit tag is present, naturally they'll be different. > > The parser > finds a tag, then it decides whether it should be named or not and in > the latter case, depending on the tag and the language, what is the > appropriate tag name. If the tag should have no name, an unnamed tag is > created. If the tag should be named, and if the name can be deduced > from the pattern, then it creates no explicit name (thus creating an > unnamed tag with an implicit tag name), else it creates a tag with an > explicit name. You're describing how a TAGS file is created. I'm trying to describe how one should read it. > The idea is that when you look for a tag, you first look for the > (explicit) names in the tag, which are contained in the relevant field. > If you find one, it's done. This implies that an explicit name is better than an implicit name (and thus should be found/displayed first). That doesn't seem to be the case. > If it is not, you can try and see if the > tag you are looking for matches an implicit name. If you find one, it's > done. You should try using the current Emacs master. Now when the user presses M-., we try to list all correct matches, not jump to them one by one (if there are more than one, of course). >> This confirms that we should always disregard implicit tag when the >> explicit tag is present. > > I suppose you can view it like this so. In my language, I would say > that when an explicit name is present, we have found a name. That's > all, no thing like an "implicit tag name" is there to be disregarded. Present where? When looking for matches for a given tag, we search through the whole TAGS file, and at the end of all textual match try one of the predicates (is if an explicit match? is it an implicit match? etc).