From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Francesco =?UTF-8?Q?Potort=C3=AC?= Newsgroups: gmane.emacs.bugs Subject: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Date: Sun, 31 May 2015 00:35:55 +0200 Message-ID: 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> <556A17C8.2030300@yandex.ru> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1433025443 16933 80.91.229.3 (30 May 2015 22:37:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 30 May 2015 22:37:23 +0000 (UTC) Cc: 20629@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 31 00:37: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 1YypNO-0000Sj-DG for geb-bug-gnu-emacs@m.gmane.org; Sun, 31 May 2015 00:37:10 +0200 Original-Received: from localhost ([::1]:40687 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YypNN-0006n7-Mz for geb-bug-gnu-emacs@m.gmane.org; Sat, 30 May 2015 18:37:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YypNJ-0006mz-TC for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 18:37:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YypNG-0007ul-Jq for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 18:37:05 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52068) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YypNG-0007ug-GO for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 18:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YypNG-0004Vd-44 for bug-gnu-emacs@gnu.org; Sat, 30 May 2015 18:37:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Francesco =?UTF-8?Q?Potort=C3=AC?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 May 2015 22:37: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.143302536317252 (code B ref 20629); Sat, 30 May 2015 22:37:02 +0000 Original-Received: (at 20629) by debbugs.gnu.org; 30 May 2015 22:36:03 +0000 Original-Received: from localhost ([127.0.0.1]:33810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YypMI-0004UA-5Z for submit@debbugs.gnu.org; Sat, 30 May 2015 18:36:02 -0400 Original-Received: from blade3.isti.cnr.it ([194.119.192.19]:1306) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YypMF-0004Tk-7E for 20629@debbugs.gnu.org; Sat, 30 May 2015 18:36:00 -0400 Original-Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMLSJPQ3DCMEPCAE@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Sun, 31 May 2015 00:35:56 +0200 (MEST) Original-Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YypMB-0004QQ-KV; Sun, 31 May 2015 00:35:55 +0200 In-reply-to: <556A17C8.2030300@yandex.ru> X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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:103392 Archived-At: >> 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? If you look for an implicit name and you can't find one, then it's an unnamed tag. This is the rule of thumb. In theory, it is not rigorous, but in practice I think it always works. I'll rewrite the rest now that I think I have better understood what you need. There is no possible comparison between an explicit and an implicit name. A tag is named or unnamed. If it is named, whether the tag is explicit or implicit it is only a matter of optimisation. You can't have the choice between an explicit and an implicit name for a tag: either you have a name or not. My description of the flow used when looking for a tag supposed that you are satisfied when you find a match. If instead you look for all the matches at once, for example because you want to show them all, you should match against all tag names first (whether the name is implicit or explicit should not matter): those are the best matches. Next come the matches against the patterns, which are of lower quality. In order to find all the matching names, you make two passes, one against tags with names: in that case you match against the explicit names; then one against tags without names: in that case you match against implicit names. All the matches found in the first and second pass should be treated equally.