From unknown Mon Jun 23 22:03:54 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#20629 <20629@debbugs.gnu.org> To: bug#20629 <20629@debbugs.gnu.org> Subject: Status: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Reply-To: bug#20629 <20629@debbugs.gnu.org> Date: Tue, 24 Jun 2025 05:03:54 +0000 retitle 20629 25.0.50; Regression: TAGS broken, can't find anything in C++ = files. reassign 20629 emacs submitter 20629 "Jan D." severity 20629 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri May 22 01:58:09 2015 Received: (at submit) by debbugs.gnu.org; 22 May 2015 05:58:09 +0000 Received: from localhost ([127.0.0.1]:52502 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvfyC-0003jG-JA for submit@debbugs.gnu.org; Fri, 22 May 2015 01:58:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59412) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yvfy9-0003ig-C1 for submit@debbugs.gnu.org; Fri, 22 May 2015 01:58:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yvfy2-0006mF-Nq for submit@debbugs.gnu.org; Fri, 22 May 2015 01:57:59 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53386) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvfy2-0006m9-LY for submit@debbugs.gnu.org; Fri, 22 May 2015 01:57:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44679) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvfy1-0004MK-Ka for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 01:57:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yvfxs-0006j9-H2 for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 01:57:57 -0400 Received: from mailfe06.swip.net ([212.247.154.161]:49178 helo=swip.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yvfxs-0006hr-5v for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 01:57:48 -0400 X-T2-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe06.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 595249367 for bug-gnu-emacs@gnu.org; Fri, 22 May 2015 07:57:42 +0200 Received: from jdvpro.hq.ismobile.com (unknown [176.57.193.190]) (Authenticated sender: jhd) by hosdjarv.se (Postfix) with ESMTPSA id D97291A011D for ; Fri, 22 May 2015 05:57:41 +0000 (UTC) Message-ID: <555EC552.5010600@swipnet.se> Date: Fri, 22 May 2015 07:57:38 +0200 From: "Jan D." User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: bug-gnu-emacs@gnu.org Subject: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hello. Create this file as x.cc ----------------------------------------------------------------------- class XX { public: int foo(); void bar(); }; int XX::foo() { return 1; } void XX::bar() { foo(); } int main(int argc, char *argv[]) { XX xx; xx.bar(); return 0; } ----------------------------------------------------------------------- Run etags on it: % etags x.cc In emacs, load the TAGS file, put the cursor on bar in xx.bar in main and press ESC . Emacs says: "No known definitions for: bar". Put cursor on foo in foo(); in XX::bar(), press ESC . Emacs says: "No known definitions for: foo". If you do the same thing in 24.5, it works as expected, i.e. the cursor jumps to respective member definition. The TAGS file produced by trunk etags and 24.5 etags are exactly the same. This regression makes the etags feature totally useless for C++. Jan D. In GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version 10.10.3 (Build 14D136)) of 2015-05-22 on Windowing system distributor `Apple', version 10.3.1347 Configured using: `configure --enable-checking --verbose --with-ns --without-x CFLAGS=-g' Configured features: ACL LIBXML2 ZLIB Important settings: value of $LC_COLLATE: C value of $LANG: sv_SE.UTF-8 locale-coding-system: utf-8-unix Major mode: C++/l Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t abbrev-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Starting a new list of tags tables user-error: No known definitions for: bar user-error: No known definitions for: foo Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message dired format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils etags thingatpt xref cl-seq ring eieio byte-opt gv bytecomp byte-compile cl-extra seq cconv eieio-core cl-loaddefs pcase cl-lib cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 107206 5916) (symbols 48 21504 1) (miscs 40 49 143) (strings 32 21487 4677) (string-bytes 1 738790) (vectors 16 15321) (vector-slots 8 438795 3143) (floats 8 151 24) (intervals 56 245 4) (buffers 976 13)) From debbugs-submit-bounces@debbugs.gnu.org Fri May 22 12:06:25 2015 Received: (at control) by debbugs.gnu.org; 22 May 2015 16:06:25 +0000 Received: from localhost ([127.0.0.1]:53100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvpSr-0004qh-Jm for submit@debbugs.gnu.org; Fri, 22 May 2015 12:06:25 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:48847 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YvpSq-0004qa-3i for control@debbugs.gnu.org; Fri, 22 May 2015 12:06:24 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YvpSp-0003lI-EB for control@debbugs.gnu.org; Fri, 22 May 2015 12:06:23 -0400 Date: Fri, 22 May 2015 12:06:23 -0400 Message-Id: Subject: control message for bug 19759 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) block 19759 by 20629 From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 07:55:09 2015 Received: (at 20629) by debbugs.gnu.org; 23 May 2015 11:55:10 +0000 Received: from localhost ([127.0.0.1]:53484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw81B-0007s7-P3 for submit@debbugs.gnu.org; Sat, 23 May 2015 07:55:09 -0400 Received: from mailfe08.swip.net ([212.247.154.225]:34892 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw816-0007ra-1J for 20629@debbugs.gnu.org; Sat, 23 May 2015 07:55:03 -0400 X-T2-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe08.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 599650847 for 20629@debbugs.gnu.org; Sat, 23 May 2015 13:54:55 +0200 Message-ID: <55606A8F.1020109@swipnet.se> Date: Sat, 23 May 2015 13:54:55 +0200 From: =?windows-1252?Q?Jan_Dj=E4rv?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: 20629@debbugs.gnu.org Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> In-Reply-To: <555EC552.5010600@swipnet.se> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 20629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is the bad commit: commit c7d601adefe130b773c1622a5aa8722d80709c1c Author: Dmitry Gutov Date: Sun May 10 00:36:46 2015 +0300 Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Remove tag-symbol-match-p from the default value (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html). The URL given in the description doesn't actually say why this change was made. It just asks if anyone has objections. So if there is no justification for this change, I will revert it soonish. C++ support in Emacs is kind of a big deal. Jan D. Den 2015-05-22 07:57, Jan D. skrev: > Hello. > > Create this file as x.cc > ----------------------------------------------------------------------- > class XX > { > public: > int foo(); > void bar(); > }; > > int > XX::foo() > { > return 1; > } > > void > XX::bar() > { > foo(); > } > > int > main(int argc, char *argv[]) > { > XX xx; > xx.bar(); > return 0; > } > > ----------------------------------------------------------------------- > > Run etags on it: > > % etags x.cc > > In emacs, load the TAGS file, put the cursor on bar in xx.bar in main and > press ESC . > Emacs says: "No known definitions for: bar". > Put cursor on foo in foo(); in XX::bar(), press ESC . > Emacs says: "No known definitions for: foo". > > If you do the same thing in 24.5, it works as expected, i.e. the cursor > jumps to respective member definition. > The TAGS file produced by trunk etags and 24.5 etags are exactly the same. > > This regression makes the etags feature totally useless for C++. > > Jan D. > > > > > In GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version > 10.10.3 (Build 14D136)) > of 2015-05-22 on > Windowing system distributor `Apple', version 10.3.1347 > Configured using: > `configure --enable-checking --verbose --with-ns --without-x CFLAGS=-g' > > Configured features: > ACL LIBXML2 ZLIB > > Important settings: > value of $LC_COLLATE: C > value of $LANG: sv_SE.UTF-8 > locale-coding-system: utf-8-unix > > Major mode: C++/l > > Minor modes in effect: > tooltip-mode: t > global-eldoc-mode: t > electric-indent-mode: t > mouse-wheel-mode: t > tool-bar-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > global-font-lock-mode: t > font-lock-mode: t > blink-cursor-mode: t > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > line-number-mode: t > abbrev-mode: t > > Recent messages: > For information about GNU Emacs and the GNU system, type C-h C-a. > Starting a new list of tags tables > user-error: No known definitions for: bar > user-error: No known definitions for: foo > > Load-path shadows: > None found. > > Features: > (shadow sort gnus-util mail-extr emacsbug message dired format-spec > rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 > mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums > mm-util help-fns mail-prsvr mail-utils etags thingatpt xref cl-seq ring > eieio byte-opt gv bytecomp byte-compile cl-extra seq cconv eieio-core > cl-loaddefs pcase cl-lib cc-mode cc-fonts easymenu cc-guess cc-menus > cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs time-date mule-util > tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type > mwheel ns-win term/common-win tool-bar dnd fontset image regexp-opt > fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register > page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock > font-lock syntax facemenu font-core frame cl-generic cham georgian > utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean > japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european > ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help > simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces > cus-face macroexp files text-properties overlay sha1 md5 base64 format > env code-pages mule custom widget hashtable-print-readable backquote > cocoa ns multi-tty make-network-process emacs) > > Memory information: > ((conses 16 107206 5916) > (symbols 48 21504 1) > (miscs 40 49 143) > (strings 32 21487 4677) > (string-bytes 1 738790) > (vectors 16 15321) > (vector-slots 8 438795 3143) > (floats 8 151 24) > (intervals 56 245 4) > (buffers 976 13)) > > From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 08:04:43 2015 Received: (at 20629) by debbugs.gnu.org; 23 May 2015 12:04:43 +0000 Received: from localhost ([127.0.0.1]:53488 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8AQ-00086H-Vn for submit@debbugs.gnu.org; Sat, 23 May 2015 08:04:42 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:33611) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8AL-00085w-EK for 20629@debbugs.gnu.org; Sat, 23 May 2015 08:04:37 -0400 Received: by wgez8 with SMTP id z8so38569557wge.0 for <20629@debbugs.gnu.org>; Sat, 23 May 2015 05:04:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=bYJ1EC2mX9cTg9zkRQmpcT1KEp2UtiQE9TvgdLMDBz4=; b=kpc7XgF3unaNTN4Xz84oz4Yl/GUOCanVrS7xdIjQ1KKQuFIIf+EkyNiykfZxz5odj/ pRV46rLloq5UDko0edS7UUWweqP5OSsC0YajH9hp4TzBbjt1tL2HF0Viz2YYfQtC0SyN aGf9rpDOrRcZGAOa9LVWt1cb5GYnPdzMofBeXYTuzSzWPk5328ptznCB/EWDwWJPDWyA Fuj/BDvTR7CcM+2MFS/UDNwQ2TFh5hap3N4V3bsO5DHP/IsM/yLqk+tVPfrViq+ZEDyi hD/TD8VhPny6Vo6JklTNWiHW9rnMNAHS+b3NKnQ6sdYUZS7GgNaBQNMIzERvdckusj+x EOkw== X-Received: by 10.180.14.135 with SMTP id p7mr15738969wic.8.1432382667805; Sat, 23 May 2015 05:04:27 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id o6sm2680317wiz.24.2015.05.23.05.04.26 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 May 2015 05:04:27 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Jan_Dj=c3=a4rv?= , 20629@debbugs.gnu.org References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> From: Dmitry Gutov Message-ID: <55606CC7.3010401@yandex.ru> Date: Sat, 23 May 2015 15:04:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <55606A8F.1020109@swipnet.se> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/23/2015 02:54 PM, Jan Djärv wrote: > The URL given in the description doesn't actually say why this change > was made. It just asks if anyone has objections. > So if there is no justification for this change, I will revert it soonish. > C++ support in Emacs is kind of a big deal. Maybe the URL doesn't, but it links to a thread. See the bottom of this message: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00286.html From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 08:16:01 2015 Received: (at 20629-done) by debbugs.gnu.org; 23 May 2015 12:16:01 +0000 Received: from localhost ([127.0.0.1]:53496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8LN-0008NQ-9o for submit@debbugs.gnu.org; Sat, 23 May 2015 08:16:01 -0400 Received: from mailfe09.swip.net ([212.247.155.1]:58201 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8LH-0008N8-Bf for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 08:15:55 -0400 X-T2-Spam-Status: No, hits=0.8 required=5.0 tests=BAYES_50 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe09.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 425710030; Sat, 23 May 2015 14:15:44 +0200 Message-ID: <55606F70.10605@swipnet.se> Date: Sat, 23 May 2015 14:15:44 +0200 From: =?windows-1252?Q?Jan_Dj=E4rv?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Dmitry Gutov , 20629-done@debbugs.gnu.org Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> In-Reply-To: <55606CC7.3010401@yandex.ru> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 20629-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Den 2015-05-23 14:04, Dmitry Gutov skrev: > On 05/23/2015 02:54 PM, Jan Djärv wrote: > >> The URL given in the description doesn't actually say why this change >> was made. It just asks if anyone has objections. >> So if there is no justification for this change, I will revert it soonish. >> C++ support in Emacs is kind of a big deal. > > Maybe the URL doesn't, but it links to a thread. > > See the bottom of this message: > http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00286.html There is just theoretical ramblings about precision without any bug or user visible impact that the change solves. Definitly not anything that motivates breaking C++ support. I reverted it. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 08:19:16 2015 Received: (at 20629-done) by debbugs.gnu.org; 23 May 2015 12:19:17 +0000 Received: from localhost ([127.0.0.1]:53503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8OW-0008Sh-1O for submit@debbugs.gnu.org; Sat, 23 May 2015 08:19:16 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:35093) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8OQ-0008S9-0D for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 08:19:10 -0400 Received: by wicmx19 with SMTP id mx19so11078108wic.0 for <20629-done@debbugs.gnu.org>; Sat, 23 May 2015 05:19:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=CqJ88wjg76Uh3URJ5HgNlqQGII6BOjHiKAsBX71pgmg=; b=Py4XkUJycOUeooDulmugwxKYXFhkF5f5aD6fNYawCfZvE8zuHwyeQtkK3eObceiH58 NoaVeHjpPPe+96Xwd7Ul8xyhI2sn6lTC2mQi9nFqjlUI6DCsxZRbZuNRWZ1wY2NWAWhA 9NReSU2ZX1NTp7mQJYl61tEAsRmwIOhN8HsuE6EAeuoCFXuWOMEyQCmZ1XDhTeMDJ29c 8ywZmlUbfRZVmTZ24FtRpeAVls6I6csrSk8BxJxMprgRTF0FPKobyWM7tr90jLKHBm9D 0OjhV68t9ll+xD9rBzw4dJxGHmTviz8xv8euCMlKNdxVuPaPeJ1HS+WtE8/LylG/O+6R krfQ== X-Received: by 10.180.95.101 with SMTP id dj5mr15904121wib.16.1432383540389; Sat, 23 May 2015 05:19:00 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id a18sm7600032wja.46.2015.05.23.05.18.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 May 2015 05:19:00 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Jan_Dj=c3=a4rv?= , 20629-done@debbugs.gnu.org References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> From: Dmitry Gutov Message-ID: <5560702D.1030303@yandex.ru> Date: Sat, 23 May 2015 15:18:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <55606F70.10605@swipnet.se> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/23/2015 03:15 PM, Jan Djärv wrote: > There is just theoretical ramblings about precision without any bug or > user visible impact that the change solves. Definitly not anything that > motivates breaking C++ support. > I reverted it. Theoretical? It's got an easy practical example. Someone should look into making etags C++ support work with the notions of explicit and implicit tags. As it is, the indexer is broken, judging by your experience. From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 08:29:04 2015 Received: (at 20629-done) by debbugs.gnu.org; 23 May 2015 12:29:04 +0000 Received: from localhost ([127.0.0.1]:53508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8Xz-0000ER-S3 for submit@debbugs.gnu.org; Sat, 23 May 2015 08:29:04 -0400 Received: from mailfe05.swip.net ([212.247.154.129]:48940 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8Xt-0000EA-SK for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 08:28:58 -0400 X-T2-Spam-Status: No, hits=0.8 required=5.0 tests=BAYES_50 Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe05.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 594057163; Sat, 23 May 2015 14:28:47 +0200 Message-ID: <5560727E.7000401@swipnet.se> Date: Sat, 23 May 2015 14:28:46 +0200 From: =?windows-1252?Q?Jan_Dj=E4rv?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Dmitry Gutov , 20629-done@debbugs.gnu.org Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> <5560702D.1030303@yandex.ru> In-Reply-To: <5560702D.1030303@yandex.ru> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 20629-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Den 2015-05-23 14:18, Dmitry Gutov skrev: > On 05/23/2015 03:15 PM, Jan Djärv wrote: > >> There is just theoretical ramblings about precision without any bug or >> user visible impact that the change solves. Definitly not anything that >> motivates breaking C++ support. >> I reverted it. > > Theoretical? It's got an easy practical example. It has an example of how etags has behaved since forever. Thats nothing new. > > Someone should look into making etags C++ support work with the notions of > explicit and implicit tags. As it is, the indexer is broken, judging by your > experience. Perhaps, but until someone does, there is no need to break things that work. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 08:40:23 2015 Received: (at 20629-done) by debbugs.gnu.org; 23 May 2015 12:40:23 +0000 Received: from localhost ([127.0.0.1]:53512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8iw-0000Vf-8R for submit@debbugs.gnu.org; Sat, 23 May 2015 08:40:22 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:35979) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw8io-0000VH-NO for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 08:40:15 -0400 Received: by wgbgq6 with SMTP id gq6so38927054wgb.3 for <20629-done@debbugs.gnu.org>; Sat, 23 May 2015 05:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=Lgep5uBP3zfRzRF2GIlu7yN0Zt3qSEBdGz4Pi3A06l0=; b=EebDjVCIIntrsrH2A1dt/y0OvDKpQnG8X27mg0b9MSmqBXVcVn7i4W1qQWzBVWjFlG EaSxIzK4Jrw5dzKpeJVqKy1bs1wHnt7TctHeqzNcD9gc04WiCnDpXbQtGS6j8xkwVew0 TUaVOTl1wwhFOzPydHJHlgYnHpGGIXkOuqbezmZbDFDcj2OTNGM7vGuAA5Ebsu+kziZI qDc0A0xdXlrXcNsXxsbSIUajBhuMVS4VTs7mNcTbixNvNVfsCx0FVPyjI31yNPgUhTWG kUvj+VsuE3H7qI1JP6R1UOerZwi5TtslrnJZU6KyDqBRMcDCcGExdLJbP2nFio1roRUb xRWw== X-Received: by 10.180.90.73 with SMTP id bu9mr15921239wib.88.1432384804811; Sat, 23 May 2015 05:40:04 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id w11sm7145173wjr.48.2015.05.23.05.40.03 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 May 2015 05:40:04 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Jan_Dj=c3=a4rv?= , 20629-done@debbugs.gnu.org References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> <5560702D.1030303@yandex.ru> <5560727E.7000401@swipnet.se> From: Dmitry Gutov Message-ID: <5560751F.5090402@yandex.ru> Date: Sat, 23 May 2015 15:39:59 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <5560727E.7000401@swipnet.se> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/23/2015 03:28 PM, Jan Djärv wrote: > It has an example of how etags has behaved since forever. Thats nothing > new. Being decades-old doesn't mean it's not a bug. > Perhaps, but until someone does, there is no need to break things that > work. Someone already has: using 'ctags -e' (version 5.9~svn20110310, as distributed by Ubuntu), your scenario works even when tag-symbol-match-p is not in etags-xref-find-definitions-tag-order. Here's its output: x.cc,96 class XXXX1,0 XX::foo()foo9,58 XX::bar()bar15,92 main(int argc, char *argv[])main21,122 And here's etags' output: x.cc,55 class XX1,0 XX::foo(9,58 XX::bar(15,92 main(21,122 From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 09:50:28 2015 Received: (at 20629) by debbugs.gnu.org; 23 May 2015 13:50:29 +0000 Received: from localhost ([127.0.0.1]:53520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw9om-00026t-TB for submit@debbugs.gnu.org; Sat, 23 May 2015 09:50:28 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:50217) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw9of-00026Y-Jy for 20629@debbugs.gnu.org; Sat, 23 May 2015 09:50:21 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NOT00N001PH3600@mtaout29.012.net.il> for 20629@debbugs.gnu.org; Sat, 23 May 2015 16:49:24 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOT00J0X2EC9150@mtaout29.012.net.il>; Sat, 23 May 2015 16:49:24 +0300 (IDT) Date: Sat, 23 May 2015 16:50:11 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55606F70.10605@swipnet.se> X-012-Sender: halo1@inter.net.il To: Jan =?windows-1252?Q?Dj=E4rv?= Message-id: <83twv31jzg.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 8BIT References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: jan.h.d@swipnet.se, 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 23 May 2015 14:15:44 +0200 > From: Jan Djärv > > Den 2015-05-23 14:04, Dmitry Gutov skrev: > > On 05/23/2015 02:54 PM, Jan Djärv wrote: > > > >> The URL given in the description doesn't actually say why this change > >> was made. It just asks if anyone has objections. > >> So if there is no justification for this change, I will revert it soonish. > >> C++ support in Emacs is kind of a big deal. > > > > Maybe the URL doesn't, but it links to a thread. > > > > See the bottom of this message: > > http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00286.html > > There is just theoretical ramblings about precision without any bug or user > visible impact that the change solves. Definitly not anything that motivates > breaking C++ support. > I reverted it. I reverted the revert. Sorry, but please don't be so hasty in reverting other people's work. At the very least, wait for some discussions about that to run their way. We should try to fix bugs without re-introducing previously solved ones. From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 09:52:05 2015 Received: (at 20629-done) by debbugs.gnu.org; 23 May 2015 13:52:06 +0000 Received: from localhost ([127.0.0.1]:53524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw9qK-00029D-1P for submit@debbugs.gnu.org; Sat, 23 May 2015 09:52:04 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:49414) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yw9qB-00028p-OD for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 09:51:56 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NOT00O001IUU400@mtaout25.012.net.il> for 20629-done@debbugs.gnu.org; Sat, 23 May 2015 16:47:34 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOT00OX22BAH220@mtaout25.012.net.il>; Sat, 23 May 2015 16:47:34 +0300 (IDT) Date: Sat, 23 May 2015 16:51:45 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5560727E.7000401@swipnet.se> X-012-Sender: halo1@inter.net.il To: Jan =?windows-1252?Q?Dj=E4rv?= Message-id: <83sian1jwu.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 8BIT References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> <5560702D.1030303@yandex.ru> <5560727E.7000401@swipnet.se> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629-done Cc: 20629-done@debbugs.gnu.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 23 May 2015 14:28:46 +0200 > From: Jan Djärv > > Perhaps, but until someone does, there is no need to break things that work. No one has knowingly broken C++. This is development, where breakage should be expected. If someone does production work with development snapshots, they should be ready for this. From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 10:46:34 2015 Received: (at 20629) by debbugs.gnu.org; 23 May 2015 14:46:35 +0000 Received: from localhost ([127.0.0.1]:54038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YwAh4-0003VS-QO for submit@debbugs.gnu.org; Sat, 23 May 2015 10:46:34 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:36132) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YwAgy-0003V8-48 for 20629@debbugs.gnu.org; Sat, 23 May 2015 10:46:28 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NOT00E0050RF300@mtaout26.012.net.il> for 20629@debbugs.gnu.org; Sat, 23 May 2015 17:48:03 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOT0072J543BI60@mtaout26.012.net.il>; Sat, 23 May 2015 17:48:03 +0300 (IDT) Date: Sat, 23 May 2015 17:46:18 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83twv31jzg.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: jan.h.d@swipnet.se Message-id: <83pp5r1hdx.fsf@gnu.org> References: <555EC552.5010600@swipnet.se> <55606A8F.1020109@swipnet.se> <55606CC7.3010401@yandex.ru> <55606F70.10605@swipnet.se> <83twv31jzg.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 23 May 2015 16:50:11 +0300 > From: Eli Zaretskii > Cc: 20629@debbugs.gnu.org > > We should try to fix bugs without re-introducing previously solved > ones. Does the patch below give good results in real-life C++ usage? Please also consider whether this change could cause trouble in other C++ use cases. (I've ran the modified version on the etags test suite, and didn't spot any problems in the differences with the previous results, but I don't consider myself an expert on C++ syntax.) Thanks. diff --git a/lib-src/etags.c b/lib-src/etags.c index 28729da..cb96f06 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -3681,7 +3681,29 @@ enum, 0, st_C_enum switch (fvdef) { case flistseen: - make_C_tag (true); /* a function */ + if ((c_ext & C_PLPL) != 0) + { + /* Tag C++ member function names, excluding the class and + namespace instances, if any. */ + char *colon_colon = strstr (token_name.buffer, "::"); + char *colon_colon2 = + colon_colon + ? strstr (colon_colon + 2, "::") + : NULL; + + if (colon_colon2 != NULL) + colon_colon = colon_colon2; + + if (colon_colon != NULL) + { + memmove (token_name.buffer, colon_colon + 2, + strlen (colon_colon + 2) + 1); + token_name.len = strlen (token_name.buffer); + } + make_C_tag (true); /* a member function */ + } + else + make_C_tag (true); /* a function */ /* FALLTHRU */ case fignore: fvdef = fvnone; From debbugs-submit-bounces@debbugs.gnu.org Sat May 23 11:56:20 2015 Received: (at 20629) by debbugs.gnu.org; 23 May 2015 15:56:20 +0000 Received: from localhost ([127.0.0.1]:54082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YwBma-0005C3-Nq for submit@debbugs.gnu.org; Sat, 23 May 2015 11:56:20 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:39021) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YwBmU-0005Bl-VO for 20629@debbugs.gnu.org; Sat, 23 May 2015 11:56:15 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NOT00F007SARP00@a-mtaout20.012.net.il> for 20629@debbugs.gnu.org; Sat, 23 May 2015 18:56:03 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOT00FSD89EKL40@a-mtaout20.012.net.il>; Sat, 23 May 2015 18:56:03 +0300 (IDT) Date: Sat, 23 May 2015 18:56:04 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83pp5r1hdx.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: jan.h.d@swipnet.se, Francesco =?iso-8859-1?Q?Potort=EC?= Message-id: <83mw0v1e5n.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 23 May 2015 17:46:18 +0300 > From: Eli Zaretskii > Cc: 20629@debbugs.gnu.org > > > Date: Sat, 23 May 2015 16:50:11 +0300 > > From: Eli Zaretskii > > Cc: 20629@debbugs.gnu.org > > > > We should try to fix bugs without re-introducing previously solved > > ones. > > Does the patch below give good results in real-life C++ usage? > > Please also consider whether this change could cause trouble in other > C++ use cases. (I've ran the modified version on the etags test > suite, and didn't spot any problems in the differences with the > previous results, but I don't consider myself an expert on C++ > syntax.) I see that etags deliberately produces explicitly named tags of the form CLASS::MEMBER, whenever it sees a declaration of MEMBER inside a class declaration of CLASS. Why is that useful? It is another instance that defeats the change which removed tag-symbol-match-p from the "order" functions used by etags.el when invoked from xref. Does anyone see a problem with removing this feature from etags? From unknown Mon Jun 23 22:03:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Sat, 23 May 2015 16:18:02 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Mon May 25 11:16:04 2015 Received: (at 20629) by debbugs.gnu.org; 25 May 2015 15:16:04 +0000 Received: from localhost ([127.0.0.1]:55746 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ywu6i-00012J-Bs for submit@debbugs.gnu.org; Mon, 25 May 2015 11:16:04 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:33603) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ywu6b-00011z-Sb for 20629@debbugs.gnu.org; Mon, 25 May 2015 11:15:58 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NOW00K00VMJF000@a-mtaout23.012.net.il> for 20629@debbugs.gnu.org; Mon, 25 May 2015 18:15:46 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOW00KV6VQABV50@a-mtaout23.012.net.il>; Mon, 25 May 2015 18:15:46 +0300 (IDT) Date: Mon, 25 May 2015 18:15:33 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83mw0v1e5n.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: jan.h.d@swipnet.se Message-id: <83lhgczo16.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: pot@gnu.org, 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 23 May 2015 18:56:04 +0300 > From: Eli Zaretskii > Cc: 20629@debbugs.gnu.org > > > Does the patch below give good results in real-life C++ usage? > > > > Please also consider whether this change could cause trouble in other > > C++ use cases. (I've ran the modified version on the etags test > > suite, and didn't spot any problems in the differences with the > > previous results, but I don't consider myself an expert on C++ > > syntax.) > > I see that etags deliberately produces explicitly named tags of the > form CLASS::MEMBER, whenever it sees a declaration of MEMBER inside a > class declaration of CLASS. Why is that useful? It is another > instance that defeats the change which removed tag-symbol-match-p from > the "order" functions used by etags.el when invoked from xref. Does > anyone see a problem with removing this feature from etags? I've attempted to fix this and other underlying problems by suitable changes in etags.c in commit 9c66c5a. The feature whereby etags qualifies class members by their class names in TAGS is now optional, off by default, which creates tag names that are more accurate, and xref should now work much better with C-like object-oriented languages. Please give it a try, including in real-life use cases. I'm not yet closing the bug on account of possible complications. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon May 25 17:17:52 2015 Received: (at 20629) by debbugs.gnu.org; 25 May 2015 21:17:52 +0000 Received: from localhost ([127.0.0.1]:55917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ywzkt-0005Qv-IB for submit@debbugs.gnu.org; Mon, 25 May 2015 17:17:52 -0400 Received: from mail-wi0-f174.google.com ([209.85.212.174]:33556) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ywzkr-0005Qf-FI for 20629@debbugs.gnu.org; Mon, 25 May 2015 17:17:49 -0400 Received: by wicmx19 with SMTP id mx19so48713455wic.0 for <20629@debbugs.gnu.org>; Mon, 25 May 2015 14:17:43 -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=TXZC6pZPe0bw4/uQxH/ABBCIEamTIfow+sPmTKkhyAI=; b=dmnym4NacqmkHfTmFhy+G983ViQixvTW11nyni2DWLNEFkygfcPHRHSFOy2fDyV5P5 2DIYG56LeEJ7cskwbCwUzVuR43LXHfoTX3NBO6sX2QWDRV3Jl58FPtYzZhpjgZhDDhU9 F6zTU5tTQdPUYY4mZSmXt9cEkJ9z8r3k/pemMi4ixaes0/8APPIG9wF+bwC982ElrjHh +ElNgYMcsUpwkBxEyieXrDu2IEln+GgsAo3aW8QfAdbQ7CLQtGsao9ofm8nHKq5krnh7 0NDz/hTLM5l7fQ8o8um81eCwqe6+SK9nPDprm1tQQOXRkmtfI7gW0CFGMKPUxzqbL4R9 5WfQ== X-Received: by 10.180.106.6 with SMTP id gq6mr30613066wib.39.1432588663841; Mon, 25 May 2015 14:17:43 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id hu1sm13681304wib.6.2015.05.25.14.17.43 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 May 2015 14:17:43 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii , jan.h.d@swipnet.se 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> From: Dmitry Gutov Message-ID: <55639175.9090005@yandex.ru> Date: Tue, 26 May 2015 00:17:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83lhgczo16.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/25/2015 06:15 PM, Eli Zaretskii wrote: > I've attempted to fix this and other underlying problems by suitable > changes in etags.c in commit 9c66c5a. The feature whereby etags > qualifies class members by their class names in TAGS is now optional, > off by default, which creates tag names that are more accurate, and > xref should now work much better with C-like object-oriented > languages. I think it's unfortunate that we can't keep the precision, and at the same time have tags-completion-table return the qualified names (try C-u M-. TAB). From debbugs-submit-bounces@debbugs.gnu.org Mon May 25 22:36:11 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 02:36:11 +0000 Received: from localhost ([127.0.0.1]:56042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yx4iw-0004Lm-LE for submit@debbugs.gnu.org; Mon, 25 May 2015 22:36:11 -0400 Received: from mtaout28.012.net.il ([80.179.55.184]:37209) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yx4it-0004LF-3x for 20629@debbugs.gnu.org; Mon, 25 May 2015 22:36:08 -0400 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0NOX00G00R5ZKO00@mtaout28.012.net.il> for 20629@debbugs.gnu.org; Tue, 26 May 2015 05:35:12 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOX007FHR6O2S80@mtaout28.012.net.il>; Tue, 26 May 2015 05:35:12 +0300 (IDT) Date: Tue, 26 May 2015 05:35:48 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55639175.9090005@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83fv6kysjf.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: jan.h.d@swipnet.se, 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Tue, 26 May 2015 00:17:41 +0300 > > I think it's unfortunate that we can't keep the precision, and at the > same time have tags-completion-table return the qualified names (try C-u > M-. TAB). Given the structure of TAGS and the way xref picks up the symbol at point, what else can we do? Can you suggest how this could work better even in principle? Does any other version of ctags produce better results with the same structure of TAGS? From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 06:16:26 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 10:16:26 +0000 Received: from localhost ([127.0.0.1]:56224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxBuM-0001J2-6w for submit@debbugs.gnu.org; Tue, 26 May 2015 06:16:26 -0400 Received: from mail-wg0-f47.google.com ([74.125.82.47]:35183) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxBuJ-0001Io-VU for 20629@debbugs.gnu.org; Tue, 26 May 2015 06:16:24 -0400 Received: by wgme6 with SMTP id e6so24040321wgm.2 for <20629@debbugs.gnu.org>; Tue, 26 May 2015 03:16:18 -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=DAUSh7VbGU6j8l+wXtriJcAAm+v1GncdmFnEFg7s64I=; b=kJ+VdrDOc+uEbZwyFeeaI0oRJOwXA8jSQhsnN1QolGuE+hiBA5IBHY63MSj7quAEN0 sHhPQk+kLV1DDqdQFtLyTvwxRL/HjF4PxRpws6Z7E4sqHLMm8YKYAvq2jteYrXq5g9gU 419dwYL+sD7m8atHx0HavCMP+6PCGyRgHhU6puKHMMSgAMKbRErsOiNOzMJ8ZKSqeVKD YMJR25yK7slsb8WTP3CTE53SwA4M6hulqmwMFWnGurmwy39PiWlSsfVX0H3pCkbAYtQr eVXsGW8yhC6b5YYcTYoEeOwaAxBfmJAU4fsdn4uWkOCKTc+EWTvZ8i3R/u0xmW809+a7 AONg== X-Received: by 10.194.61.180 with SMTP id q20mr28752442wjr.80.1432635378223; Tue, 26 May 2015 03:16:18 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id ng5sm16085925wic.24.2015.05.26.03.16.17 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 May 2015 03:16:18 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <556447EF.3050103@yandex.ru> Date: Tue, 26 May 2015 13:16:15 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83fv6kysjf.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/26/2015 05:35 AM, Eli Zaretskii wrote: > Does any other version of ctags produce> better results with the same structure of TAGS? No, 'ctags -e' gives pretty much the same output that 'etags' does now. So it's definitely acceptable. > Given the structure of TAGS and the way xref picks up the symbol at > point, what else can we do? Can you suggest how this could work > better even in principle? I'm not sure. One direction would be to add `:' to NONAM, so that a method name would implicitly match a qualified tag as well. Not sure if it will be a problem in some languages (but in, say, Elisp `:' can be a part of an identifier). Another - to make etags-tags-completion-table include both the pattern and the explicit tagname in the returned obarray. From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 11:07:15 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 15:07:15 +0000 Received: from localhost ([127.0.0.1]:57181 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxGRl-0002pu-Ly for submit@debbugs.gnu.org; Tue, 26 May 2015 11:07:14 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:37627) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxGRg-0002pH-6w for 20629@debbugs.gnu.org; Tue, 26 May 2015 11:07:12 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NOY00500PLR3F00@a-mtaout23.012.net.il> for 20629@debbugs.gnu.org; Tue, 26 May 2015 18:07:01 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOY003QEPZOHFA0@a-mtaout23.012.net.il>; Tue, 26 May 2015 18:07:01 +0300 (IDT) Date: Tue, 26 May 2015 18:06:50 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <556447EF.3050103@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83bnh7z8c5.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Tue, 26 May 2015 13:16:15 +0300 > > One direction would be to add `:' to NONAM, so that a method name would > implicitly match a qualified tag as well. Not sure if it will be a > problem in some languages (but in, say, Elisp `:' can be a part of an > identifier). That'd mean either some very invasive change in the insane state machine that runs C_entries, or, more likely, throwing it away and re-writing it in a very different way. I don't volunteer. > Another - to make etags-tags-completion-table include both the pattern > and the explicit tagname in the returned obarray. Yes, I thought about this as well. I think this is our best bet, and shouldn't be too hard, as we already do similar things elsewhere. Patches from completion experts are welcome. From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 15:00:34 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 19:00:34 +0000 Received: from localhost ([127.0.0.1]:57398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxK5Z-0000Ep-TU for submit@debbugs.gnu.org; Tue, 26 May 2015 15:00:34 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:34184) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxK5X-0000EZ-Cf for 20629@debbugs.gnu.org; Tue, 26 May 2015 15:00:32 -0400 Received: by wicmc15 with SMTP id mc15so73655358wic.1 for <20629@debbugs.gnu.org>; Tue, 26 May 2015 12:00:25 -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=Apko0Fp0R2Jqrk5c9zS9eUnzONwXU+AGxkm9A+RI+qo=; b=twIQMub69HqKyfHyznd/HTTFVG90k/r7atOGHXWA7powJtrf4rtAqXTxNFNgA6lmf7 8qpfnQK9IwT++sV/IUNBWdtOItkVr1rUgOGZAJVp6JO8utT+JQK9MHDnqkZlGC2CSHKX pQgftCTTVFUBnb81jDJVvUbeV7XlmIzFWgYEYA4Ii6dvXsAcKeR8iqndsECw+jROvHuO FxHnADNMMmCk4nVtcrFoueswUrsvxPU2ObMMzxTVJsRfPfUDNsRlBR/T/OiH7/QKf5if m9VOAenJZH870ZNhkSAuG8N8QnTH/SJhbAXGJWU35ujcv0dYzgDprivgPv0Nnz8A4AiD rY5A== X-Received: by 10.180.102.74 with SMTP id fm10mr35848660wib.25.1432666825299; Tue, 26 May 2015 12:00:25 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id ew10sm18210233wic.22.2015.05.26.12.00.24 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 May 2015 12:00:25 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <5564C2C7.5050909@yandex.ru> Date: Tue, 26 May 2015 22:00:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83bnh7z8c5.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/26/2015 06:06 PM, Eli Zaretskii wrote: > That'd mean either some very invasive change in the insane state > machine that runs C_entries, or, more likely, throwing it away and > re-writing it in a very different way. I don't volunteer. What if we only make that change in tag-implicit-name-match-p, then? But the concern about false positives still applies. > Yes, I thought about this as well. I think this is our best bet, and > shouldn't be too hard, as we already do similar things elsewhere. Example? > Patches from completion experts are welcome. Not an expert, but this should do it. I wonder if we'll get many junk completions this way, in certain situations: diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 9ff164e..f026560 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -1276,13 +1276,16 @@ buffer-local values of tags table format variables." \\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\ \\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n" nil t) - (intern (prog1 (if (match-beginning 5) - ;; There is an explicit tag name. - (buffer-substring (match-beginning 5) (match-end 5)) - ;; No explicit tag name. Best guess. - (buffer-substring (match-beginning 3) (match-end 3))) - (progress-reporter-update progress-reporter (point))) - table))) + ;; Implicit tag name. + (intern + (buffer-substring (match-beginning 3) (match-end 3)) + table) + (when (match-beginning 5) + (intern + ;; There is an explicit tag name. + (buffer-substring (match-beginning 5) (match-end 5)) + table)) + (progress-reporter-update progress-reporter (point)))) table)) (defun etags-snarf-tag (&optional use-explicit) ; Doc string? From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 15:24:19 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 19:24:20 +0000 Received: from localhost ([127.0.0.1]:57405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxKSZ-0000nn-EF for submit@debbugs.gnu.org; Tue, 26 May 2015 15:24:19 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:50484) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxKST-0000nC-Mz for 20629@debbugs.gnu.org; Tue, 26 May 2015 15:24:16 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NOZ00M001QDIS00@mtaout29.012.net.il> for 20629@debbugs.gnu.org; Tue, 26 May 2015 22:23:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOZ00CC11UYEYA0@mtaout29.012.net.il>; Tue, 26 May 2015 22:23:22 +0300 (IDT) Date: Tue, 26 May 2015 22:23:56 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5564C2C7.5050909@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <837frvywfn.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Tue, 26 May 2015 22:00:23 +0300 > > On 05/26/2015 06:06 PM, Eli Zaretskii wrote: > > > That'd mean either some very invasive change in the insane state > > machine that runs C_entries, or, more likely, throwing it away and > > re-writing it in a very different way. I don't volunteer. > > What if we only make that change in tag-implicit-name-match-p, then? I don't see how that could be possible: tag-implicit-name-match-p is language-agnostic. You'd need to make it language-aware before it could do such stuff for languages that need it. > > Yes, I thought about this as well. I think this is our best bet, and > > shouldn't be too hard, as we already do similar things elsewhere. > > Example? It slips my mind for a moment, but there's some command whose completion shows for functions, for variables, etc. And it's not the only one, I'm quite sure I saw longer text after each candidate, perhaps somewhere in 'company'? > > Patches from completion experts are welcome. > > Not an expert, but this should do it. I wonder if we'll get many junk > completions this way, in certain situations: What kind of junk? From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 17:01:39 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 21:01:39 +0000 Received: from localhost ([127.0.0.1]:57472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxLyk-0003EN-9Q for submit@debbugs.gnu.org; Tue, 26 May 2015 17:01:38 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:49010) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxLyi-0003EF-OQ for 20629@debbugs.gnu.org; Tue, 26 May 2015 17:01:37 -0400 Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t4QL1ZdT029629; Tue, 26 May 2015 17:01:35 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 25BF0660ED; Tue, 26 May 2015 17:01:36 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. 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> Date: Tue, 26 May 2015 17:01:36 -0400 In-Reply-To: <837frvywfn.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 26 May 2015 22:23:56 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV5318=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5318> : inlines <3074> : streams <1445204> : uri <1940719> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) >> > Patches from completion experts are welcome. >> Not an expert, but this should do it. I wonder if we'll get many junk >> completions this way, in certain situations: > What kind of junk? BTW, it might be worthwhile to try and replace the obarray with a function which directly searches the corresponding tags buffers. Searching those buffers might not be significantly slower than searching the obarray, with the advantage that we avoid the "building the completion table" step. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue May 26 19:56:13 2015 Received: (at 20629) by debbugs.gnu.org; 26 May 2015 23:56:13 +0000 Received: from localhost ([127.0.0.1]:57529 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxOhg-0000KJ-R5 for submit@debbugs.gnu.org; Tue, 26 May 2015 19:56:13 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:38539) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxOhe-0000K5-B3 for 20629@debbugs.gnu.org; Tue, 26 May 2015 19:56:11 -0400 Received: by wizo1 with SMTP id o1so2202375wiz.1 for <20629@debbugs.gnu.org>; Tue, 26 May 2015 16:56:04 -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=s+dtlxegSh8jRpyslINhSGUS7uT4cQCZyMUa0fm2X+g=; b=VgdN42Gw1nEKEQq9Sm3QHuUmZl3fAJ5PSEsHTOf22W+y5dSAcn7gVE20E8HChFu14h DNO9jMblVww5VqhTyVZpX2Q89UVPnA793aj8rFpw/AS8e7GdIHjheKTiIE+Gv9ESOppn N3ZpG6QuyhtyMp6E59BiEKJkLR9WN4mRaRsT6hBLnCz8EklA09QsA8FjTGfwUoXz9pQE kFjgb3FmbfZ1rFlFZNtwsK61wIeoToobWMa467r6IPjPoZF77GgKCZQmzLPynV55lD7r qj4Prf6j7OUcRFrF7M2wh8pGwonbAj63jGgmePmN0A1f+pJCVQ4/oC33MM/mI5JwUhtQ 9D9g== X-Received: by 10.194.200.194 with SMTP id ju2mr52377320wjc.61.1432684564537; Tue, 26 May 2015 16:56:04 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id z12sm24047912wjq.12.2015.05.26.16.56.03 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 May 2015 16:56:04 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <55650812.60909@yandex.ru> Date: Wed, 27 May 2015 02:56:02 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <837frvywfn.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/26/2015 10:23 PM, Eli Zaretskii wrote: > I don't see how that could be possible: tag-implicit-name-match-p is > language-agnostic. You'd need to make it language-aware before it > could do such stuff for languages that need it. Well, by including ()=,; in that constant, it already makes certain assumptions that aren't necessarily true (for instance, `=' can be, and often is, a part of a method name in Ruby). Adding a colon would be another one of those. Not that I necessarily advocate for it, mind you. > It slips my mind for a moment, but there's some command whose > completion shows for functions, for variables, etc. elisp-completion-at-point can do that. > And it's not the only one, I'm quite sure I saw longer text after each > candidate, perhaps somewhere in 'company'? That's possible. But either way, these are annotations for existing completions. What the suggested patch would do, though, is add new completions. > What kind of junk? Among patterns for tags with explicit names, there could be some odd ones. We never showed them before, I think, anywhere. You should try the patch and see how it goes. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 10:28:25 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 14:28:25 +0000 Received: from localhost ([127.0.0.1]:58480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxcJh-0001J6-Ee for submit@debbugs.gnu.org; Wed, 27 May 2015 10:28:25 -0400 Received: from mtaout28.012.net.il ([80.179.55.184]:51558) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxcJc-0001Ip-Cy for 20629@debbugs.gnu.org; Wed, 27 May 2015 10:28:20 -0400 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0NP000E00IPWVP00@mtaout28.012.net.il> for 20629@debbugs.gnu.org; Wed, 27 May 2015 17:27:24 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP00081VITN6080@mtaout28.012.net.il>; Wed, 27 May 2015 17:27:24 +0300 (IDT) Date: Wed, 27 May 2015 17:28:01 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55650812.60909@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <831ti2yu1a.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Wed, 27 May 2015 02:56:02 +0300 > > I don't see how that could be possible: tag-implicit-name-match-p is > language-agnostic. You'd need to make it language-aware before it > could do such stuff for languages that need it. > > Well, by including ()=,; in that constant, it already makes certain assumptions that aren't necessarily true (for instance, `=' can be, and often is, a part of a method name in Ruby). Adding a colon would be another one of those. That's not the same situation: [()=,;] are used only if there's no explicit tag name; explicit tag names are used without any processing, and the language-specific parsing in etags.c is expected to extract the tag name according to the language-specific rules. The idea behind tag-implicit-name-match-p is an observation that in many practical cases [()=,;] delimit the tag name, and when it does, etags.c could refrain from putting an explicit tag name in TAGS. IOW, this is just an optimization, meant to keep TAGS smaller. By contrast, what you are suggesting (AFAIU) is process an explicit tag name, such as "foo::bar::baz", to deduce that it matches "baz". Or maybe I don't understand the suggestion, since you were talking about tag-implicit-name-match-p, which doesn't look at the explicit tag name at all, and the explicit tag name is the root cause here. > You should try the patch and see how it goes. I will, thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 11:28:28 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 15:28:28 +0000 Received: from localhost ([127.0.0.1]:58516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxdFn-0002i1-J4 for submit@debbugs.gnu.org; Wed, 27 May 2015 11:28:28 -0400 Received: from mail-wi0-f177.google.com ([209.85.212.177]:34810) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxdFh-0002hi-Vf for 20629@debbugs.gnu.org; Wed, 27 May 2015 11:28:22 -0400 Received: by wicmc15 with SMTP id mc15so97513424wic.1 for <20629@debbugs.gnu.org>; Wed, 27 May 2015 08:28:12 -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=yn39XXvhmpEO+d6wbU23OlLhaKhayDXINeyr/pdjRd4=; b=fwE6Ooa6TlrX+cIeuMV6m+dWYW+JNX6D8RivyMfZvDCviAVwqWXGPuSe9f74y6Z3gU LcfUmYyG6FpgpciIrxTwtzkfoTClM17zMF9oR9vPqiNsbEejO0HwmAJecHrUFR/zZceZ xwaoIgkOElLYtVNrksJieV/IKVH2CzSoaBL745UpmkM/r1XrK2hHggdUhRCbZXrqcPIY 4GRIsWo8sr62WR8wHNPSNph7J3rPFV1CZcmo9IzVGRP3NDghB0hHWU7mK9CrjU85Zr9L GCp6/bj9TL3cqM/b4NQli21Y3vqeLonxpLPKfg6gGhnrR/GWyWexUxOnGIMeoYKh9KCD vDaA== X-Received: by 10.180.230.199 with SMTP id ta7mr19462326wic.1.1432740492413; Wed, 27 May 2015 08:28:12 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id ju2sm4186151wid.12.2015.05.27.08.28.11 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 May 2015 08:28:12 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5565E28A.5040507@yandex.ru> Date: Wed, 27 May 2015 18:28:10 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <831ti2yu1a.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/27/2015 05:28 PM, Eli Zaretskii wrote: > That's not the same situation: [()=,;] are used only if there's no > explicit tag name; tag-implicit-name-match-p is used either way. > The idea > behind tag-implicit-name-match-p is an observation that in many > practical cases [()=,;] delimit the tag name, and when it does, > etags.c could refrain from putting an explicit tag name in TAGS. IOW, > this is just an optimization, meant to keep TAGS smaller. That was my understanding as well. However, whether explicit tag names are included or not, doesn't have a lot of effect on my alternative suggestion. > By contrast, what you are suggesting (AFAIU) is process an explicit > tag name, such as "foo::bar::baz", to deduce that it matches "baz". No, to process patterns. I don't think we've ever had qualified explicit tag names, did we? > Or maybe I don't understand the suggestion, since you were talking > about tag-implicit-name-match-p, which doesn't look at the explicit > tag name at all, and the explicit tag name is the root cause here. Running 'etags -Q', and updating tag-implicit-name-match-p to also include : in NONAM should both show us the qualified names in the completion table, as well match the unqualified names when asked for tags. >> You should try the patch and see how it goes. > > I will, thanks. Let us continue this discussion when there's some feedback on it. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 11:47:40 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 15:47:40 +0000 Received: from localhost ([127.0.0.1]:58535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxdYR-0003Bx-Mq for submit@debbugs.gnu.org; Wed, 27 May 2015 11:47:40 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:40136) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxdYO-0003Bh-8f for 20629@debbugs.gnu.org; Wed, 27 May 2015 11:47:38 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NP000C00MGT3Y00@a-mtaout20.012.net.il> for 20629@debbugs.gnu.org; Wed, 27 May 2015 18:47:02 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP000C9CMIE3810@a-mtaout20.012.net.il>; Wed, 27 May 2015 18:47:02 +0300 (IDT) Date: Wed, 27 May 2015 18:46:54 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5565E28A.5040507@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83wpzuxbtd.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Wed, 27 May 2015 18:28:10 +0300 > > On 05/27/2015 05:28 PM, Eli Zaretskii wrote: > > > That's not the same situation: [()=,;] are used only if there's no > > explicit tag name; > > tag-implicit-name-match-p is used either way. Maybe I'm confused, but what about tag-exact-match-p? > > By contrast, what you are suggesting (AFAIU) is process an explicit > > tag name, such as "foo::bar::baz", to deduce that it matches "baz". > > No, to process patterns. I don't think we've ever had qualified explicit > tag names, did we? Yes, we did. That's what the -Q switch controls. > > Or maybe I don't understand the suggestion, since you were talking > > about tag-implicit-name-match-p, which doesn't look at the explicit > > tag name at all, and the explicit tag name is the root cause here. > > Running 'etags -Q', and updating tag-implicit-name-match-p to also > include : in NONAM should both show us the qualified names in the > completion table, as well match the unqualified names when asked for tags. I guess I really don't understand your suggestion, then. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 11:54:30 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 15:54:31 +0000 Received: from localhost ([127.0.0.1]:58543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxdf4-0003MD-Hw for submit@debbugs.gnu.org; Wed, 27 May 2015 11:54:30 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:38282) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxdf1-0003Lx-MN for 20629@debbugs.gnu.org; Wed, 27 May 2015 11:54:28 -0400 Received: by wizo1 with SMTP id o1so28150698wiz.1 for <20629@debbugs.gnu.org>; Wed, 27 May 2015 08:54:22 -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=Hs5CzACT7QxWWoc0QMeQ4EZSXSGHWrWwOSsfMLSQl50=; b=kXJmtUPI+1d7qs6wGgEe5rLREThaXlC90+ziU182pLFDdgxHKglw03YQa3QbjzkNh6 YhTiTfyL7r3NEJoK98hlGP9as16zAa5ssrmMAGBzpGLjcyPzQQwpz+l+Iw540JV/XC0w 0D28cIaNh5ufEttnTuOrMlDRPfd2xZN8KrjSsFJKYtDyzpRpFLwqZ17FVkN03kD5B5HJ WxBPWYhfF33Fu8A8O0jhoQ5VmroK9FVl7FLhZjB++hD3DHRZTiDEn6JSIAu73zjXLBqu sKz8Iin0dz83oced/DaPHK0CQrvEJHc8gmecZNWIt3z74rAudmT5uzOjzO39C9M/fi0Q oHwQ== X-Received: by 10.181.13.241 with SMTP id fb17mr41621832wid.13.1432742061973; Wed, 27 May 2015 08:54:21 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id em17sm4292561wid.11.2015.05.27.08.54.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 May 2015 08:54:21 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5565E8AB.5020107@yandex.ru> Date: Wed, 27 May 2015 18:54:19 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83wpzuxbtd.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/27/2015 06:46 PM, Eli Zaretskii wrote: > Maybe I'm confused, but what about tag-exact-match-p? We collect matches that satisfy either tag-exact-match-p, or tag-implicit-name-match-p. > Yes, we did. That's what the -Q switch controls. Okay, but we match those tags with tag-implicit-name-match-p, don't we? >> Running 'etags -Q', and updating tag-implicit-name-match-p to also >> include : in NONAM should both show us the qualified names in the >> completion table, as well match the unqualified names when asked for tags. > > I guess I really don't understand your suggestion, then. The result would be that the completion table only returns qualified method names, but xref-find-definitions (or find-tag) also shows matches for unqualified method names. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 12:24:36 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 16:24:36 +0000 Received: from localhost ([127.0.0.1]:58558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxe8C-00044X-F7 for submit@debbugs.gnu.org; Wed, 27 May 2015 12:24:36 -0400 Received: from mtaout24.012.net.il ([80.179.55.180]:40399) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxe89-00044I-Ok for 20629@debbugs.gnu.org; Wed, 27 May 2015 12:24:35 -0400 Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NP000I00NSI0S00@mtaout24.012.net.il> for 20629@debbugs.gnu.org; Wed, 27 May 2015 19:15:31 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP000DOVNTUOY40@mtaout24.012.net.il>; Wed, 27 May 2015 19:15:31 +0300 (IDT) Date: Wed, 27 May 2015 19:23:53 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5565E8AB.5020107@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83r3q2xa3q.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Wed, 27 May 2015 18:54:19 +0300 > > On 05/27/2015 06:46 PM, Eli Zaretskii wrote: > > > Maybe I'm confused, but what about tag-exact-match-p? > > We collect matches that satisfy either tag-exact-match-p, or > tag-implicit-name-match-p. Yes, but they look at different parts of the tag's record. > > Yes, we did. That's what the -Q switch controls. > > Okay, but we match those tags with tag-implicit-name-match-p, don't we? No, we match them with tag-exact-match-p, AFAICS. > The result would be that the completion table only returns qualified > method names, but xref-find-definitions (or find-tag) also shows matches > for unqualified method names. That'd be great. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 19:50:34 2015 Received: (at 20629) by debbugs.gnu.org; 27 May 2015 23:50:34 +0000 Received: from localhost ([127.0.0.1]:58739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxl5l-0007gT-Sw for submit@debbugs.gnu.org; Wed, 27 May 2015 19:50:34 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:36023) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxl5j-0007gC-7Z for 20629@debbugs.gnu.org; Wed, 27 May 2015 19:50:32 -0400 Received: by wgbgq6 with SMTP id gq6so22510532wgb.3 for <20629@debbugs.gnu.org>; Wed, 27 May 2015 16:50:25 -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=uX7GKu06asZZn8TgVg/ezRVcWJadFc39X3bZY8+2jIE=; b=y0Es8b2RGNZetZAISuTn7yXew0x6LrtXnnnxTkt7YcTUvrtQmeJYZc1XVO7FO57xSX M31HPnw/dOTyHvm4kwRBGVqFwwJ8ry+X/9P1d6AyGFtWmIotxRIx+wScq1v55squO+65 gh192jPMUGIsfrmBqDtQMJqFHR4ZnkNetbMNalmVHh8zTxtMtiMZFnGHuteji6vhiLij KlBUrBw+vw27252SeOm2/oYhesHiKJCBz/CHjWddaRDvukSTEy7nUOpTIY6c+T72OJ9f ClRD8m8NNS3wFZXYcksgPEh4rqeo6WnsJ3AXJIJ7wyg91ceKirKc9iQ1WZSzhU9RiD4Q 1Tjw== X-Received: by 10.194.249.196 with SMTP id yw4mr16386638wjc.144.1432770625536; Wed, 27 May 2015 16:50:25 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id i6sm670796wjf.29.2015.05.27.16.50.24 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 May 2015 16:50:25 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5566583F.7020503@yandex.ru> Date: Thu, 28 May 2015 02:50:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83r3q2xa3q.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/27/2015 07:23 PM, Eli Zaretskii wrote: > Yes, but they look at different parts of the tag's record. We check every tag against both functions, that's the point. tag-implicit-name-match-p is more flexible, > No, we match them with tag-exact-match-p, AFAICS. No. Unless there's an explicit tag name, this function will return nil. Check out the first comment in its implementation. >> The result would be that the completion table only returns qualified >> method names, but xref-find-definitions (or find-tag) also shows matches >> for unqualified method names. > > That'd be great. We'd get it at the cost of precision, though. In this case, foo:bar (a valid Elisp name) would become an implicit match for "bar". Anyway, this thread of thought is probably not worth pursuing: we'd want to be compatible with 'ctags -e' (not least because it supports more languages), and there's no option to generate qualified C++ method names there. From debbugs-submit-bounces@debbugs.gnu.org Wed May 27 22:50:35 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 02:50:35 +0000 Received: from localhost ([127.0.0.1]:58775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxnty-0003R9-UD for submit@debbugs.gnu.org; Wed, 27 May 2015 22:50:35 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:53700) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxntw-0003Qv-H7 for 20629@debbugs.gnu.org; Wed, 27 May 2015 22:50:33 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NP100N00GUDK300@mtaout27.012.net.il> for 20629@debbugs.gnu.org; Thu, 28 May 2015 05:45:40 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP100D2TH04IKA0@mtaout27.012.net.il>; Thu, 28 May 2015 05:45:40 +0300 (IDT) Date: Thu, 28 May 2015 05:50:19 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5566583F.7020503@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83h9qxxvo4.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Thu, 28 May 2015 02:50:23 +0300 > > On 05/27/2015 07:23 PM, Eli Zaretskii wrote: > > > Yes, but they look at different parts of the tag's record. > > We check every tag against both functions, that's the point. > tag-implicit-name-match-p is more flexible, > > > No, we match them with tag-exact-match-p, AFAICS. > > No. Unless there's an explicit tag name, this function will return nil. > Check out the first comment in its implementation. I _was_ talking about explicit tag names. > Anyway, this thread of thought is probably not worth pursuing: we'd want > to be compatible with 'ctags -e' (not least because it supports more > languages), and there's no option to generate qualified C++ method names > there. Exuberant ctags does have such an option: --extra=+q. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 06:22:11 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 10:22:11 +0000 Received: from localhost ([127.0.0.1]:59003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxux0-0007JF-Pb for submit@debbugs.gnu.org; Thu, 28 May 2015 06:22:11 -0400 Received: from mail-wg0-f50.google.com ([74.125.82.50]:33550) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxuwz-0007J3-1n for 20629@debbugs.gnu.org; Thu, 28 May 2015 06:22:09 -0400 Received: by wgez8 with SMTP id z8so32185078wge.0 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 03:22:03 -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=5Cdotp5fOsBF7yy0b8dJ/UcJIW7c1EXrkL0qviI6noM=; b=DRjHML4R+VC91p9uiLV6e5o++10DS4Ktoh01z1hWUyJ2uNhbS2/7ZINyRoJmQT2nzi E9qi/s/MMkM1ZTpwbMiLPu0TGCmtFpZFn3LMBx+e1X8CoPw9dwgbe9wmpgdFrQ6ELwMv 6gn2B2Gz8H6RGHqRx7554tz+eDCk30fYxwx1bhBfB0PER6Dy6OxWnTtQ0kt9wauCO93I niCs9qJtQQHXTKKqpAeTUVS/RUt6QZRNrlEwDtlB12wFsLz1w21eotUkSa6vBbAgRbt2 /bqYHwBvcFp2mqkyY44q1H6hcvugKQkGHYkS4V7zf7kctnVmS7s6O8VDJhrVZo0hDLJh Ay6g== X-Received: by 10.180.72.176 with SMTP id e16mr15046045wiv.12.1432808523467; Thu, 28 May 2015 03:22:03 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id ny7sm7841733wic.11.2015.05.28.03.22.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 03:22:03 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5566EC49.8010907@yandex.ru> Date: Thu, 28 May 2015 13:22:01 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83h9qxxvo4.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 05:50 AM, Eli Zaretskii wrote: > I _was_ talking about explicit tag names. AFAICS, 'etags -Q' doesn't generate explicit tag names for C++ (for cases we're currently discussing). Only patterns, to be matched implicitly. In any case, tag-exact-match-p is designed to be inflexible, so it's not something we should change. > Exuberant ctags does have such an option: --extra=+q. This brings us to the third option. Here's what the 'ctags -e --extra=+q' output looks like: x.cc,210 class XXXX1,0 class YYYY8,54 XX::foo()foo16,98 XX::foo()XX::foo16,98 XX::bar()bar22,132 XX::bar()XX::bar22,132 YY::bar()bar28,163 YY::bar()YY::bar28,163 main(int argc, char *argv[])main34,193 From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 07:35:54 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 11:35:54 +0000 Received: from localhost ([127.0.0.1]:59027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxw6M-0002CM-0T for submit@debbugs.gnu.org; Thu, 28 May 2015 07:35:54 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:49065) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxw6I-0002CC-SY for 20629@debbugs.gnu.org; Thu, 28 May 2015 07:35:52 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMICWK8GO2MDD357@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Thu, 28 May 2015 13:35:47 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1Yxw6F-0003vN-Cl; Thu, 28 May 2015 13:35:47 +0200 Date: Thu, 28 May 2015 13:35:47 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83wpzuxbtd.fsf@gnu.org> To: Eli Zaretskii Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org, Dmitry Gutov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Two point that are maybe useful for clarifying something. Explicit vs implicit tag: As far as etags.c is concerned, there is no *logical* difference between an explicit tag and an implicit tag. Both are tags and should be viewed and interpreted as such. The fact that a tag is explicit or implicit is *only* an optimization, intended to reduce the size of the TAGS file and the time needed to load it from disk. There should be *no* difference between the treatment of implicit and explicit tags when parsing TAGS file entries. Given that in the 15+ years since implicit tags where introduced the trade-offs between disk space and CPU time have changed, it could maybe make sense to remove the implicit tag concept altogether, and only have explicit tags, should this make things easier. Tagged vs non-tagged entries: An entry is tagged only when necessary, that is, when it would be ambiguous or difficult to match without a tags. Again, this is only an optimization, but this one has logical consequences. For example, for a function declaration it can be useful to make it clear what is the identifier to be matched, so there is a tag. In class-based programs, like C++, it can be useful to provide a fully-qualified name for an identifier, so there is a class::id tag. Here again, it may make sense to tag all entries, if it makes TAGS parsing easier or more accurate. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 07:46:24 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 11:46:25 +0000 Received: from localhost ([127.0.0.1]:59032 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxwGV-0002RO-OY for submit@debbugs.gnu.org; Thu, 28 May 2015 07:46:24 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:37960) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxwGT-0002RA-4R for 20629@debbugs.gnu.org; Thu, 28 May 2015 07:46:21 -0400 Received: by wizo1 with SMTP id o1so58584477wiz.1 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 04:46:15 -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=tt4T52n+PMVqhwWWRuSSU/kcPp0RGpfD7PF+POQsmbw=; b=rFV359ZB+GD1aoUYfBqit9A15u/yBRQchvhtJFZdf+Zb3uLHFz8KWkSsqw6WGRi/6a qRkZzAvCR5njtcndqYrZcYnMMsOn0dK9LNssQSOpK1l1mDkLDCdSf/vCrnx0UWgoyLz+ wXj542jAr/KbCg2UK5+SarO4kbvdSWqcMrTCxrdYEc3EYToC8m+LXG5KjKkolUcujCmS /WFF21tSdtYKFNTGUt/tiCfmZmHRCgUrynSQILLSJEBVoZczDZzWlOIZei4w4khx6cKp WlwOfO1IikWD98ICeRILd/G/CNN6hRRCugSCGYffhgLaqPZz+swP3OpdJXp5311CScl4 uhvw== X-Received: by 10.180.7.169 with SMTP id k9mr15527916wia.84.1432813575480; Thu, 28 May 2015 04:46:15 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id um5sm3000156wjc.1.2015.05.28.04.46.14 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 04:46:15 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= , Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> From: Dmitry Gutov Message-ID: <55670005.2090709@yandex.ru> Date: Thu, 28 May 2015 14:46:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 02:35 PM, Francesco Potortì wrote: > Given that in the 15+ years since implicit tags where > introduced the trade-offs between disk space and CPU time have changed, > it could maybe make sense to remove the implicit tag concept altogether, > and only have explicit tags, should this make things easier. Maybe so, but: > In class-based programs, > like C++, it can be useful to provide a fully-qualified name for an > identifier, so there is a class::id tag. Here again, it may make sense > to tag all entries, if it makes TAGS parsing easier or more accurate. The question at hand is how Emacs should go from a non-qualified tag name (because it's a method call in the buffer, and we don't know which class the object belongs to) to the tag location. Either we use some implicit matching, or each method tag should have two entries: a qualified one, and a non-qualified one. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 07:55:00 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 11:55:00 +0000 Received: from localhost ([127.0.0.1]:59036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxwOp-0002dJ-Bn for submit@debbugs.gnu.org; Thu, 28 May 2015 07:55:00 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:34611) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxwOn-0002d3-GR for 20629@debbugs.gnu.org; Thu, 28 May 2015 07:54:58 -0400 Received: by wgv5 with SMTP id 5so34155404wgv.1 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 04:54:51 -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=0Aw9y3NQQSmvf0ZuPTAWsnHdPrixub+xvJrtOcnE2xM=; b=KN0zhEpu57Fzu/0j0NoADiNFz/yZry2mUssy3HkIIjuJMUc2gl+m2EDb0LK+5ftKM0 hXZot7Nwz/sNPZtLm7S7UjEDAaMe0rD0nkK0i3/7dOwBIcgm5sjiUOjgJtxeKNV23Kms 8Za3+BoAjo2Qv6ZdzI26EoN64bAB03fGCkY1Yjj0na9hcqq6awkgQmAwU/g5GleR07Ah uKWVFmc1jHruCquWcZC6CwZEQth8B/IAyDq1mU1XOotJNi7+bwt5RWB8+KuD2kJVuRoH vDGCufySXKXYyqgnaJ37Pg3WzbLgJuwqgPJ8ht5QHX7LutBfAXOisUXsYytyn5V30vLe OPIw== X-Received: by 10.194.6.229 with SMTP id e5mr838901wja.158.1432814091700; Thu, 28 May 2015 04:54:51 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id wv3sm3033771wjc.0.2015.05.28.04.54.50 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 04:54:51 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Stefan Monnier , Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <55670209.9080608@yandex.ru> Date: Thu, 28 May 2015 14:54:49 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/27/2015 12:01 AM, Stefan Monnier wrote: > BTW, it might be worthwhile to try and replace the obarray with > a function which directly searches the corresponding tags buffers. > Searching those buffers might not be significantly slower than searching > the obarray, with the advantage that we avoid the "building the > completion table" step. Having the table always up-to-date would be nice. But here's some numbers with a rough patch. The project is of moderate size: Linux kernel. TAGS is 159097 lines long. Pre-built tags-completion-table: Build it -> 1.34 seconds (all-completions "" (tags-completion-table)) after that -> 0.02 seconds Dynamic completion table: (all-completions "" (tags-completion-table)) -> 0.78 seconds ^-- same with any longer prefix, in this implementation Patch: diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 9ff164e..19de126 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -753,31 +753,18 @@ Assumes the tags table is the current buffer." (setq tags-included-tables (funcall tags-included-tables-function)))) (defun tags-completion-table () - "Build `tags-completion-table' on demand. + "Return tags completion table. The tags included in the completion table are those in the current tags table and its (recursively) included tags tables." - (or tags-completion-table - ;; No cached value for this buffer. - (condition-case () - (let (current-table combined-table) - (message "Making tags completion table for %s..." buffer-file-name) - (save-excursion - ;; Iterate over the current list of tags tables. - (while (visit-tags-table-buffer (and combined-table t)) - ;; Find possible completions in this table. - (setq current-table (funcall tags-completion-table-function)) - ;; Merge this buffer's completions into the combined table. - (if combined-table - (mapatoms - (lambda (sym) (intern (symbol-name sym) combined-table)) - current-table) - (setq combined-table current-table)))) - (message "Making tags completion table for %s...done" - buffer-file-name) - ;; Cache the result in a buffer-local variable. - (setq tags-completion-table combined-table)) - (quit (message "Tags completion table construction aborted.") - (setq tags-completion-table nil))))) + (completion-table-with-cache + (lambda (_string) + (let (cont tables) + (save-excursion + ;; Iterate over the current list of tags tables. + (while (visit-tags-table-buffer (or cont (progn (setq cont t) nil))) + ;; Find possible completions in this table. + (push (funcall tags-completion-table-function) tables))) + (nreverse (apply #'nconc tables)))))) ;;;###autoload (defun tags-lazy-completion-table () @@ -1256,11 +1243,7 @@ buffer-local values of tags table format variables." (defun etags-tags-completion-table () ; Doc string? - (let ((table (make-vector 511 0)) - (progress-reporter - (make-progress-reporter - (format "Making tags completion table for %s..." buffer-file-name) - (point-min) (point-max)))) + (let ((table nil)) (save-excursion (goto-char (point-min)) ;; This monster regexp matches an etags tag line. @@ -1276,12 +1259,11 @@ buffer-local values of tags table format variables." \\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\ \\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n" nil t) - (intern (prog1 (if (match-beginning 5) + (push (prog1 (if (match-beginning 5) ;; There is an explicit tag name. (buffer-substring (match-beginning 5) (match-end 5)) ;; No explicit tag name. Best guess. - (buffer-substring (match-beginning 3) (match-end 3))) - (progress-reporter-update progress-reporter (point))) + (buffer-substring (match-beginning 3) (match-end 3)))) table))) table)) From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 08:16:38 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 12:16:38 +0000 Received: from localhost ([127.0.0.1]:59050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxwjh-00039J-7b for submit@debbugs.gnu.org; Thu, 28 May 2015 08:16:37 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:44088) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxwja-00038y-5p for 20629@debbugs.gnu.org; Thu, 28 May 2015 08:16:31 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMIEBVDMQMMDDMRJ@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Thu, 28 May 2015 14:16:22 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YxwjV-00045b-Re; Thu, 28 May 2015 14:16:22 +0200 Date: Thu, 28 May 2015 14:16:21 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55670005.2090709@yandex.ru> To: Dmitry Gutov Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> In class-based programs, >> like C++, it can be useful to provide a fully-qualified name for an >> identifier, so there is a class::id tag. Here again, it may make sense >> to tag all entries, if it makes TAGS parsing easier or more accurate. > >The question at hand is how Emacs should go from a non-qualified tag >name (because it's a method call in the buffer, and we don't know which >class the object belongs to) to the tag location. Either we use some >implicit matching, or each method tag should have two entries: a >qualified one, and a non-qualified one. Well, I'd say, when matching NAME: first, match against a tag NAME second, if appropriate, match against a tag ::NAME third, regex match against a tag .*::NAME$ fourth, match against the entry, without looking at the tag I would have said that it is already implemented like this, but in fact I cared about etags.c, not much about etags.el. As I said previously, whether the tag is implicit or explicit makes no *logical* difference, but it can impact performance. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 08:59:31 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 12:59:31 +0000 Received: from localhost ([127.0.0.1]:59083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxxPH-0004CV-2X for submit@debbugs.gnu.org; Thu, 28 May 2015 08:59:31 -0400 Received: from mail-wi0-f169.google.com ([209.85.212.169]:33762) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxxPD-0004CH-UY for 20629@debbugs.gnu.org; Thu, 28 May 2015 08:59:28 -0400 Received: by wicmx19 with SMTP id mx19so122771939wic.0 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 05:59:22 -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=oC9VE5TYQ3tVChQ094KYXAV2vNAMKDroaYTgDbJKJtM=; b=TQOOihqlpoTKod7kzTpOpTDpyLVKM0D+vp/1It5osgNjn4tQAJKRMX73jvci4AHK+1 aQuSDGJZiQE4Vvikzg3c/KZ5OUz/sQePk0uQscpSxKMjrlParEAZ921dbXY6GSLKXXEZ VPJ681FiLKSLQCrulx2renlnc7b+v0hocucdF34hDvib/lG1cJMUA9L0aZRDDTBjHRMB ELZmGQ6hWDliDjSpUWOJwYLzkpgONXJmIoJcr4W6KsMiXfsnuD4IrJrxLFKzvgUc4W6E 8mmhiWv5PIwItct7PdF//unkF4W8Vl20TGdlmYHvEh+/QAPnRLqi8QbY9JVjZIsIX9IE Iutw== X-Received: by 10.180.82.6 with SMTP id e6mr61649784wiy.84.1432817962203; Thu, 28 May 2015 05:59:22 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id bh7sm3275055wjb.8.2015.05.28.05.59.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 05:59:22 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Stefan Monnier , Eli Zaretskii 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> <55670209.9080608@yandex.ru> From: Dmitry Gutov Message-ID: <55671128.3080607@yandex.ru> Date: Thu, 28 May 2015 15:59:20 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <55670209.9080608@yandex.ru> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) And here's an attempt to simplify the regexp and use the input string. It brings us down to 200ms in the best case (completions for "get_"), and that can be improved further, but the worst case (completions for "") gets considerably worse: 3 seconds. diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 9ff164e..230fffa 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -753,31 +753,18 @@ Assumes the tags table is the current buffer." (setq tags-included-tables (funcall tags-included-tables-function)))) (defun tags-completion-table () - "Build `tags-completion-table' on demand. + "Return tags completion table. The tags included in the completion table are those in the current tags table and its (recursively) included tags tables." - (or tags-completion-table - ;; No cached value for this buffer. - (condition-case () - (let (current-table combined-table) - (message "Making tags completion table for %s..." buffer-file-name) - (save-excursion - ;; Iterate over the current list of tags tables. - (while (visit-tags-table-buffer (and combined-table t)) - ;; Find possible completions in this table. - (setq current-table (funcall tags-completion-table-function)) - ;; Merge this buffer's completions into the combined table. - (if combined-table - (mapatoms - (lambda (sym) (intern (symbol-name sym) combined-table)) - current-table) - (setq combined-table current-table)))) - (message "Making tags completion table for %s...done" - buffer-file-name) - ;; Cache the result in a buffer-local variable. - (setq tags-completion-table combined-table)) - (quit (message "Tags completion table construction aborted.") - (setq tags-completion-table nil))))) + (completion-table-with-cache + (lambda (string) + (let (cont tables) + (save-excursion + ;; Iterate over the current list of tags tables. + (while (visit-tags-table-buffer (or cont (progn (setq cont t) nil))) + ;; Find possible completions in this table. + (push (funcall tags-completion-table-function string) tables))) + (nreverse (apply #'nconc tables)))))) ;;;###autoload (defun tags-lazy-completion-table () @@ -1218,7 +1205,7 @@ buffer-local values of tags table format variables." (mapc (lambda (elt) (set (make-local-variable (car elt)) (cdr elt))) '((file-of-tag-function . etags-file-of-tag) (tags-table-files-function . etags-tags-table-files) - (tags-completion-table-function . etags-tags-completion-table) + (tags-completion-table-function . etags-tags-completions) (snarf-tag-function . etags-snarf-tag) (goto-tag-location-function . etags-goto-tag-location) (find-tag-regexp-search-function . re-search-forward) @@ -1255,12 +1242,9 @@ buffer-local values of tags table format variables." (expand-file-name str (file-truename default-directory)))))) -(defun etags-tags-completion-table () ; Doc string? - (let ((table (make-vector 511 0)) - (progress-reporter - (make-progress-reporter - (format "Making tags completion table for %s..." buffer-file-name) - (point-min) (point-max)))) +(defun etags-tags-completions (string) ; Doc string? + (let ((table nil) + (re (format "[\n \t()=,;\177]%s" (regexp-quote string)))) (save-excursion (goto-char (point-min)) ;; This monster regexp matches an etags tag line. @@ -1271,18 +1255,16 @@ buffer-local values of tags table format variables." ;; \5 is the explicitly-specified tag name. ;; \6 is the line to start searching at; ;; \7 is the char to start searching at. - (while (re-search-forward - "^\\(\\([^\177]+[^-a-zA-Z0-9_+*$:\177]+\\)?\ -\\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\ -\\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n" - nil t) - (intern (prog1 (if (match-beginning 5) - ;; There is an explicit tag name. - (buffer-substring (match-beginning 5) (match-end 5)) - ;; No explicit tag name. Best guess. - (buffer-substring (match-beginning 3) (match-end 3))) - (progress-reporter-update progress-reporter (point))) - table))) + (while (re-search-forward re nil t) + (save-excursion + (goto-char (match-beginning 0)) + (let ((match-re (if (eq (char-after) ?\177) + ;; Explicit tag name. + "\177\\([^\001]+\\)\001" + ;; Implicit tag name. + "[\n \t()=,;]\\([^\177 \t()=,;]+\\)\177"))) + (when (looking-at match-re) + (push (match-string 1) table)))))) table)) (defun etags-snarf-tag (&optional use-explicit) ; Doc string? From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 09:01:06 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 13:01:07 +0000 Received: from localhost ([127.0.0.1]:59087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxxQm-0004GG-3j for submit@debbugs.gnu.org; Thu, 28 May 2015 09:01:05 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:33577) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxxQj-0004Fn-5V for 20629@debbugs.gnu.org; Thu, 28 May 2015 09:01:02 -0400 Received: by wicmx19 with SMTP id mx19so122820303wic.0 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 06:00:55 -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=/jaZzdVW1SDVRkSL7QNIOvqgoBAA2Q9eocfJH/9hREY=; b=GCVo8MkXdeiiZKfF/N1I/zcvJ9fel8gdKWvqaYIBSS/Z3/+52pCnWRBlLeXLTBneMf B+0vG0V6hoO6LFmWblvs20cFLZ4wJ1PKITRNSa1Iq72VgcdQdXh3TSSNdUyqxZLEuRT1 nKc3AOk6Ykb2qm4eIYvwHJDsluDTumCo90DTylTVW5JfCPngrQNU6TwEoDmoFPU1Jj0N m5WsiBqwpj3VTw9pqaA9bt+G63YBxfACB4B0u/Hi81MhzWoVpq0MQWBQxSuVWaUVDJjv xakOKAt4Op+LuiavO/A0s5hqu2A3P4V4+9C0vAbeM9eFbxIjORILMtYI/yk4VIKKS6R+ 24Qw== X-Received: by 10.194.133.7 with SMTP id oy7mr5298263wjb.54.1432818055597; Thu, 28 May 2015 06:00:55 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id ew10sm8451799wic.22.2015.05.28.06.00.54 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 06:00:55 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> From: Dmitry Gutov Message-ID: <55671186.9090503@yandex.ru> Date: Thu, 28 May 2015 16:00:54 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 03:16 PM, Francesco Potortì wrote: > second, if appropriate, match against a tag ::NAME > third, regex match against a tag .*::NAME$ Why can we use colons? That implies some sort of knowledge about C++, whereas until now etags.el has remained language-agnostic. > fourth, match against the entry, without looking at the tag That brings us false positives. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 09:12:51 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 13:12:52 +0000 Received: from localhost ([127.0.0.1]:59091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxxc7-0004Wo-4K for submit@debbugs.gnu.org; Thu, 28 May 2015 09:12:51 -0400 Received: from blade4.isti.cnr.it ([194.119.192.20]:12535) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxxc1-0004Wc-7g for 20629@debbugs.gnu.org; Thu, 28 May 2015 09:12:46 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMIGAN2SPWMDDMRJ@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Thu, 28 May 2015 15:12:39 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1Yxxby-0004Kx-EG; Thu, 28 May 2015 15:12:38 +0200 Date: Thu, 28 May 2015 15:12:38 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55671186.9090503@yandex.ru> To: Dmitry Gutov Message-id: Organization: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> <55671186.9090503@yandex.ru> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Francesco Potortì wrote: >> second, if appropriate, match against a tag ::NAME >> third, regex match against a tag .*::NAME$ > >Why can we use colons? That implies some sort of knowledge about C++, >whereas until now etags.el has remained language-agnostic. Mh. I had taken it for given that each major-mode in fact added something to the list of functions called when looking for a tag. Doesn't it work that way? If not, couldn't it be done for languages where the language-agnostic behaviour of etags.el is not satisfactory? >> fourth, match against the entry, without looking at the tag > >That brings us false positives. Sure, and in fact I was suggesting it only as a last resort :) From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 10:57:36 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 14:57:36 +0000 Received: from localhost ([127.0.0.1]:59679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzFY-0007Dd-3O for submit@debbugs.gnu.org; Thu, 28 May 2015 10:57:36 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:56464) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzFW-0007DO-2s for 20629@debbugs.gnu.org; Thu, 28 May 2015 10:57:35 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NP200F00EUWFY00@mtaout26.012.net.il> for 20629@debbugs.gnu.org; Thu, 28 May 2015 17:58:42 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP2009X0EXTSW50@mtaout26.012.net.il>; Thu, 28 May 2015 17:58:42 +0300 (IDT) Date: Thu, 28 May 2015 17:56:41 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5566EC49.8010907@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <837frsycly.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Thu, 28 May 2015 13:22:01 +0300 > > On 05/28/2015 05:50 AM, Eli Zaretskii wrote: > > > I _was_ talking about explicit tag names. > > AFAICS, 'etags -Q' doesn't generate explicit tag names for C++ (for > cases we're currently discussing). Yes, it does. Try running it on test/etags/cp-src/c.C, for example. > Only patterns, to be matched implicitly. Whether "etags -Q" generates explicit tag names or not is orthogonal to whether it qualifies class members. The decision depends on the text surrounding the pattern. > > Exuberant ctags does have such an option: --extra=+q. > > This brings us to the third option. Here's what the 'ctags -e > --extra=+q' output looks like: > > x.cc,210 > class XXXX1,0 > class YYYY8,54 > XX::foo()foo16,98 > XX::foo()XX::foo16,98 > XX::bar()bar22,132 > XX::bar()XX::bar22,132 > YY::bar()bar28,163 > YY::bar()YY::bar28,163 > main(int argc, char *argv[])main34,193 If you mean that producing two entries instead of one under -Q will produce better results both with xref-find-definitions and with completion, making the above happen in etags is an easy change, I think. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 11:04:24 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 15:04:24 +0000 Received: from localhost ([127.0.0.1]:59683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzM8-0007RN-8X for submit@debbugs.gnu.org; Thu, 28 May 2015 11:04:24 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:40446) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzM5-0007R6-TP for 20629@debbugs.gnu.org; Thu, 28 May 2015 11:04:22 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NP200100EV62200@a-mtaout21.012.net.il> for 20629@debbugs.gnu.org; Thu, 28 May 2015 18:04:15 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP2001BMF720560@a-mtaout21.012.net.il>; Thu, 28 May 2015 18:04:14 +0300 (IDT) Date: Thu, 28 May 2015 18:04:08 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: X-012-Sender: halo1@inter.net.il To: Francesco =?utf-8?Q?Potort=C3=AC?= Message-id: <83617cyc9j.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> <55671186.9090503@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 28 May 2015 15:12:38 +0200 > From: Francesco Potortì > Cc: Eli Zaretskii , 20629@debbugs.gnu.org > > Francesco Potortì wrote: > >> second, if appropriate, match against a tag ::NAME > >> third, regex match against a tag .*::NAME$ > > > >Why can we use colons? That implies some sort of knowledge about C++, > >whereas until now etags.el has remained language-agnostic. > > Mh. I had taken it for given that each major-mode in fact added > something to the list of functions called when looking for a tag. > Doesn't it work that way? No. In addition, doing so would not work if I tried to look up a symbol in language A from a buffer whose major mode is tailored to language B. > If not, couldn't it be done for languages where the > language-agnostic behaviour of etags.el is not satisfactory? etags.el relies on etags.c to know languages well enough to do that part of the job. I think we should keep this separation of responsibilities. From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 11:14:31 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 15:14:32 +0000 Received: from localhost ([127.0.0.1]:59692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzVv-0007gd-JY for submit@debbugs.gnu.org; Thu, 28 May 2015 11:14:31 -0400 Received: from blade4.isti.cnr.it ([194.119.192.20]:23680) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YxzVt-0007gT-OX for 20629@debbugs.gnu.org; Thu, 28 May 2015 11:14:30 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMIKJNPUGMMELMRB@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Thu, 28 May 2015 17:14:27 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YxzVq-00058M-NT; Thu, 28 May 2015 17:14:26 +0200 Date: Thu, 28 May 2015 17:14:26 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83617cyc9j.fsf@gnu.org> To: Eli Zaretskii Message-id: Organization: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> <55671186.9090503@yandex.ru> <83617cyc9j.fsf@gnu.org> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Eli Zaretskii: >> Francesco Potortì wrote: >> >> second, if appropriate, match against a tag ::NAME >> >> third, regex match against a tag .*::NAME$ >> > >> >Why can we use colons? That implies some sort of knowledge about C++, >> >whereas until now etags.el has remained language-agnostic. >> >> Mh. I had taken it for given that each major-mode in fact added >> something to the list of functions called when looking for a tag. >> Doesn't it work that way? > >No. > >In addition, doing so would not work if I tried to look up a symbol in >language A from a buffer whose major mode is tailored to language B. > >> If not, couldn't it be done for languages where the >> language-agnostic behaviour of etags.el is not satisfactory? > >etags.el relies on etags.c to know languages well enough to do that >part of the job. I think we should keep this separation of >responsibilities. I see. Given these constraints, I see no other way than augmenting the TAGS format to include an arbitrary number of tags per entry... From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 11:29:45 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 15:29:45 +0000 Received: from localhost ([127.0.0.1]:59701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxzke-00083L-DN for submit@debbugs.gnu.org; Thu, 28 May 2015 11:29:44 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:2925) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxzkb-00083A-7K for 20629@debbugs.gnu.org; Thu, 28 May 2015 11:29:42 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMIL2IOKQ8MELMRB@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Thu, 28 May 2015 17:29:39 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YxzkZ-0005DN-0S; Thu, 28 May 2015 17:29:39 +0200 Date: Thu, 28 May 2015 17:29:39 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: To: dgutov@yandex.ru, 20629@debbugs.gnu.org, Eli Zaretskii Message-id: Organization: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> <55671186.9090503@yandex.ru> <83617cyc9j.fsf@gnu.org> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >Eli Zaretskii: >>> Francesco Potortì wrote: >>> >> second, if appropriate, match against a tag ::NAME >>> >> third, regex match against a tag .*::NAME$ >>> > >>> >Why can we use colons? That implies some sort of knowledge about C++, >>> >whereas until now etags.el has remained language-agnostic. >>> >>> Mh. I had taken it for given that each major-mode in fact added >>> something to the list of functions called when looking for a tag. >>> Doesn't it work that way? >> >>No. >> >>In addition, doing so would not work if I tried to look up a symbol in >>language A from a buffer whose major mode is tailored to language B. >> >>> If not, couldn't it be done for languages where the >>> language-agnostic behaviour of etags.el is not satisfactory? >> >>etags.el relies on etags.c to know languages well enough to do that >>part of the job. I think we should keep this separation of >>responsibilities. > >I see. Given these constraints, I see no other way than augmenting the >TAGS format to include an arbitrary number of tags per entry... Answering to myself: yes, Dmitry's suggestion would not even need changing the TAGS format. For class-based languages, in addition to the currently generated entry which contains a fully-qualified tag, generate an additional entry containing an unqualified tag (which most of the time will be an implicit tag). From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 11:32:57 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 15:32:58 +0000 Received: from localhost ([127.0.0.1]:59705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxznl-000899-3T for submit@debbugs.gnu.org; Thu, 28 May 2015 11:32:57 -0400 Received: from mail-wg0-f51.google.com ([74.125.82.51]:35814) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yxzni-00088u-D0 for 20629@debbugs.gnu.org; Thu, 28 May 2015 11:32:55 -0400 Received: by wgme6 with SMTP id e6so39774741wgm.2 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 08:32:48 -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=bE4nR5lF3nOnnYRd30LOBnNi+EDuNlh2TDaBXQuZ1+0=; b=LenC91KwIgjVP4KTanoCjbwUiEA14xc8eKCzimGLMH/nM2AtSU24KzNN7C+inD6tR/ QFGc+38NTCwCMgsTYyXk6klwzcIEXTFGMmBgzb7FoJW5dZFopy8MAedpqBdg7OTL4V++ kFJ+9esiDsVFa7/xE2lwMZATZqWzgSFLI34PzzNJ3CrhcLQbQtR8QE3G+yu53YyW/2aJ 64QQBgGVYTCca3Iwqd+t1ku2Q9pZYBg67+cyMVUwwYHYtIQrCRINtVzi3LawstnmFTC5 G/3DhaSUBo0DU7N4CSFMa5RmrSVokiDsNoPWx6QRYmPhGjcoINDsT4DthO/AopKtC14w osSw== X-Received: by 10.180.187.232 with SMTP id fv8mr63531601wic.28.1432827168792; Thu, 28 May 2015 08:32:48 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id u9sm3845229wju.44.2015.05.28.08.32.48 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 08:32:48 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5567351E.7020006@yandex.ru> Date: Thu, 28 May 2015 18:32:46 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <837frsycly.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 05:56 PM, Eli Zaretskii wrote: > Yes, it does. Try running it on test/etags/cp-src/c.C, for example. Okay, sometimes it does. Point is, tags-explicit-match-p won't apply to the many entries where it doesn't. > Whether "etags -Q" generates explicit tag names or not is orthogonal > to whether it qualifies class members. The decision depends on the > text surrounding the pattern. Yes, okay. > If you mean that producing two entries instead of one under -Q will > produce better results both with xref-find-definitions and with > completion... It should, though at the cost of larger file size (and completion table size, relative to the proposal where we don't include the unqualified tags in it). From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 12:35:15 2015 Received: (at 20629) by debbugs.gnu.org; 28 May 2015 16:35:15 +0000 Received: from localhost ([127.0.0.1]:59728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yy0m2-0001FQ-GS for submit@debbugs.gnu.org; Thu, 28 May 2015 12:35:14 -0400 Received: from mtaout27.012.net.il ([80.179.55.183]:53545) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yy0lz-0001F9-Bc for 20629@debbugs.gnu.org; Thu, 28 May 2015 12:35:12 -0400 Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NP200D00J5T0E00@mtaout27.012.net.il> for 20629@debbugs.gnu.org; Thu, 28 May 2015 19:30:19 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP200C1QJ6J1U10@mtaout27.012.net.il>; Thu, 28 May 2015 19:30:19 +0300 (IDT) Date: Thu, 28 May 2015 19:34:58 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5567351E.7020006@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83zj4owthp.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Thu, 28 May 2015 18:32:46 +0300 > > > If you mean that producing two entries instead of one under -Q will > > produce better results both with xref-find-definitions and with > > completion... > > It should, though at the cost of larger file size (and completion table > size, relative to the proposal where we don't include the unqualified > tags in it). But having just qualified tags is bad for accuracy, right? So do we have a decision here? From debbugs-submit-bounces@debbugs.gnu.org Thu May 28 20:10:10 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 00:10:11 +0000 Received: from localhost ([127.0.0.1]:59884 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yy7sF-00071h-VY for submit@debbugs.gnu.org; Thu, 28 May 2015 20:10:09 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:36836) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yy7s9-000715-Kv for 20629@debbugs.gnu.org; Thu, 28 May 2015 20:10:03 -0400 Received: by wgbgq6 with SMTP id gq6so49477229wgb.3 for <20629@debbugs.gnu.org>; Thu, 28 May 2015 17:09:55 -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=zlCs4Wpp314hlzPobY7wxK8eyW79Cr5vnDTzoOSOuGY=; b=WJEsl9i3yKCajnTypcr3z3KfU9AzIcNRuJwGxC4Ip63U4SowXXHIHpek+hPC/BL6ll AROmPSNb24WUm8gwwkBA2F9JU83SbeaJrwOzTAsBocUOp5NSFpJN/vbiX1L2JYn6R3rx 3k1GASZ2iKGRKvz04ZTRFezSYGhesB5ECJkaLSutIDzkwzUuJ6jMbdUj95SS+fus9GO6 IZeDnFXn7z7PxAJtGxRyHqSirmj9uwWjkYQSM8LJVHvgaHPuD/sKE7329VyTuVUcHQWH yAvpElgNya9JWdBRyj07QhCNJKqUSe04jaESMYee5fOELQJTplo0t/7sZfQ68k1wmHXq 6Nng== X-Received: by 10.194.187.15 with SMTP id fo15mr10145654wjc.100.1432858195802; Thu, 28 May 2015 17:09:55 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id bh7sm5686440wjb.8.2015.05.28.17.09.55 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 May 2015 17:09:55 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5567AE52.1000600@yandex.ru> Date: Fri, 29 May 2015 03:09:54 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83zj4owthp.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 07:34 PM, Eli Zaretskii wrote: > But having just qualified tags is bad for accuracy, right? Maybe. Depends on things we would add to the Lisp code. > So do we have a decision here? If you want my opinion (please keep in mind: not an etags user), following in Exuberant Ctags's footsteps sounds best. Nobody ever got fired for doing that. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 02:49:01 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 06:49:01 +0000 Received: from localhost ([127.0.0.1]:59951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyE6H-0000oQ-3h for submit@debbugs.gnu.org; Fri, 29 May 2015 02:49:01 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:36173 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyE6F-0000oI-6Q for 20629@debbugs.gnu.org; Fri, 29 May 2015 02:48:59 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1YyE6D-0004Vz-5o; Fri, 29 May 2015 02:48:57 -0400 From: Glenn Morris To: Dmitry Gutov Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> <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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> X-Spook: Etacs computer terrorism Indigo Project Monarch data X-Ran: 4[V_6NdX?i&6TQY^~p6Ew^)Ezo2jw-;@&pbg*9]ZlYQd_z]6M~=k-XbC]NAY&{oF9O-z@% X-Hue: yellow X-Debbugs-No-Ack: yes X-Attribution: GM Date: Fri, 29 May 2015 02:48:57 -0400 In-Reply-To: <5567AE52.1000600@yandex.ru> (Dmitry Gutov's message of "Fri, 29 May 2015 03:09:54 +0300") Message-ID: <1nvbfbri92.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Dmitry Gutov wrote: > If you want my opinion (please keep in mind: not an etags user), > following in Exuberant Ctags's footsteps sounds best. I'm not one either, but I've been meaning to ask: why is etags in Emacs? It does a generic job that isn't specific to Emacs, and other programs that do this exist. https://github.com/fishman/ctags seems active and has an Emacs developer (Masatake YAMATO) as a contributor. The question was asked before: http://lists.gnu.org/archive/html/emacs-devel/2007-01/msg00075.html It's my (superficial) impression that etags hasn't progressed much since then. The majority of the changes seem to have been generic code-cleanup stuff. Is it that etags recognizes Emacs-specific C code that ctags does not? My only motivation for asking is that it's good to reduce the number of things that need to be maintained in Emacs, where possible. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 04:09:24 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 08:09:24 +0000 Received: from localhost ([127.0.0.1]:60031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyFM3-0002nR-TC for submit@debbugs.gnu.org; Fri, 29 May 2015 04:09:24 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:35679) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyFLz-0002n7-MX for 20629@debbugs.gnu.org; Fri, 29 May 2015 04:09:21 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NP300900Q3J1Z00@mtaout25.012.net.il> for 20629@debbugs.gnu.org; Fri, 29 May 2015 11:05:04 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP300814QGGZM20@mtaout25.012.net.il>; Fri, 29 May 2015 11:05:04 +0300 (IDT) Date: Fri, 29 May 2015 11:09:08 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <1nvbfbri92.fsf@fencepost.gnu.org> X-012-Sender: halo1@inter.net.il To: Glenn Morris , Francesco =?iso-8859-1?Q?Potort=EC?= , Richard Stallman Message-id: <83h9qvx0t7.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit References: <555EC552.5010600@swipnet.se> <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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <1nvbfbri92.fsf@fencepost.gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org, dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Glenn Morris > Cc: Eli Zaretskii , 20629@debbugs.gnu.org > Date: Fri, 29 May 2015 02:48:57 -0400 > > Dmitry Gutov wrote: > > > If you want my opinion (please keep in mind: not an etags user), > > following in Exuberant Ctags's footsteps sounds best. > > I'm not one either, but I've been meaning to ask: why is etags in Emacs? The answer to that is lost in history (for me). Perhaps Richard and Francesco (cc'ed) will remember. But since it is here, it is, IMO, a Good Thing, because we can easily affect its operation where it's important to us. Especially lately, when the front-end was changed, and the new one has different expectations. > It's my (superficial) impression that etags hasn't progressed much since > then. The majority of the changes seem to have been generic code-cleanup > stuff. That's not true, there were a couple of non-trivial changes lately that are not cleanups, and I think there will be one more soon. This thread discusses some of them, the other one is discussed here: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html > Is it that etags recognizes Emacs-specific C code that ctags does not? Which ctags do you allude to here? There are quite a few of them out there. > My only motivation for asking is that it's good to reduce the number of > things that need to be maintained in Emacs, where possible. I don't think we should remove this one, no. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 04:12:45 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 08:12:45 +0000 Received: from localhost ([127.0.0.1]:60035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyFPI-0002sB-TI for submit@debbugs.gnu.org; Fri, 29 May 2015 04:12:45 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:58983) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyFPF-0002rw-Vs for 20629@debbugs.gnu.org; Fri, 29 May 2015 04:12:42 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NP300L00QNAEE00@a-mtaout22.012.net.il> for 20629@debbugs.gnu.org; Fri, 29 May 2015 11:12:35 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP300LZ6QSZEC00@a-mtaout22.012.net.il>; Fri, 29 May 2015 11:12:35 +0300 (IDT) Date: Fri, 29 May 2015 11:12:31 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5567AE52.1000600@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83fv6fx0nk.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Fri, 29 May 2015 03:09:54 +0300 > > On 05/28/2015 07:34 PM, Eli Zaretskii wrote: > > > But having just qualified tags is bad for accuracy, right? > > Maybe. Depends on things we would add to the Lisp code. Can you elaborate? Is there a way to get the same accuracy and completion without having both qualified and unqualified tags? > > So do we have a decision here? > > If you want my opinion (please keep in mind: not an etags user), > following in Exuberant Ctags's footsteps sounds best. Nobody ever got > fired for doing that. Yes, but I think if we change etags to create duplicate tags, we should have this feature opt-out, unlike Exuberant, otherwise TAGS created by default will be deficient with xref. Do you agree? From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 05:27:37 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 09:27:37 +0000 Received: from localhost ([127.0.0.1]:60063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyGZl-0004g6-Dl for submit@debbugs.gnu.org; Fri, 29 May 2015 05:27:37 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:33645) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyGZi-0004fs-Bl for 20629@debbugs.gnu.org; Fri, 29 May 2015 05:27:35 -0400 Received: by wicmx19 with SMTP id mx19so10751162wic.0 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 02:27:28 -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=vxJDhgnzMTq21xqB2zC3+Ge6U+08LeDs+ZcqPojRp/c=; b=tf/P+wrv4nb7SKQ9ZZh6uWYyLQLsUpMb7UqHQeouh40tYjfGBAt6ZonPCCTBgqICFS sAc6W7YflqEfwAxEs1aTZN3wM2WB4P8bQX5qkNTEkCkrs0dJHeFiWbXYxUtyXuqPFOEd l6mcZ24eOpFXXS6qoscOspCi0PhbOjp2x/AVZbXH6giDAEQvLZv3R9Wn4msJWBGu4fPI 8GffzDeAUIpO2aGKRu4nsqnNIF+kYKX3R5e0QNjBYjtNeIz/JN1vrHLA2KrVDIZRL41I Zg1bi1r/g1yVrR8EBGeFlOEoyLTS+Obfp+XuuDKf+Ljd+g2HvXJYw7Tup42r9s3HMP7x BW/Q== X-Received: by 10.194.95.132 with SMTP id dk4mr13836209wjb.88.1432891648691; Fri, 29 May 2015 02:27:28 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id u9sm7402346wju.44.2015.05.29.02.27.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 02:27:28 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Glenn Morris References: <555EC552.5010600@swipnet.se> <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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <1nvbfbri92.fsf@fencepost.gnu.org> From: Dmitry Gutov Message-ID: <556830FE.5050806@yandex.ru> Date: Fri, 29 May 2015 12:27:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <1nvbfbri92.fsf@fencepost.gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 09:48 AM, Glenn Morris wrote: > https://github.com/fishman/ctags seems active and has an Emacs developer > (Masatake YAMATO) as a contributor. It indeed seems to be progressing nicely (fixed a Ruby bug I've reported just recently), but this fork is not packaged by any distribution yet, AFAIK. So that's an argument toward keeping etags, at least for the time being. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 08:35:04 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 12:35:04 +0000 Received: from localhost ([127.0.0.1]:60098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyJV7-0005Dd-SC for submit@debbugs.gnu.org; Fri, 29 May 2015 08:35:03 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:30679) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyJV4-0005DG-TP for 20629@debbugs.gnu.org; Fri, 29 May 2015 08:35:00 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMJT97SOIIMEMV8Q@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Fri, 29 May 2015 14:34:54 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YyJV1-0000hk-Gg; Fri, 29 May 2015 14:34:55 +0200 Date: Fri, 29 May 2015 14:34:55 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83h9qvx0t7.fsf@gnu.org> To: Eli Zaretskii Message-id: Organization: CNR-ISTI, via Moruzzi 1, I-56124 Pisa, +39-0503153058 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 References: <555EC552.5010600@swipnet.se> <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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <1nvbfbri92.fsf@fencepost.gnu.org> <83h9qvx0t7.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: Glenn Morris , 20629@debbugs.gnu.org, Richard Stallman , dgutov@yandex.ru X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii: >> From: Glenn Morris >> Cc: Eli Zaretskii , 20629@debbugs.gnu.org >> Date: Fri, 29 May 2015 02:48:57 -0400 >> >> Dmitry Gutov wrote: >> >> > If you want my opinion (please keep in mind: not an etags user), >> > following in Exuberant Ctags's footsteps sounds best. >> >> I'm not one either, but I've been meaning to ask: why is etags in Emacs? > >The answer to that is lost in history (for me). Perhaps Richard and >Francesco (cc'ed) will remember. When Etags was written, the only alternative was the traditional Unix Ctags, to which Etags was an improvement. Since Etags is able to produce traditional Ctags-style files, yuo can look at the macro CTAGS in etags.c to spot the differences. This is a historical summary: * 1983 Ctags originally by Ken Arnold. * 1984 Fortran added by Jim Kleckner. * 1984 Ed Pelegri-Llopart added C typedefs. * 1985 Emacs TAGS format by Richard Stallman. * 1989 Sam Kendall added C++. * 1992 Joseph B. Wells improved C and C++ parsing. * 1993 Francesco Potortì reorganized C and C++. * 1994 Line-by-line regexp tags by Tom Tromey. * 2001 Nested classes by Francesco Potortì (concept by Mykola Dzyuba). * 2002 #line directives by Francesco Potortì. /* Define CTAGS to make the program "ctags" compatible with the usual one. Leave it undefined to make the program "etags", which makes emacs-style tag tables and tags typedefs, #defines and struct/union/enum by default. */ >But since it is here, it is, IMO, a Good Thing, because we can easily >affect its operation where it's important to us. Especially lately, >when the front-end was changed, and the new one has different >expectations. Yes. This is important. Obviously, this could be done in any similar program having an --emacs option (see for example ls --dired). >> It's my (superficial) impression that etags hasn't progressed much since >> then. The majority of the changes seem to have been generic code-cleanup >> stuff. > >That's not true, there were a couple of non-trivial changes lately >that are not cleanups, and I think there will be one more soon. This >thread discusses some of them, the other one is discussed here: > > http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html There have been significant bug squashing, tagging improvements and language supporting features added at least until 2004. Very few after that time from my part. >> Is it that etags recognizes Emacs-specific C code that ctags does not? > >Which ctags do you allude to here? There are quite a few of them out >there. > >> My only motivation for asking is that it's good to reduce the number of >> things that need to be maintained in Emacs, where possible. > >I don't think we should remove this one, no. This is from an old mail, referring to around 2004: >In fact, some years ago I run an in-depth comparison between etags and >exhuberant ctags, with mixed results. None excelled clearly with >respect to the other. Only two functionality I missed in etags: the >ability to read directories (with optional recursion) and the ability to >generate the new tags types introduced by ctags. On the other hand, Ex-C is much more customisable on the command line and has a much clearer code (even if I don't know whether this in fact translates to easier code management). At that time, I had even had an email exchange with Ex-c authors to try and merge the code bases, but this did not went on for lack of time. So Etags was not bad at all some ten years ago. I don't know if Ex-c or others have significantly progressed in the meantime. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 10:06:04 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 14:06:04 +0000 Received: from localhost ([127.0.0.1]:60747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyKvD-0007ax-3j for submit@debbugs.gnu.org; Fri, 29 May 2015 10:06:03 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:35389) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyKvA-0007aU-W2 for 20629@debbugs.gnu.org; Fri, 29 May 2015 10:06:02 -0400 Received: by wicmx19 with SMTP id mx19so18831818wic.0 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 07:05:55 -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=kp72G1/f9hrWLQQ8rOVpNWMSgmO5FuHwk8pcSuiQsDo=; b=ZiPnUcT0R66KR30X4hCePsm0anG3Ha3cQH/oBfY/DywNuCetthwWgJdwUMbANhg1hB u2jr4Y8KF9BWSl4V8Dx7r0n+WAXZox1K+36j3YQllK+qBscleZsnKyfe5BmwRWWrmqZb ebm4ml6enjrTwxRXdlGU28Bgv6ONXxyT7zWUUFdVtmrdbP3XPeI0vVf9zxjlXCb28ntA bXSbgoCkxZRaSZOt/78ypmftS9/KneJCnAfzaxR9tB4XU53ohVyXvLN7cTm7jFmhniYX poQ7n74dZOxI1hFauQg7hBw6LsnABdkTUoXht/7vZwAuu01T4XIhDllR69TpX/+9F75i bLEA== X-Received: by 10.194.172.130 with SMTP id bc2mr15845380wjc.85.1432908355242; Fri, 29 May 2015 07:05:55 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id fb3sm3270524wib.21.2015.05.29.07.05.54 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 07:05:55 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> From: Dmitry Gutov Message-ID: <55687241.5030200@yandex.ru> Date: Fri, 29 May 2015 17:05:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83fv6fx0nk.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 11:12 AM, Eli Zaretskii wrote: >>> But having just qualified tags is bad for accuracy, right? >> >> Maybe. Depends on things we would add to the Lisp code. > > Can you elaborate? Is there a way to get the same accuracy and > completion without having both qualified and unqualified tags? There'll have to be some compromise, but not necessarily in accuracy. The present default behavior is accurate enough, and by that I mean the user can navigate to a method call, press M-., and see all definitions of the methods with that name, without extra junk. What we don't have by default, is completion, and navigation to, qualified method names. That's by itself, is a relatively advances feature (the user needs to know to press C-u and then either press TAB and look for qualified names, or type one out). That can be mitigated by parsing out implicit tag names out of patterns, however they also don't always contain qualified names (which was my misunderstanding: they do in the toy example provided by Jan). So, having qualified names in tag completion reliably is out of the question, unless etags uses them in tag names. And then we'd have to solve the question of how to get the unqualified names in both completion and navigation (continued below (*)). > Yes, but I think if we change etags to create duplicate tags, we > should have this feature opt-out, unlike Exuberant, otherwise TAGS > created by default will be deficient with xref. Do you agree? I'd say no. First, there's value is simply being compatible. Second, as the ctags man page warns, including both qualified and unqualified names in separate entries, "could potentially more than double the size of the tag file". Which increases the time it takes to load one, and might (if we make more progress on Stefan's suggestion not to pre-build tags completion table) also make completion slower, in projects of certain size. (*) However, I don't really understand this choice: """ The actual form of the qualified tag depends upon the language from which the tag was derived (using a form that is most natural for how qualified calls are specified in the language). For C++, it is in the form "class::member"; for Eiffel and Java, it is in the form "class.member". """ If we posit that in each interesting language a qualified tag is of the form CONTEXT-CHAR-NAME, standardizing on CHAR would allow us to extract both qualified and unqualified tag names from a single entry, at a small cost in readability for users where the language traditionally uses a different separator than the one picked by etags. For better uniqueness, I'd choose two of them: # before instance methods, and . before class (or static) methods. This notation is fairly popular and is used in Javadocs, as well as in different comment formats Ruby uses. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 12:52:17 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 16:52:17 +0000 Received: from localhost ([127.0.0.1]:60792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNW5-0003Ft-5T for submit@debbugs.gnu.org; Fri, 29 May 2015 12:52:17 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:50485) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNW3-0003Fk-CR for 20629@debbugs.gnu.org; Fri, 29 May 2015 12:52:15 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 75DCF86025; Fri, 29 May 2015 12:52:13 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 3EC141E5B99; Fri, 29 May 2015 12:51:44 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 20E52B40CD; Fri, 29 May 2015 12:51:44 -0400 (EDT) From: Stefan Monnier To: Dmitry Gutov Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Message-ID: References: <555EC552.5010600@swipnet.se> <83fv6kysjf.fsf@gnu.org> <556447EF.3050103@yandex.ru> <83bnh7z8c5.fsf@gnu.org> <5564C2C7.5050909@yandex.ru> <837frvywfn.fsf@gnu.org> <55650812.60909@yandex.ru> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> Date: Fri, 29 May 2015 12:51:44 -0400 In-Reply-To: <55687241.5030200@yandex.ru> (Dmitry Gutov's message of "Fri, 29 May 2015 17:05:53 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > unqualified names in separate entries, "could potentially more than double > the size of the tag file". Which increases the time it takes to load one, > and might (if we make more progress on Stefan's suggestion not to pre-build > tags completion table) also make completion slower, in projects of > certain size. FWIW, doubling the size of the TAGS file will also double the size of the obarray and hence increase the completion time similarly regardless of whether we keep using an obarray or if we switch to searching the TAGS buffers. Yet another alternative is to build a trie, which would speed up prefix (and partial) completion (but not substring completion). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 13:12:45 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 17:12:45 +0000 Received: from localhost ([127.0.0.1]:60820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNps-0005F7-A6 for submit@debbugs.gnu.org; Fri, 29 May 2015 13:12:44 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:33400) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNpp-0005Eu-On for 20629@debbugs.gnu.org; Fri, 29 May 2015 13:12:42 -0400 Received: by wgez8 with SMTP id z8so68116219wge.0 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 10:12:36 -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=XxTtsF4P7cQHUyOfs3MkGfdgWAq/vOq7E3l4mkQi7cw=; b=B5z3zUgox+/e0Eei+OMArl+d8aF4nsMYOQc5sQISeNGCeladEFo1piI0HiERBUU8jj g2W5wNyvx7GltJIKYWMq3s9Kr4c+ArxSlg9ZgW60k1yFBjLijZ/eXIwl1ewVO6vvAXd2 rHCLvvCKqe/+/wc47q3Z8wSqgKwyfcP6pj+AVG+R+oduhyBiulpcUoY+JDnV4qaKB25r Sek/FT4dj8tT1CVghU6b3NPMfo5+xCG+Ct4E9VmQqnCE6FoCpltYlyFLfSB/Fm2ar2+8 c8LbltvugVJ72KQSU1OMfQjo1JkRszlODF6kCS1AZYaA09UV7XiqHKHUhzyh7x8/GINS 2Csw== X-Received: by 10.180.90.202 with SMTP id by10mr8301735wib.62.1432919556158; Fri, 29 May 2015 10:12:36 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id nb9sm3981648wic.10.2015.05.29.10.12.35 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 10:12:35 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Stefan Monnier References: <555EC552.5010600@swipnet.se> <83fv6kysjf.fsf@gnu.org> <556447EF.3050103@yandex.ru> <83bnh7z8c5.fsf@gnu.org> <5564C2C7.5050909@yandex.ru> <837frvywfn.fsf@gnu.org> <55650812.60909@yandex.ru> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> From: Dmitry Gutov Message-ID: <55689E02.5040605@yandex.ru> Date: Fri, 29 May 2015 20:12:34 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 07:51 PM, Stefan Monnier wrote: > FWIW, doubling the size of the TAGS file will also double the size of > the obarray and hence increase the completion time similarly regardless > of whether we keep using an obarray or if we switch to searching the > TAGS buffers. Completion using obarray is currently an order of magnitude (or two) faster than the proposed patch that just uses search. Doubling that won't be a problem. And the size of obarray may grow more than twice as big, or only a little, depending on what we're comparing to. The latter - if we're dealing with a C++ codebase with a lot of methods with the same name (and comparing against the same codebase where all names are qualified). In any case, we can choose which entries to include in the obarray, in Lisp. If we don't want the unqualified names in completions (or the qualified ones, for some reason), we won't put them in the obarray, but we'll still be able to find them if asked by the user. > Yet another alternative is to build a trie, which would speed up > prefix (and partial) completion (but not substring completion). It doesn't seem warranted thus far. Displaying the completions currently takes considerably longer than finding them in the obarray. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 13:13:35 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 17:13:35 +0000 Received: from localhost ([127.0.0.1]:60825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNqg-0005Gf-2s for submit@debbugs.gnu.org; Fri, 29 May 2015 13:13:34 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:36295) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyNqd-0005GS-Ht for 20629@debbugs.gnu.org; Fri, 29 May 2015 13:13:31 -0400 Received: by wgbgq6 with SMTP id gq6so68211178wgb.3 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 10:13:26 -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=upt+uQSuhD/gOp52W1m8+ySRdggXPcPAllsF4zusOJc=; b=zxShONNFysj6pRhFuinLr+qxt1qFF8H1V8r5v8vHbrttgSCntMH/ovjwtekTjDUKfZ XsOvjYImUyLZnUxVHbTSff2JvWQQouTyhF+NGyeQh4yQ+eu1TlvuGxUnpoau2WbPMmAN Ccmp1fBlRAnUtn/ty+iXhMz8VgVL2wZe/nM9+A40EQPe89X3vCeA2ty59HNl+HKMUH0n i7/9lg1Qk3lA0Zs3I+rIwdgW48rZAQmlpDzHd8XF9U2OkXB23LRSNEpMHQ07TYjWis2Y NWYZ0kWqdMaKi6AOIdh9HU3fGl6xesv+oieOYEWIjx0IYyQFCpfbC16GfVijiOvyvouY 43Ow== X-Received: by 10.180.91.76 with SMTP id cc12mr8549103wib.67.1432919606079; Fri, 29 May 2015 10:13:26 -0700 (PDT) Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id hm8sm9206227wjc.28.2015.05.29.10.13.25 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 10:13:26 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= , Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <55670005.2090709@yandex.ru> <55671186.9090503@yandex.ru> <83617cyc9j.fsf@gnu.org> From: Dmitry Gutov Message-ID: <55689E34.2060306@yandex.ru> Date: Fri, 29 May 2015 20:13:24 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/28/2015 06:14 PM, Francesco Potortì wrote: > I see. Given these constraints, I see no other way than augmenting the > TAGS format to include an arbitrary number of tags per entry... That wouldn't be the worst feature to have, but it would break backward compatibility. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 14:28:54 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 18:28:54 +0000 Received: from localhost ([127.0.0.1]:60846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyP1Z-00074s-Hc for submit@debbugs.gnu.org; Fri, 29 May 2015 14:28:54 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:38785) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyP1V-00074d-Qn for 20629@debbugs.gnu.org; Fri, 29 May 2015 14:28:51 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NP400200IVCMU00@a-mtaout22.012.net.il> for 20629@debbugs.gnu.org; Fri, 29 May 2015 21:28:43 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP4002WKJBUNI00@a-mtaout22.012.net.il>; Fri, 29 May 2015 21:28:43 +0300 (IDT) Date: Fri, 29 May 2015 21:28:39 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55687241.5030200@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83617bw84o.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Fri, 29 May 2015 17:05:53 +0300 > > That can be mitigated by parsing out implicit tag names out of patterns, > however they also don't always contain qualified names (which was my > misunderstanding: they do in the toy example provided by Jan). At least in C++, class members can be qualified explicitly in the source (which was what Jan's example did), or they can be qualified implicitly, by including them inside braced constructs, for example. For the latter, etags (now only under -Q) adds the qualifications when it generates the tags. The code I added _removes_ the explicit qualifications, and doesn't add the ones for implicitly qualified members. > So, having qualified names in tag completion reliably is out of the > question, unless etags uses them in tag names. Exactly. > > Yes, but I think if we change etags to create duplicate tags, we > > should have this feature opt-out, unlike Exuberant, otherwise TAGS > > created by default will be deficient with xref. Do you agree? > > I'd say no. First, there's value is simply being compatible. Compatibility aside, I think what most users will want should be the default. What Exuberant ctags does now might not yet reflect the changes in Emacs, from etags.el's UI to xfer. Once they learn about that, they might turn that flag on by default as well. > Second, as the ctags man page warns, including both qualified and > unqualified names in separate entries, "could potentially more than > double the size of the tag file". Who cares? Disk space is no longer at premium. > Which increases the time it takes to load one, and might (if we make > more progress on Stefan's suggestion not to pre-build tags > completion table) also make completion slower, in projects of > certain size. For moderate-size projects, the obarray-based completion is instantaneous, so I'm not afraid of this. > """ > The actual form of the qualified tag depends upon the language from > which the tag was derived (using a form that is most natural for how > qualified calls are specified in the language). For C++, it is in the > form "class::member"; for Eiffel and Java, it is in the form "class.member". > """ > > If we posit that in each interesting language a qualified tag is of the > form CONTEXT-CHAR-NAME, standardizing on CHAR would allow us to extract > both qualified and unqualified tag names from a single entry, at a small > cost in readability for users where the language traditionally uses a > different separator than the one picked by etags. I don't think we can safely do that, since different characters can appear in identifiers of different languages. By using the qualifier string that is natural for the language, we make sure we never get conflicts with the identifiers themselves. Also, these qualified tags are for human consumption, which is another argument on favor of language-specific syntax. > For better uniqueness, I'd choose two of them: # before instance > methods, and . before class (or static) methods. This notation is fairly > popular and is used in Javadocs, as well as in different comment formats > Ruby uses. Which means C++ programmers will probably be confused by them. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 15:20:03 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 19:20:04 +0000 Received: from localhost ([127.0.0.1]:60860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyPp4-0008I9-5q for submit@debbugs.gnu.org; Fri, 29 May 2015 15:20:02 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:52388) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyPp1-0008Ht-7L for 20629@debbugs.gnu.org; Fri, 29 May 2015 15:20:00 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 3173E9C148; Fri, 29 May 2015 15:19:58 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 61B9A1E5913; Fri, 29 May 2015 15:19:35 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 3E7DAB40CD; Fri, 29 May 2015 15:19:35 -0400 (EDT) From: Stefan Monnier To: Dmitry Gutov Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. Message-ID: References: <555EC552.5010600@swipnet.se> <83bnh7z8c5.fsf@gnu.org> <5564C2C7.5050909@yandex.ru> <837frvywfn.fsf@gnu.org> <55650812.60909@yandex.ru> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <55689E02.5040605@yandex.ru> Date: Fri, 29 May 2015 15:19:35 -0400 In-Reply-To: <55689E02.5040605@yandex.ru> (Dmitry Gutov's message of "Fri, 29 May 2015 20:12:34 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) > Completion using obarray is currently an order of magnitude (or two) faster > than the proposed patch that just uses search. Oh, then it's a non-starter (unless the search can be sped up). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 16:01:25 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 20:01:25 +0000 Received: from localhost ([127.0.0.1]:60880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyQT5-0000uN-Tk for submit@debbugs.gnu.org; Fri, 29 May 2015 16:01:24 -0400 Received: from mail-wg0-f41.google.com ([74.125.82.41]:36592) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyQT3-0000u9-0y for 20629@debbugs.gnu.org; Fri, 29 May 2015 16:01:21 -0400 Received: by wgbgq6 with SMTP id gq6so71394679wgb.3 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 13:01:15 -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=UQVDtZSmsl/JuDl5j+Cw9b+OgWgGgP/mRJhg51HlCCo=; b=HpUmCjDqxVfucfX6seVX/1PJL0APdxZG1Qg06BkyuD67YHOB335URp6HWbumI/ey8/ q+swk/zGVACgaLzEsi6LiXnVL/bEWSzGR7SFZFBiy4Sd4oJbQpS6P4WRjkjRZOWqZfz4 34oIJVTKqjS83Hrd/uug04VxbTTqj3rcJt46EhQ2Tc3gW0rchHcX11QmEDDZTOosG+YG bKuYkuPRoP84MqLtXQhekmBPiZX3kfTMz+JqBaSu4iI0Az4CC+3r2zPpPNV+1K70luXu hFubf3GmPTC6DYAqqxRTgf2OmXkFjsLwYIBlP1pCLc4jJXCSU7VlZ/BuuYYm26o3I3DF prbw== X-Received: by 10.180.91.40 with SMTP id cb8mr9615900wib.64.1432929675226; Fri, 29 May 2015 13:01:15 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id ei8sm9754183wjd.32.2015.05.29.13.01.14 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 13:01:15 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5568C589.5000405@yandex.ru> Date: Fri, 29 May 2015 23:01:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83617bw84o.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 09:28 PM, Eli Zaretskii wrote: > Compatibility aside, I think what most users will want should be the > default. What Exuberant ctags does now might not yet reflect the > changes in Emacs, from etags.el's UI to xfer. Once they learn about > that, they might turn that flag on by default as well. There's nothing particularly xref-specific in using the one or the other approach. xref output buffer doesn't display the tag names, only patterns (although printing the tag names as well can be added). > For moderate-size projects, the obarray-based completion is > instantaneous, Yes. I explicitly didn't mention it. Only the time to build the obarray the first time, as well as non-obarray based completion. You might be better positioned to judge whether these are serious. > I don't think we can safely do that, since different characters can > appear in identifiers of different languages. By using the qualifier > string that is natural for the language, we make sure we never get > conflicts with the identifiers themselves. The name segments could be escaped WRT those two characters. > Also, these qualified tags are for human consumption, which is another > argument on favor of language-specific syntax. Sure, it's a good argument. > Which means C++ programmers will probably be confused by them. They are not hard to learn. IMO, "::" is a bad separator for method qualifier, since the same operator is used for namespace resolution. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 16:34:09 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 20:34:10 +0000 Received: from localhost ([127.0.0.1]:60884 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyQyn-0001fu-3M for submit@debbugs.gnu.org; Fri, 29 May 2015 16:34:09 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:33828) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyQyk-0001fP-Fv for 20629@debbugs.gnu.org; Fri, 29 May 2015 16:34:07 -0400 Received: by wgv5 with SMTP id 5so71895791wgv.1 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 13:34:00 -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=KYFppORcDzGyLszTyj0rkSAgTjesRIQKkELB1kkkziA=; b=eB+ujwA6po4X9Ls9IBdOAuXDA6LFslBEBhS0PmDfZeXUyvn0pmLSKkBLe9X0JtOWbt 31H5Td8dj4G7iXFnTSLkCntoeHlLkKoFVDDlCknIErq5UpJQbLf5x1t6PVGUyoLrsGrR B9K3IEHsj3gsSUysbfaOVXbpHgfmjk5/anYTVOOAHMFi+Gzu/8c6hNFO/NyTfpILo54+ D6irKnaywaoQUvZ5Cixnv8R6D9/ZMrsHlvfa8bmlhFNyVNWPkbFUly6SEF9PP+CMpScw +fSvA21mJDheWkuP6/tnUx+fNNETZM1lVTub1pgCeCBUWfv45I0MmpOURfJ4N5PvQPPA pPJA== X-Received: by 10.180.72.176 with SMTP id e16mr10190616wiv.12.1432931640427; Fri, 29 May 2015 13:34:00 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id q4sm9860837wja.24.2015.05.29.13.33.59 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 13:34:00 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Stefan Monnier References: <555EC552.5010600@swipnet.se> <83bnh7z8c5.fsf@gnu.org> <5564C2C7.5050909@yandex.ru> <837frvywfn.fsf@gnu.org> <55650812.60909@yandex.ru> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <55689E02.5040605@yandex.ru> From: Dmitry Gutov Message-ID: <5568CD36.2030703@yandex.ru> Date: Fri, 29 May 2015 23:33:58 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 10:19 PM, Stefan Monnier wrote: > Oh, then it's a non-starter (unless the search can be sped up). I've posted the numbers along with the two versions of the patch: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20629#101 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20629#107 Someone else might have better luck, but it seems to me that dramatically improving the performance there would have to involve work on the regexp engine and/or the Elisp interpreter. Byte-compiling the new etags.el, as I measured later, improves the worst-case time of the second patch from 3s to 1.9s. No effect on the runtimes of the first patch (still 0.7s per any completion). From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 16:36:08 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 20:36:08 +0000 Received: from localhost ([127.0.0.1]:60888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyR0i-0001jJ-9a for submit@debbugs.gnu.org; Fri, 29 May 2015 16:36:08 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:57073) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyR0f-0001in-W2 for 20629@debbugs.gnu.org; Fri, 29 May 2015 16:36:07 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NP400300OXRI000@a-mtaout22.012.net.il> for 20629@debbugs.gnu.org; Fri, 29 May 2015 23:35:59 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP4003PIP7YAQ70@a-mtaout22.012.net.il>; Fri, 29 May 2015 23:35:59 +0300 (IDT) Date: Fri, 29 May 2015 23:35:56 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5568C589.5000405@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <834mmvw28j.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Fri, 29 May 2015 23:01:13 +0300 > > On 05/29/2015 09:28 PM, Eli Zaretskii wrote: > > > Compatibility aside, I think what most users will want should be the > > default. What Exuberant ctags does now might not yet reflect the > > changes in Emacs, from etags.el's UI to xfer. Once they learn about > > that, they might turn that flag on by default as well. > > There's nothing particularly xref-specific in using the one or the other > approach. xref output buffer doesn't display the tag names, only > patterns (although printing the tag names as well can be added). xref expects more accurate results, because it shows them all at once, instead of one by one, in some order that assures the users will only ever see the few first ones. So yes, I'd say the switch to xref puts a different kind of pressure on what etags/ctags does. > > Which means C++ programmers will probably be confused by them. > > They are not hard to learn. IMO, "::" is a bad separator for method > qualifier, since the same operator is used for namespace resolution. foo::bar::baz is standard C++, AFAIK, so the ambiguity is already known to C++ programmers. From debbugs-submit-bounces@debbugs.gnu.org Fri May 29 18:37:09 2015 Received: (at 20629) by debbugs.gnu.org; 29 May 2015 22:37:09 +0000 Received: from localhost ([127.0.0.1]:60912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YySto-0004Zx-Nj for submit@debbugs.gnu.org; Fri, 29 May 2015 18:37:09 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:37603) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyStl-0004ZR-TL for 20629@debbugs.gnu.org; Fri, 29 May 2015 18:37:06 -0400 Received: by wifw1 with SMTP id w1so40533626wif.0 for <20629@debbugs.gnu.org>; Fri, 29 May 2015 15:37:00 -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=zm7t80b9vTzMIArntl2lNOAE/e+C+D/UGpPqr5cq3xs=; b=GPgvBptFvXShfkGipCVA0kR1t7it56QE4MIxgphzDUiSvbF02GYWgrWqEjtGI0dFr3 IIQPDe1dNpvm/jJpJQLK0AJDjzJYULtNLXe+9maPhjYqSepl8ENTmubbjDDBqLMRchbz 6KDpHldXyyh0aL5zE65cZTvW3DW5XdUq7bMYBRNVTFGJ6t85VCc9aJLfpz7zMDOwYHxR Zs4pXzGnES2Gc5jifVBuFyMNNCZymVgCe97PQSUuz13Q/7WXOpFMB9D4bw+ZcLzf5sxc /pgSGA+omwUJ2oEmpEPpBvMx74Eir+tj/MTkYaYZO93yUdI6eqEWKO9ArCvMoQPdnCsr FKEw== X-Received: by 10.180.74.132 with SMTP id t4mr10948651wiv.55.1432939020123; Fri, 29 May 2015 15:37:00 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id c3sm3290202wja.3.2015.05.29.15.36.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 May 2015 15:36:59 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5568EA08.9070401@yandex.ru> Date: Sat, 30 May 2015 01:36:56 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <834mmvw28j.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/29/2015 11:35 PM, Eli Zaretskii wrote: > xref expects more accurate results, because it shows them all at once, > instead of one by one, in some order that assures the users will only > ever see the few first ones. So yes, I'd say the switch to xref puts > a different kind of pressure on what etags/ctags does. It does exert some pressure, but mostly to ensure that when a user searches for a "symbol" that they see in a buffer, it should have an explicit or an implicit tag match. Whether qualified tag names are included in the completion, and whether one can search for a qualified tag name reliably, that hasn't changed between find-tag and xref-find-definitions. > foo::bar::baz is standard C++, AFAIK, so the ambiguity is already > known to C++ programmers. I'm not disputing that. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 02:53:06 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 06:53:06 +0000 Received: from localhost ([127.0.0.1]:32822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyadl-00016X-UA for submit@debbugs.gnu.org; Sat, 30 May 2015 02:53:06 -0400 Received: from mtaout29.012.net.il ([80.179.55.185]:41528) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyadi-000160-SE for 20629@debbugs.gnu.org; Sat, 30 May 2015 02:53:04 -0400 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NP500N00HEZIK00@mtaout29.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 09:52:13 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP500HSWHR1VT50@mtaout29.012.net.il>; Sat, 30 May 2015 09:52:13 +0300 (IDT) Date: Sat, 30 May 2015 09:52:53 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5568EA08.9070401@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <831thywo8q.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> <5568EA08.9070401@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 01:36:56 +0300 > > On 05/29/2015 11:35 PM, Eli Zaretskii wrote: > > > xref expects more accurate results, because it shows them all at once, > > instead of one by one, in some order that assures the users will only > > ever see the few first ones. So yes, I'd say the switch to xref puts > > a different kind of pressure on what etags/ctags does. > > It does exert some pressure, but mostly to ensure that when a user > searches for a "symbol" that they see in a buffer, it should have an > explicit or an implicit tag match. The crucial difference is that the number of matches must now be small, something that required us to remove the method which could cope with qualified tags when the symbol at point was unqualified. > Whether qualified tag names are included in the completion, and whether > one can search for a qualified tag name reliably, that hasn't changed > between find-tag and xref-find-definitions. True. But the original arrangement worked well with both with find-tag and with completions; now that we removed tag-symbol-match-p and qualified names, completion is less user-friendly. So I think we should default to having 2 entries for each such tag. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 08:06:41 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 12:06:41 +0000 Received: from localhost ([127.0.0.1]:32940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyfXF-0001W0-6I for submit@debbugs.gnu.org; Sat, 30 May 2015 08:06:41 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:60649) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyfXC-0001Vk-3b for 20629@debbugs.gnu.org; Sat, 30 May 2015 08:06:39 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NP500900VTPKU00@a-mtaout22.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 15:06:31 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP500930WAUIS30@a-mtaout22.012.net.il>; Sat, 30 May 2015 15:06:31 +0300 (IDT) Date: Sat, 30 May 2015 15:06:29 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <55650812.60909@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83mw0muv5m.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Wed, 27 May 2015 02:56:02 +0300 > > You should try the patch and see how it goes. I tried it, and I think the completion display is better now. Should I install the change for emitting 2 lines in TAGS, for both unqualified and qualified tag names? From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 08:31:09 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 12:31:09 +0000 Received: from localhost ([127.0.0.1]:32955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyfuu-00026g-6W for submit@debbugs.gnu.org; Sat, 30 May 2015 08:31:08 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:33985) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyfuq-000269-VR for 20629@debbugs.gnu.org; Sat, 30 May 2015 08:31:05 -0400 Received: by wibut5 with SMTP id ut5so2956492wib.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 05:30:59 -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=3j1Mdib74/zRIbvRtZcxjLTqgvfEL3IzqXuGhr0DCrY=; b=WmY5lGcJKlwPOatO7ZtGEMQlJTcS9V79mTTGNMiFrlJBYq63MH1GJi2igXr1N1tYHl +eQTJ16o1yM8le/Mqo1/bTp+4GiEOgCr5nOE+d3nPtc87BvVLJfAVIM340slrls92Ss5 PGDC/YEnWSWYekFmF/OB5ARdFDJsePpcpASuyRLm8gen0KUaTxc1b0VURSeq1d8Hu/Ug xSZwFdZtlwB1rFmr2L85Kf4PArImPG7QQBD1XM71/GckcUBQol8tn12FN+Yz0wjQU2/2 SKk/uipCD7BUbmEbku6O+m1OnxQfVTOnIUIOpeTz2SLSK543wvrT3oLVjwyAXDM3O444 BmTA== X-Received: by 10.194.189.80 with SMTP id gg16mr24619210wjc.9.1432989059194; Sat, 30 May 2015 05:30:59 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id di9sm7391332wib.16.2015.05.30.05.30.57 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 05:30:58 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <5569AD7F.2000402@yandex.ru> Date: Sat, 30 May 2015 15:30:55 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83mw0muv5m.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 03:06 PM, Eli Zaretskii wrote: > I tried it, and I think the completion display is better now. Better how? > Should I install the change for emitting 2 lines in TAGS, for both > unqualified and qualified tag names? Err, these changes are orthogonal, if not to say complete opposites. If there are two lines in TAGS for each item, no change to etags-tags-completion-table should be necessary. I was rather thinking to make tag-implicit-name-match-p more strict, so it doesn't match if the explicit tag name is present on that line. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 08:46:48 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 12:46:48 +0000 Received: from localhost ([127.0.0.1]:32959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygA3-0002TA-7h for submit@debbugs.gnu.org; Sat, 30 May 2015 08:46:47 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:57223) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygA0-0002Sv-Bm for 20629@debbugs.gnu.org; Sat, 30 May 2015 08:46:45 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NP500900XEAQK00@mtaout25.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 15:42:29 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP5002CTXYTDD80@mtaout25.012.net.il>; Sat, 30 May 2015 15:42:29 +0300 (IDT) Date: Sat, 30 May 2015 15:46:36 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569AD7F.2000402@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83iobautar.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 15:30:55 +0300 > > On 05/30/2015 03:06 PM, Eli Zaretskii wrote: > > > I tried it, and I think the completion display is better now. > > Better how? It seemed to show both qualified and unqualified names, AFAICS. > > Should I install the change for emitting 2 lines in TAGS, for both > > unqualified and qualified tag names? > > Err, these changes are orthogonal, if not to say complete opposites. If > there are two lines in TAGS for each item, no change to > etags-tags-completion-table should be necessary. The question still stands. > I was rather thinking to make tag-implicit-name-match-p more strict, so > it doesn't match if the explicit tag name is present on that line. But tag-implicit-name-match-p is called after tag-exact-match-p, so the latter cannot be the fallback for the former. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 08:52:30 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 12:52:30 +0000 Received: from localhost ([127.0.0.1]:32963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygFZ-0002bn-Pm for submit@debbugs.gnu.org; Sat, 30 May 2015 08:52:30 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:36946) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygFX-0002bZ-Jm for 20629@debbugs.gnu.org; Sat, 30 May 2015 08:52:28 -0400 Received: by wifw1 with SMTP id w1so53630754wif.0 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 05:52:21 -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=KZ/su0W9YRwkASVTTHOCx8AeI3eDZ4erBy8zfjZxUK0=; b=AHEPjjbuBDobU2h8MFzVGMBilOwWOxaQXuar0m15mCHn/Tp8wXeRMso1HR6xStwkaH n3jJMlCcaOPogNPFr58nvWjKTthO0YsX84hcm35ojLYJQ6gLuckBpJAWAp0P4j/u+RQD 2W+0jFNz7jdjTA51b/nfCCKp9Zcldn1Q5npWuT0iybXYAtoeDJE3WfF1cIYUS7dMB2QC hoOtfMtMBlcIKitR+DQWsNN50uG3a1CWL4lGqdt35C9u0gyVDDgqII8GpzQlx79cY4oO V4fQbIhtOECwxqYAsrSgJuxp4dlG898SPJeP28QLDwbapYYwTCzsYbKZ5GKKBmkgmPnZ Dslg== X-Received: by 10.194.184.140 with SMTP id eu12mr23944432wjc.78.1432990341831; Sat, 30 May 2015 05:52:21 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id w11sm12685073wjr.48.2015.05.30.05.52.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 05:52:21 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> <5568EA08.9070401@yandex.ru> <831thywo8q.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5569B283.1080706@yandex.ru> Date: Sat, 30 May 2015 15:52:19 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <831thywo8q.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 09:52 AM, Eli Zaretskii wrote: > The crucial difference is that the number of matches must now be > small, something that required us to remove the method which could > cope with qualified tags when the symbol at point was unqualified. I suppose so. > True. But the original arrangement worked well with both with > find-tag and with completions; now that we removed tag-symbol-match-p > and qualified names, completion is less user-friendly. But it wasn't ideal either. For instance, with C++, completion couldn't offer unqualified method names, because the indexer always qualified them. It was up to the user to figure out that typing an unqualified method name and pressing RET would still yield something useful. > So I think we should default to having 2 entries for each such tag. Another thing to consider is the possibility of merging Ex-Ctags and Etags in the future. Compatible behaviors would make it easier on the users. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 09:03:36 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 13:03:36 +0000 Received: from localhost ([127.0.0.1]:32967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygQJ-0002s8-FA for submit@debbugs.gnu.org; Sat, 30 May 2015 09:03:35 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:55035) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YygQG-0002rr-C6 for 20629@debbugs.gnu.org; Sat, 30 May 2015 09:03:33 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NP500700YOJ5900@a-mtaout21.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 16:03:25 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP500749YXP3V50@a-mtaout21.012.net.il>; Sat, 30 May 2015 16:03:25 +0300 (IDT) Date: Sat, 30 May 2015 16:03:24 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569B283.1080706@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83fv6eusir.fsf@gnu.org> 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> <5568EA08.9070401@yandex.ru> <831thywo8q.fsf@gnu.org> <5569B283.1080706@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 15:52:19 +0300 > > Another thing to consider is the possibility of merging Ex-Ctags and > Etags in the future. Compatible behaviors would make it easier on the users. Volunteers are welcome, but based on reading their sources, it will be a formidable job: the general structure of the code, and the parser in particular, are completely different. I'm not even sure you can talk about "merging". From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 09:43:10 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 13:43:10 +0000 Received: from localhost ([127.0.0.1]:32984 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyh2b-0003nH-76 for submit@debbugs.gnu.org; Sat, 30 May 2015 09:43:09 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:35403) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyh2Y-0003mk-Pw for 20629@debbugs.gnu.org; Sat, 30 May 2015 09:43:07 -0400 Received: by wgme6 with SMTP id e6so82291291wgm.2 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 06:43:01 -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=NvrJ2ls3cnY1BE8XbYxcWL6Ix7359HkhRbksFV8mR90=; b=KolUNpbGJvuZjJT8Hz0sJ5LO63m2MsEjCmVSFTCInpGalsIQrvixexjPfLDS6ZnS2m EkaGkfjxQjGUj2Pga24CJdsvsVMh+YDgjjzGo2Xm9sS2MT3C8gSbGjclf+CYOCNpvr5R dsKmaVKKPTIg6VPfCp8ug9RO1v9zkP9BPmRRfNEOf3O064VkTMuyDmsLBIUv9GYSsJwL 4o8iXhbstYXOHrrM6Rs7p/07vdUZH4vSRtKc/WUJ3omeIpOFhIc4WwUXDkSzjmU/SUa3 +w09gp9Iz8NQ3IETEYPSgzOjQ/r4qSX5gQPElONNQDd66rt2MOmMVY2+WJRGx7ePnbvq qggw== X-Received: by 10.180.77.8 with SMTP id o8mr5006080wiw.74.1432993380963; Sat, 30 May 2015 06:43:00 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id b10sm7659513wic.1.2015.05.30.06.43.00 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 06:43:00 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <5569BE61.7010200@yandex.ru> Date: Sat, 30 May 2015 16:42:57 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83iobautar.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 03:46 PM, Eli Zaretskii wrote: > It seemed to show both qualified and unqualified names, AFAICS. I'd rather the comparison was made when TAGS is using 2-lines-per-item. Having two different ways to obtain the qualified names doesn't sounds good to me, and using implicit tag names is faulty: - Like you mentioned, it's not always that qualified name occurs in the pattern. Sometimes it's creates using curly braces and such, and thus can only occur in an explicit tag name (which the discussed patch won't account for). Thus, some qualified names would be present in completions, and some won't. This is bad. - See below (*). >> Err, these changes are orthogonal, if not to say complete opposites. If >> there are two lines in TAGS for each item, no change to >> etags-tags-completion-table should be necessary. > > The question still stands. It's only the question of the default behavior that's still undecided. The user will have a way to see qualified names either way. > But tag-implicit-name-match-p is called after tag-exact-match-p, so > the latter cannot be the fallback for the former. I'm not sure what you mean. Why fallback? (*) Consider this: if the explicit tag name is present, then the tag name we can guess from the pattern implicitly is _incorrect_, so it's wrong to match it. For instance, visit lisp/TAGS and try to navigate to "'edit-abbrevs-map" (yes, including a quote). There will be a match, but it was in fact a faulty search: an Elisp identifier can't include a quote. It's harder to present a realistic case of a user looking for one thing and getting another, but the point is, is the Etags parser decided that the implicit tag doesn't match the explicit tag, we should ignore the former (because we don't really know the way they mismatch). From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 10:21:34 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 14:21:34 +0000 Received: from localhost ([127.0.0.1]:33628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyhdl-0004ol-NB for submit@debbugs.gnu.org; Sat, 30 May 2015 10:21:33 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:43328) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyhdj-0004oc-Rn for 20629@debbugs.gnu.org; Sat, 30 May 2015 10:21:32 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMLB9PH46KMEOTFA@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Sat, 30 May 2015 16:21:29 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1Yyhdh-0002vj-8N; Sat, 30 May 2015 16:21:29 +0200 Date: Sat, 30 May 2015 16:21:29 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569B283.1080706@yandex.ru> To: Dmitry Gutov Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> <5568EA08.9070401@yandex.ru> <831thywo8q.fsf@gnu.org> <5569B283.1080706@yandex.ru> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >Another thing to consider is the possibility of merging Ex-Ctags and >Etags in the future. Compatible behaviors would make it easier on the users. In fact, Exhuberant-ctags and Etags are very different, internally. Etags is faster (which nowadays is not that important) and creates optimised TAGS files (which nowadays is not that important). Ex-ctags generates new-style ctags tags and can recurs directories, both of which would be easy to implement in Etags. When I compared them, more than ten years ago, the quality of generated tags were comparable. I don't know if things have changed in the meantime, but I don't think that they have changed a lot. The code of Ex-ctags is much more structured and, at a first sight, readable. However, I have never tried to go deeply into it, so I don't know if, in fact, it is really easier to manage. So "merging" would mean, in fact, to have the communities managing them agree on one of them and improve it so that it becomes a superset of the other, then officielly declare the other one as deprecated. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 10:31:35 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 14:31:35 +0000 Received: from localhost ([127.0.0.1]:33632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyhnR-00054C-Pv for submit@debbugs.gnu.org; Sat, 30 May 2015 10:31:34 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:59781) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyhnN-00053v-8H for 20629@debbugs.gnu.org; Sat, 30 May 2015 10:31:30 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NP6007002R8IS00@a-mtaout21.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 17:31:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP6007SY30AF8A0@a-mtaout21.012.net.il>; Sat, 30 May 2015 17:31:22 +0300 (IDT) Date: Sat, 30 May 2015 17:31:21 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569BE61.7010200@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83a8wmuog6.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 16:42:57 +0300 > > On 05/30/2015 03:46 PM, Eli Zaretskii wrote: > > > It seemed to show both qualified and unqualified names, AFAICS. > > I'd rather the comparison was made when TAGS is using 2-lines-per-item. Feel free to describe a full recipe for comparing. I needed to guess what you wanted me to test; I'd be happy to just follow instructions and report back what I saw. > - Like you mentioned, it's not always that qualified name occurs in the > pattern. Sometimes it's creates using curly braces and such, and thus > can only occur in an explicit tag name (which the discussed patch won't > account for). Thus, some qualified names would be present in > completions, and some won't. This is bad. Do you have an actual example? AFAIU, this shouldn't happen: etags only decides that an explicit tag name is unneeded when it can be deduced from the pattern. So if the explicit tag is not in TAGS, it means etags.el can find it in the pattern. (Qualified tag names that are constructed by etags are never in the pattern, so they will always get explicit tag names.) > >> Err, these changes are orthogonal, if not to say complete opposites. If > >> there are two lines in TAGS for each item, no change to > >> etags-tags-completion-table should be necessary. > > > > The question still stands. > > It's only the question of the default behavior that's still undecided. Yes, but I'd like to make a decision before making the change for placing 2 entries, so that the number of backward-incompatible changes could be minimized. > > But tag-implicit-name-match-p is called after tag-exact-match-p, so > > the latter cannot be the fallback for the former. > > I'm not sure what you mean. Why fallback? Because if tag-exact-match-p finds a match, tag-implicit-name-match-p will not be invoked, AFAIU. > Consider this: if the explicit tag name is present, then the tag name we > can guess from the pattern implicitly is _incorrect_, so it's wrong to > match it. And AFAIU we don't, because the match methods are invoked in order, until one of them yields a match. > For instance, visit lisp/TAGS and try to navigate to "'edit-abbrevs-map" > (yes, including a quote). There will be a match, but it was in fact a > faulty search: an Elisp identifier can't include a quote. Which is why there's an explicit tag there. But I'm afraid I don't see what you meant to demonstrate by this example. Which code will look for 'edit-abbrevs-map, and under what circumstances? > It's harder to present a realistic case of a user looking for one thing > and getting another, but the point is, is the Etags parser decided that > the implicit tag doesn't match the explicit tag, we should ignore the > former (because we don't really know the way they mismatch). I think we already do. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 10:44:36 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 14:44:36 +0000 Received: from localhost ([127.0.0.1]:33645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyi04-0005NU-3E for submit@debbugs.gnu.org; Sat, 30 May 2015 10:44:36 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:33969) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyi01-0005NG-T4 for 20629@debbugs.gnu.org; Sat, 30 May 2015 10:44:34 -0400 Received: by wgv5 with SMTP id 5so83029440wgv.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 07:44:28 -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=I00sPRRqfP5QD7APehiWbmdx8aPZziH58jBYfBKGOyY=; b=BIvAJtb6LqngnhmsmQU05tB+dAftsfGl4nv6ajmXbKX3GgTyQKmyom0caZLd1avXU7 s8ypxCx6tBJL/sR/h6BsHnJps+/A0mVoIe80dm3LeIdITn4QTer1/1x9BvcZIL0Rtn1B dQIZA5ncBsZEY8bttd/0auAV1eAq9UUcqNXkrM8Sppy06IpRvMst2P9rnfMl6+jFBUAh z5c9TDsE2DVd4BBohBPVOiCT2cOf6DBXVgIAeJTF+qdfSOmtpMl6ImotCXJBba6qkRe5 8MW4YMBSTZLXhBQfaAiPZqnMfAHAJYBFvKSL27N+KTlOnVFcd2foylCIgWvPhUvej4dv hflw== X-Received: by 10.194.177.230 with SMTP id ct6mr7166158wjc.31.1432997068136; Sat, 30 May 2015 07:44:28 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id gj7sm7853675wib.4.2015.05.30.07.44.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 07:44:27 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= 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> <831ti2yu1a.fsf@gnu.org> <5565E28A.5040507@yandex.ru> <83wpzuxbtd.fsf@gnu.org> <5565E8AB.5020107@yandex.ru> <83r3q2xa3q.fsf@gnu.org> <5566583F.7020503@yandex.ru> <83h9qxxvo4.fsf@gnu.org> <5566EC49.8010907@yandex.ru> <837frsycly.fsf@gnu.org> <5567351E.7020006@yandex.ru> <83zj4owthp.fsf@gnu.org> <5567AE52.1000600@yandex.ru> <83fv6fx0nk.fsf@gnu.org> <55687241.5030200@yandex.ru> <83617bw84o.fsf@gnu.org> <5568C589.5000405@yandex.ru> <834mmvw28j.fsf@gnu.org> <5568EA08.9070401@yandex.ru> <831thywo8q.fsf@gnu.org> <5569B283.1080706@yandex.ru> From: Dmitry Gutov Message-ID: <5569CCC9.6040101@yandex.ru> Date: Sat, 30 May 2015 17:44:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 05:21 PM, Francesco Potortì wrote: > Ex-ctags > generates new-style ctags tags and can recurs directories, both of which > would be easy to implement in Etags. It seems the users interested in this feature go on to simply use 'ctags -e'. I know I did, a while ago. > When I compared them, more than ten years ago, the quality of generated > tags were comparable. I don't know if things have changed in the > meantime, but I don't think that they have changed a lot. The code of > Ex-ctags is much more structured and, at a first sight, readable. > However, I have never tried to go deeply into it, so I don't know if, in > fact, it is really easier to manage. Ex-ctags supports 41 language (by the last count at http://ctags.sourceforge.net/languages.html, maybe more now), etags supports 26. The version at https://github.com/fishman/ctags also supports delegation to external parsers (see the --xcmd argument and https://github.com/fishman/ctags/blob/master/docs/xcmd.rst). > So "merging" would mean, in fact, to have the communities managing them > agree on one of them and improve it so that it becomes a superset of the > other, then officielly declare the other one as deprecated. Indeed. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 11:03:31 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 15:03:31 +0000 Received: from localhost ([127.0.0.1]:33653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyiIM-0005pd-10 for submit@debbugs.gnu.org; Sat, 30 May 2015 11:03:30 -0400 Received: from mail-wg0-f42.google.com ([74.125.82.42]:34303) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyiII-0005pO-Od for 20629@debbugs.gnu.org; Sat, 30 May 2015 11:03:28 -0400 Received: by wgv5 with SMTP id 5so83233881wgv.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 08:03:21 -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=cWd+ygj/wNyUcte1nHEeEewM71VHXEOUNvx+DDc8irA=; b=FduwTJRfJrFGZWI6JhkqTy35UwCkWI8OVjyD7qn80xe9DNwU/uPWwTKCfWiARploa8 ADFBzbaRmLqYgn/i+JD5+/aRCoYVptSUEU7sKDxCXsDrHHb51/u7fi5RqqaDWdT4Dxul I7LZCEAMvRiH9vLVRPxuNcnPtfQeljWema6wHX/G+blm5c0JO24sj2Z5JDDu5Am1U3p4 ZvuUwjwX2mxG/ULZEvRCF1vy7uO3ewkk9+ZeIt7av/aiQS68VBfVzqpAi8i344he0kcP KJm8vdinJDTztB44FvskAejHLtCHJ1ILwkThGeYV/Zc5p7ThNL9OqTaN5ij2g1OCrUUL McPg== X-Received: by 10.180.77.136 with SMTP id s8mr5342241wiw.7.1432998201116; Sat, 30 May 2015 08:03:21 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id um5sm13145520wjc.1.2015.05.30.08.03.20 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 08:03:21 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> From: Dmitry Gutov Message-ID: <5569D136.90802@yandex.ru> Date: Sat, 30 May 2015 18:03:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <83a8wmuog6.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 05:31 PM, Eli Zaretskii wrote: > Feel free to describe a full recipe for comparing. I needed to guess > what you wanted me to test; I'd be happy to just follow instructions > and report back what I saw. I'd rather not bother (let's see if we can conclude this thread of discussion without that). The patch in question is at http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20629#59, and I'm officially withdrawing it. >> - Like you mentioned, it's not always that qualified name occurs in the >> pattern. Sometimes it's creates using curly braces and such, and thus >> can only occur in an explicit tag name (which the discussed patch won't >> account for). Thus, some qualified names would be present in >> completions, and some won't. This is bad. > > Do you have an actual example? AFAIU, this shouldn't happen: etags > only decides that an explicit tag name is unneeded when it can be > deduced from the pattern. So if the explicit tag is not in TAGS, it > means etags.el can find it in the pattern. (Qualified tag names that > are constructed by etags are never in the pattern, so they will always > get explicit tag names.) I believe that the current choice is between "etags produces unqualified tags" and "etags produces both qualified and unqualified tags for lines where the distinction appies" (2 entries per line). In the latter case the patch above is extraneous. So above I'm describing the situation where etags produces unqualified tags (which it currently does, by default). > Yes, but I'd like to make a decision before making the change for > placing 2 entries, so that the number of backward-incompatible changes > could be minimized. I think that would be a mistake. Rather, we should make the choice based on correctness. > Because if tag-exact-match-p finds a match, tag-implicit-name-match-p > will not be invoked, AFAIU. It would, but that's not the point. But yes, the above would make sense. Anyway... > And AFAIU we don't, because the match methods are invoked in order, > until one of them yields a match. Of course the difference in tag-implicit-name-match-p behavior will only matter when tag-exact-match-p returns nil for the entry in question. Which is the case in the example I've given in the previous email. > Which is why there's an explicit tag there. But I'm afraid I don't > see what you meant to demonstrate by this example. Which code will > look for 'edit-abbrevs-map, and under what circumstances? find-tag, for instance. After being asked by the user. Like I said, it's a contrived example (users don't usually bother with names as tricky as this one), but I can try to cook up a more realistic one, if you insist. An Elisp identifier can actually include a quote if it's escaped, but that's not the case with edit-abbrevs-map. >> It's harder to present a realistic case of a user looking for one thing >> and getting another, but the point is, is the Etags parser decided that >> the implicit tag doesn't match the explicit tag, we should ignore the >> former (because we don't really know the way they mismatch). > > I think we already do. Currently, we don't put the implicit tag into the completion table if the explicit tag is present. But we do match implicit tags during navigation, even when an explicit tag is there. The aforementioned patch would include the implicit tag in the completion table anyway. I'm now saying we don't want that, and we also don't want navigation to match implicit tags in the entries that contain an explicit tag as well. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 12:38:36 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 16:38:37 +0000 Received: from localhost ([127.0.0.1]:33668 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyjmO-00080r-2Y for submit@debbugs.gnu.org; Sat, 30 May 2015 12:38:36 -0400 Received: from mtaout25.012.net.il ([80.179.55.181]:57806) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyjmK-00080b-RN for 20629@debbugs.gnu.org; Sat, 30 May 2015 12:38:34 -0400 Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NP600C008I9Y100@mtaout25.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 19:33:41 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP6003T28O5CF80@mtaout25.012.net.il>; Sat, 30 May 2015 19:33:41 +0300 (IDT) Date: Sat, 30 May 2015 19:37:48 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569D136.90802@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <837frquilf.fsf@gnu.org> 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> <5569D136.90802@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 18:03:18 +0300 > > >> - Like you mentioned, it's not always that qualified name occurs in the > >> pattern. Sometimes it's creates using curly braces and such, and thus > >> can only occur in an explicit tag name (which the discussed patch won't > >> account for). Thus, some qualified names would be present in > >> completions, and some won't. This is bad. > > > > Do you have an actual example? AFAIU, this shouldn't happen: etags > > only decides that an explicit tag name is unneeded when it can be > > deduced from the pattern. So if the explicit tag is not in TAGS, it > > means etags.el can find it in the pattern. (Qualified tag names that > > are constructed by etags are never in the pattern, so they will always > > get explicit tag names.) > > I believe that the current choice is between "etags produces unqualified > tags" and "etags produces both qualified and unqualified tags for lines > where the distinction appies" (2 entries per line). Yes. > In the latter case the patch above is extraneous. So above I'm > describing the situation where etags produces unqualified tags (which it > currently does, by default). OK. > > Yes, but I'd like to make a decision before making the change for > > placing 2 entries, so that the number of backward-incompatible changes > > could be minimized. > > I think that would be a mistake. Rather, we should make the choice based > on correctness. Won't TAGS file with 2 entries for such symbols facilitate more correct operation, both from xref-find-definitions and completion? > >> It's harder to present a realistic case of a user looking for one thing > >> and getting another, but the point is, is the Etags parser decided that > >> the implicit tag doesn't match the explicit tag, we should ignore the > >> former (because we don't really know the way they mismatch). > > > > I think we already do. > > Currently, we don't put the implicit tag into the completion table if > the explicit tag is present. > > But we do match implicit tags during navigation, even when an explicit > tag is there. > > The aforementioned patch would include the implicit tag in the > completion table anyway. I'm now saying we don't want that, and we also > don't want navigation to match implicit tags in the entries that contain > an explicit tag as well. Then how will you find or complete on "foo" when the explicit tag is "XX::foo"? From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 13:01:50 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 17:01:51 +0000 Received: from localhost ([127.0.0.1]:33672 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyk8s-00006R-1U for submit@debbugs.gnu.org; Sat, 30 May 2015 13:01:50 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:4317) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyk8n-00006G-B6 for 20629@debbugs.gnu.org; Sat, 30 May 2015 13:01:46 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMLGVBT8C2MEOQ50@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Sat, 30 May 2015 19:01:42 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1Yyk8k-0003N3-4V; Sat, 30 May 2015 19:01:42 +0200 Date: Sat, 30 May 2015 19:01:42 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <83a8wmuog6.fsf@gnu.org> To: Dmitry Gutov Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: Eli Zaretskii , 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Dmitry Gutov: > It's harder to present a realistic case of a user looking for one thing > and getting another, but the point is, is the Etags parser decided that > the implicit tag doesn't match the explicit tag, we should ignore the > former (because we don't really know the way they mismatch). ... >Currently, we don't put the implicit tag into the completion table if >the explicit tag is present. > >But we do match implicit tags during navigation, even when an explicit >tag is there. > >The aforementioned patch would include the implicit tag in the >completion table anyway. I'm now saying we don't want that, and we also >don't want navigation to match implicit tags in the entries that contain >an explicit tag as well. Sorry if I don't closely follow the discussion (I do not know all the internals of etags.el), and consequently sorry if I am misanderstanding anything. In that case, please discard my observations below. I fear I can read in the above quotes a fundamental misunderstanding. If Emacs (etags.el or anything else) treats implicit tags differently from explicit tags, that's an error. Implicit tags are semantically the same as explicit tags. Whether a tag is implicit or explicit, it's only a matter of efficiency in building the TAGS file. For a given TAGS file entry, there is either no tag, or an implicit tag, or an explicit tag. The latter two cases should be treated exactly alike by whichever program is reading the TAGS file. Nor is it possible that for a given entry its implicit tag does not match its explicit tag, because either the former or the latter are present, not both. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 13:46:48 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 17:46:48 +0000 Received: from localhost ([127.0.0.1]:33704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YykqN-0001BN-WD for submit@debbugs.gnu.org; Sat, 30 May 2015 13:46:48 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:38671) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YykqM-0001BA-8A for 20629@debbugs.gnu.org; Sat, 30 May 2015 13:46:46 -0400 Received: by wizo1 with SMTP id o1so58650781wiz.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 10:46:40 -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=6su4lH8d7adkHIkqfdIRvYbuvJv/jxq4bpvlZirwwh8=; b=IZFbMPNoK2EwPSoliB0M269STfd3b+/5Weh4jKtLzLnCkWpdyDB/tHYYnVPilTpQ56 g780gcEe3oQhSwNQUx3jm4uvS4Zp0R1k8Rx5QHnjjaqn9UF6Q6gn7p6KNt8oXjTpC95c Tfrg+TvOVuV1l9l6mPAvB7XuMZWlh7szG6q1KsT6FnNVMmLx0DvVxX0To/HzLjHN5GZ6 lEp3zsrtgS+i84KmJIxKXUb/sPRpmGoUNh9RPviIDu/zf4PNfUU4A8jXiE5xyyU3ygfS nP4r2vGmQLGl5peO9Aaj0UeemdfQ4wZtpEwVEkgb6VVvOXXyfMi5LX9tGWOricsozxGg wW4g== X-Received: by 10.180.87.105 with SMTP id w9mr6296890wiz.32.1433008000557; Sat, 30 May 2015 10:46:40 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id z12sm13675952wjq.12.2015.05.30.10.46.39 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 10:46:40 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5569F77D.5070903@yandex.ru> Date: Sat, 30 May 2015 20:46:37 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <837frquilf.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 07:37 PM, Eli Zaretskii wrote: > Won't TAGS file with 2 entries for such symbols facilitate more > correct operation, both from xref-find-definitions and completion? I suppose. But that's a separate decision, whether to make it the default. > Then how will you find or complete on "foo" when the explicit tag is > "XX::foo"? I'd like to repeat that the current choice is between having only unqualified method names in explicit tags, or having both qualified and unqualified method names (2 entries per line). Having only a qualified entry is not a situation we're going to handle. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 14:13:41 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 18:13:41 +0000 Received: from localhost ([127.0.0.1]:33712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YylGO-0001oK-Ux for submit@debbugs.gnu.org; Sat, 30 May 2015 14:13:41 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:37488) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YylGN-0001o8-IZ for 20629@debbugs.gnu.org; Sat, 30 May 2015 14:13:40 -0400 Received: by wifw1 with SMTP id w1so59201874wif.0 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 11:13:34 -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=XM4RJPXTFozVDWLjkl/EtapA2T17kLFJNNr1Rh+8gfI=; b=xRhDZ3B2teugzozPbe4yTpY3Q357qGhw6nWDB5V5HoeLDKlG48aFgyPETlTdgSTfxI GHqJxexHrsFEyHXiBaB2wqmNDs6/aVAV09dZ07XAuRmL48nLCUbLccBLsx0Abh5wRfdx 6WsWAg9Oun4sAp7334cRwpUZe+MhSLTNiLEgT6mDNQaV07McxuP5+sOo7m/SZCeXW8q9 XDhEZTjsBRH+wDnRCVQERM6ImwHOMli1WVbDgDSXxtDJvbmy/+Kd91Xzj5DOY60TIED9 4Y783Jb10zacGKhpTjX5KSYB5omIin3AgUPX23oNqD7X+9cvtBbqegZy3qHxA0t0ddbS m03w== X-Received: by 10.180.99.69 with SMTP id eo5mr6278335wib.92.1433009614071; Sat, 30 May 2015 11:13:34 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id o6sm8507124wiz.24.2015.05.30.11.13.33 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 11:13:33 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= 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> From: Dmitry Gutov Message-ID: <5569FDCA.4030801@yandex.ru> Date: Sat, 30 May 2015 21:13:30 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 08:01 PM, Francesco Potortì wrote: > Sorry if I don't closely follow the discussion (I do not know all the > internals of etags.el), and consequently sorry if I am misanderstanding > anything. In that case, please discard my observations below. I don't think I'm misunderstanding: it's mainly a problem of terminology. > I fear I can read in the above quotes a fundamental misunderstanding. > If Emacs (etags.el or anything else) treats implicit tags differently > from explicit tags, that's an error. It has different predicates, to determine whether point is after an "implicit tag name" for a given string. Or whether it's after an "explicit tag name", or some other kind of match. > Implicit tags are semantically the same as explicit tags. Whether a tag > is implicit or explicit, it's only a matter of efficiency in building > the TAGS file. For a given TAGS file entry, there is either no tag, or > an implicit tag, or an explicit tag. Maybe we should say that there's always a "tag name", for a given entry. And we can determine it by looking at the tag name field, or, in the absence of it, implicitly determine from the pattern. 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 latter two cases should be > treated exactly alike by whichever program is reading the TAGS file. > Nor is it possible that for a given entry its implicit tag does not > match its explicit tag, because either the former or the latter are > present, not both. This confirms that we should always disregard implicit tag when the explicit tag is present. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 14:42:17 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 18:42:17 +0000 Received: from localhost ([127.0.0.1]:33720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyli5-0002VA-An for submit@debbugs.gnu.org; Sat, 30 May 2015 14:42:17 -0400 Received: from mtaout24.012.net.il ([80.179.55.180]:41011) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yyli2-0002Uu-9a for 20629@debbugs.gnu.org; Sat, 30 May 2015 14:42:15 -0400 Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NP600I00E4MRV00@mtaout24.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 21:33:41 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP6009CLE85DT90@mtaout24.012.net.il>; Sat, 30 May 2015 21:33:41 +0300 (IDT) Date: Sat, 30 May 2015 21:42:07 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569FDCA.4030801@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83382dvreo.fsf@gnu.org> 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> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: pot@gnu.org, 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Dmitry Gutov > Date: Sat, 30 May 2015 21:13:30 +0300 > Cc: 20629@debbugs.gnu.org > > This confirms that we should always disregard implicit tag when the > explicit tag is present. "Disregard" for what purposes? If all you need is the symbol name, then yes, you should always use the explicit tag. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 14:46:41 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 18:46:41 +0000 Received: from localhost ([127.0.0.1]:33724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YylmK-0002bh-WA for submit@debbugs.gnu.org; Sat, 30 May 2015 14:46:41 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:36806) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YylmI-0002bR-6C for 20629@debbugs.gnu.org; Sat, 30 May 2015 14:46:39 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NP600L00ELHE300@a-mtaout23.012.net.il> for 20629@debbugs.gnu.org; Sat, 30 May 2015 21:46:31 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NP600L0JETJA860@a-mtaout23.012.net.il>; Sat, 30 May 2015 21:46:31 +0300 (IDT) Date: Sat, 30 May 2015 21:46:30 +0300 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569F77D.5070903@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <831thxvr7d.fsf@gnu.org> 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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Sat, 30 May 2015 20:46:37 +0300 > > On 05/30/2015 07:37 PM, Eli Zaretskii wrote: > > > Won't TAGS file with 2 entries for such symbols facilitate more > > correct operation, both from xref-find-definitions and completion? > > I suppose. But that's a separate decision, whether to make it the default. You said "based on correctness". If the 2-entry alternative facilitates more correct operation, that's the alternative we should choose, no? > > Then how will you find or complete on "foo" when the explicit tag is > > "XX::foo"? > > I'd like to repeat that the current choice is between having only > unqualified method names in explicit tags, or having both qualified and > unqualified method names (2 entries per line). > > Having only a qualified entry is not a situation we're going to handle. You elide too much of the previous context, and I cannot afford reading 2 or 3 previous messages to restore that (and please don't rely on my memory too much). So I no longer understand what we are talking about here. Including the pattern (what you call "the implicit tag") in the completion table could serve as context for disambiguating otherwise similar tag names. But if you think it's unneeded, I'm not going to argue. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 15:35:21 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 19:35:21 +0000 Received: from localhost ([127.0.0.1]:33761 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymXQ-0005KV-Ks for submit@debbugs.gnu.org; Sat, 30 May 2015 15:35:21 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:29092) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymXN-0005KJ-5Z for 20629@debbugs.gnu.org; Sat, 30 May 2015 15:35:18 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMLM8P3IW6MEP5VN@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Sat, 30 May 2015 21:35:15 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YymXK-0003o3-R0; Sat, 30 May 2015 21:35:14 +0200 Date: Sat, 30 May 2015 21:35:14 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <5569FDCA.4030801@yandex.ru> To: Dmitry Gutov Message-id: Organization: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> Sorry if I don't closely follow the discussion (I do not know all the >> internals of etags.el), and consequently sorry if I am misanderstanding >> anything. In that case, please discard my observations below. > >I don't think I'm misunderstanding: it's mainly a problem of terminology. I was fearing *I* was the one who misunderstands :) Anyway, probably it's also a terminology problem, and that's my fault too. You are right that what I called "implicit / explicit tag" is in fact an "implicit / explicit tag name". Sorry about that, it has been a long time since I worked on that. In the etc/ETAGS.EBNF file you can read the complete description that I made at that time. Here it is: ======================= 2) discussion of tag names ======================= - WHAT ARE TAG NAMES Tag lines in a tags file are usually made from the above defined pattern and by an optional tag name. The pattern is a string that is searched in the source file to find the tagged line. - WHY TAG NAMES ARE GOOD When a user looks for a tag, Emacs first compares the tag with the tag names contained in the tags file. If no match is found, Emacs compares the tag with the patterns. The tag name is then the preferred way to look for tags in the tags file, because when the tag name is present Emacs can find a tag faster and more accurately. These tag names are part of tag lines in the tags file, so we call them "explicit". - WHY IMPLICIT TAG NAMES ARE EVEN BETTER When a tag line has no name, but a name can be deduced from the pattern, we say that the tag line has an implicit tag name. Often tag names are redundant; this happens when the name of a tag is an easily guessable substring of the tag pattern. We define a set of rules to decide whether it is possible to deduce the tag name from the pattern, and make an unnamed tag in those cases. The name deduced from the pattern of an unnamed tag is the implicit name of that tag. When the user looks for a tag, and Emacs finds no explicit tag names that match it, Emacs then looks for an tag whose implicit tag name matches the request. etags.c uses implicit tag names when possible, in order to reduce the size of the tags file. An implicit tag name is deduced from the pattern by discarding the last character if it is one of ` \f\t\n\r()=,;', then taking all the rightmost consecutive characters in the pattern which are not one of those. ===================== end of discussion of tag names ===================== >> Implicit tags are semantically the same as explicit tags. Whether a tag >> is implicit or explicit, it's only a matter of efficiency in building >> the TAGS file. For a given TAGS file entry, there is either no tag, or >> an implicit tag, or an explicit tag. > >Maybe we should say that there's always a "tag name", for a given entry. >And we can determine it by looking at the tag name field, or, in the >absence of it, implicitly determine from the pattern. Right. But thereés more. We can have either: 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'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. Well, no. Or at least, it's not how they were intended. 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. 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. 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. If you don't, then you should try and match the unnamed patterns (in practice, I think that etags.el tries and matches all the patterns). So there is no such thing as an explicit name plus an implicit name for the same tag. Or at least, it was never intended to work like that. >> The latter two cases should be >> treated exactly alike by whichever program is reading the TAGS file. >> Nor is it possible that for a given entry its implicit tag does not >> match its explicit tag, because either the former or the latter are >> present, not both. > >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. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 15:42:39 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 19:42:39 +0000 Received: from localhost ([127.0.0.1]:33765 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymeT-0005Vz-Kl for submit@debbugs.gnu.org; Sat, 30 May 2015 15:42:38 -0400 Received: from mail-wg0-f52.google.com ([74.125.82.52]:34333) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YymeR-0005Vj-Mj for 20629@debbugs.gnu.org; Sat, 30 May 2015 15:42:36 -0400 Received: by wgv5 with SMTP id 5so86040500wgv.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 12:42:30 -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=Ph9to2RL691fsKZFc6X/K8g7SIATuKkwMKtWJQk4/H4=; b=xyDrVyib6MlxBuTntb2rmcBbuclY+JOm9HwuhQjsGCsBKfbNm4icwM9IsqGZY9k6jW bbDeqmpSQ5J026K6ZG+IToKD28hgEjythiu4OObVMFzYPd4M65uBoLKIcgK0o54nFLKv 7Bwkj/cEn6gLf8zQaH7pN1GY1HLyH2QfygZYxipuQLYIRGpAECFYyWvAVy+gTt8CUwtr lM7YUQP0gqs+/WGSHjcRSpnhJLL1O7z4i/Qd74nkDPK9XjqVcMXf2YRUxK2aprJpCKmN oc02lxLTSuni29PgQyBN4A0rgNDmTuqpqqLUw6kWcp0UigtSocgh6mSDmHIxQ4TRijic s4Pw== X-Received: by 10.194.157.194 with SMTP id wo2mr26987290wjb.103.1433014950125; Sat, 30 May 2015 12:42:30 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id ju2sm8815862wid.12.2015.05.30.12.42.29 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 12:42:29 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii 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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> From: Dmitry Gutov Message-ID: <556A12A2.8030002@yandex.ru> Date: Sat, 30 May 2015 22:42:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: <831thxvr7d.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/30/2015 09:46 PM, Eli Zaretskii wrote: > You said "based on correctness". If the 2-entry alternative > facilitates more correct operation, that's the alternative we should > choose, no? It adds a capability (to perform the search based on fully qualified name), rather than improving correctness. But again, it's a separate question. You don't have to persuade me on that choice, but I'm inclined toward compatibility with Ex-Ctags. >>> Then how will you find or complete on "foo" when the explicit tag is >>> "XX::foo"? >> >> I'd like to repeat that the current choice is between having only >> unqualified method names in explicit tags, or having both qualified and >> unqualified method names (2 entries per line). >> >> Having only a qualified entry is not a situation we're going to handle. > > You elide too much of the previous context, and I cannot afford > reading 2 or 3 previous messages to restore that (and please don't > rely on my memory too much). So I no longer understand what we are > talking about here. Sorry, I don't know where to start clarifying. In the previous message I've explained why your question, quoted above, doesn't make sense: the TAGS file must have another entry, for the same line, where the explicit tag is "foo". That one will be matched, not "XX::foo". This discussion has grown quite long already. Francesco seems to agree with my conclusions, so I'm going to make the change. > Including the pattern (what you call "the implicit tag") in the > completion table could serve as context for disambiguating otherwise > similar tag names. But if you think it's unneeded, I'm not going to > argue. Here you're using a term that's not part of the usual completion table terminology. Context? Apparently you mean annotation, which would be possible (*), but using the pattern as annotation for the current entry's tag name is not at all the same as including the implicit tag name (derived from the pattern) in the completion table. Which means adding it as a separate element. For simplicity, think of this completion table as a list, especially now it's implemented as such. (*) But not necessarily advisable, and would bring its own challenge WRT implementation. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 16:04:36 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 20:04:36 +0000 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 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 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) 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) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= 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> From: Dmitry Gutov Message-ID: <556A17C8.2030300@yandex.ru> Date: Sat, 30 May 2015 23:04:24 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 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). From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 18:36:03 2015 Received: (at 20629) by debbugs.gnu.org; 30 May 2015 22:36:03 +0000 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 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 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) 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 Date: Sun, 31 May 2015 00:35:55 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <556A17C8.2030300@yandex.ru> To: Dmitry Gutov Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 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> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> 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. From debbugs-submit-bounces@debbugs.gnu.org Sat May 30 20:35:09 2015 Received: (at 20629) by debbugs.gnu.org; 31 May 2015 00:35:09 +0000 Received: from localhost ([127.0.0.1]:33846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyrDY-0007CX-VI for submit@debbugs.gnu.org; Sat, 30 May 2015 20:35:09 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:36339) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YyrDW-0007Bz-51 for 20629@debbugs.gnu.org; Sat, 30 May 2015 20:35:06 -0400 Received: by wibdq8 with SMTP id dq8so287242wib.1 for <20629@debbugs.gnu.org>; Sat, 30 May 2015 17:35:00 -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=CcYOoLf1AU467nspZoBk4NdZaLgVPR3hX9SJH7+QtAQ=; b=nlSlAEZrfkQqF79SF+KPd63B/us4QqcsfqkmvFmqHhbBok1dxwXpx5T19WKuWjbrva L0yXiq+//Amx0fuiuIMbHsLY8sKJ22c7Exd/C5WDFMz1hchc7nEfNuJb0XE0Jv7FOktX 7tsJaWKxLesTZg2errRSsbUhFKSwPzUieIFLFNcimfs8pFEbRZaLrFm15jSDLUxFLgFN MNXo3lqr3mk3HEqslNld+li1et38G/ksUamQB9UW55PtGJmcJUUYdnBaNozQQR/xdkWr IAV1gF+F2rL+TUUvKR+/yXa86SvfZAH5HVy48RTeTdNNpTYpMbGLwbY3uylgkZqduTB5 G+zA== X-Received: by 10.194.185.8 with SMTP id ey8mr28497076wjc.118.1433032500548; Sat, 30 May 2015 17:35:00 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id bo5sm15305208wjc.43.2015.05.30.17.34.59 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 30 May 2015 17:35:00 -0700 (PDT) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: =?UTF-8?Q?Francesco_Potort=c3=ac?= 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> From: Dmitry Gutov Message-ID: <556A5731.6070900@yandex.ru> Date: Sun, 31 May 2015 03:34:57 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 05/31/2015 01:35 AM, Francesco Potortì wrote: > 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. It seems that the main (only?) case when we would consider a tag unnamed is when its pattern ends with 2 or more NONAM characters, and there's no explicit name. > I'll rewrite the rest now that I think I have better understood what you > need. Thanks, that matches my understanding as well. From debbugs-submit-bounces@debbugs.gnu.org Sun May 31 17:46:33 2015 Received: (at 20629) by debbugs.gnu.org; 31 May 2015 21:46:33 +0000 Received: from localhost ([127.0.0.1]:35142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzB3w-000129-FY for submit@debbugs.gnu.org; Sun, 31 May 2015 17:46:32 -0400 Received: from blade3.isti.cnr.it ([194.119.192.19]:39255) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzB3r-00011x-8F for 20629@debbugs.gnu.org; Sun, 31 May 2015 17:46:31 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMN53NOSFKMES6FZ@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Sun, 31 May 2015 23:46:24 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YzB3o-0005bt-AY for 20629@debbugs.gnu.org; Sun, 31 May 2015 23:46:24 +0200 Date: Sun, 31 May 2015 23:46:24 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Fwd: bug#20703: 24.4; Stack overflow in regexp matcher To: 20629@debbugs.gnu.org Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) This unrelated bug report contains interesting info: maybe what I and others have assumed is not true and optimising the size of the TAGS file is still a worthwhile objective. If it is indeed important to optimise for size, and if it is important to have tag names both fully qualified and unqualified, then one should consider augmenting the TAGS syntax with an arbitrary number of names per tag. ------- Start of forwarded message ------- Date: Sun, 31 May 2015 18:46:21 +0200 Resent-from: lee@yagibdah.de From: lee@yagibdah.de Subject: bug#20703: 24.4; Stack overflow in regexp matcher To: 20703@debbugs.gnu.org using projectile, trying to find a tag with C-p j The TAGS file is 1.8GB. [...] From debbugs-submit-bounces@debbugs.gnu.org Sun May 31 18:21:02 2015 Received: (at 20629) by debbugs.gnu.org; 31 May 2015 22:21:03 +0000 Received: from localhost ([127.0.0.1]:35162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzBbI-0001pM-NR for submit@debbugs.gnu.org; Sun, 31 May 2015 18:21:02 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:34089) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzBbF-0001p7-8A for 20629@debbugs.gnu.org; Sun, 31 May 2015 18:20:57 -0400 Received: by wibut5 with SMTP id ut5so23409905wib.1 for <20629@debbugs.gnu.org>; Sun, 31 May 2015 15:20:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=RHO4BPxOxp2PfGGWhP/NzAUM03TOG4g34ngHQc5FiCA=; b=lipiYP6nWD5loITqTcqFZlr+wzIjimvmPHLEU4xOGfatn19jZ7FzmdgoCcV5c4u8qD tCTr4OQ4Yhqez35xfAE6a5WsvgZPyuev/3Yp2QUeL3A2JNzAm2RQS022UfW8M0J2TZ8u CJrr9Z07QrtU4grbxDXpg9jGYTOKoGzDzUxL/s/R5unyGjTiNvg2zxWw3UnoA6dpzqdF eiXGHFgQ6vgors/MDyJzZykAZs0QzRU5/jMunXKNbSG0YtnW5ImyRVZ1P5zLqc5M+pph lGWzbUE/OSplxYQI1bgEmAL+hl8ZgacTCE5ygFib0SOgA+XPBmMWnGTWaFZphYVOENyo Lsbw== X-Received: by 10.180.105.129 with SMTP id gm1mr14540677wib.51.1433110851539; Sun, 31 May 2015 15:20:51 -0700 (PDT) Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id d9sm5339374wjn.31.2015.05.31.15.20.50 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 31 May 2015 15:20:51 -0700 (PDT) Subject: Re: bug#20629: Fwd: bug#20703: 24.4; Stack overflow in regexp matcher To: =?UTF-8?Q?Francesco_Potort=c3=ac?= , 20629@debbugs.gnu.org References: <555EC552.5010600@swipnet.se> From: Dmitry Gutov Message-ID: <556B893C.60502@yandex.ru> Date: Mon, 1 Jun 2015 01:20:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 06/01/2015 12:46 AM, Francesco Potortì wrote: > This unrelated bug report contains interesting info: maybe what I and > others have assumed is not true and optimising the size of the TAGS file > is still a worthwhile objective. I'm guessing it's not the file size that led to the stack overflow problem there. From debbugs-submit-bounces@debbugs.gnu.org Sun May 31 18:40:12 2015 Received: (at 20629) by debbugs.gnu.org; 31 May 2015 22:40:12 +0000 Received: from localhost ([127.0.0.1]:35170 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzBts-0002HP-11 for submit@debbugs.gnu.org; Sun, 31 May 2015 18:40:12 -0400 Received: from blade4.isti.cnr.it ([194.119.192.20]:28655) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YzBtp-0002HG-6g for 20629@debbugs.gnu.org; Sun, 31 May 2015 18:40:10 -0400 Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PMN6Z88EZMMESDPG@mx.isti.cnr.it> for 20629@debbugs.gnu.org; Mon, 01 Jun 2015 00:40:06 +0200 (MEST) Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1YzBtl-0005tr-QG; Mon, 01 Jun 2015 00:40:06 +0200 Date: Mon, 01 Jun 2015 00:40:05 +0200 From: Francesco =?utf-8?Q?Potort=C3=AC?= Subject: Re: bug#20629: Fwd: bug#20703: 24.4; Stack overflow in regexp matcher In-reply-to: <556B893C.60502@yandex.ru> To: Dmitry Gutov Message-id: Organization: X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 References: <555EC552.5010600@swipnet.se> <556B893C.60502@yandex.ru> X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> This unrelated bug report contains interesting info: maybe what I and >> others have assumed is not true and optimising the size of the TAGS file >> is still a worthwhile objective. > >I'm guessing it's not the file size that led to the stack overflow >problem there. Most probably, in fact. That's why I said the bug was unrelated. However, it contains interesting info: TAGS file sizes of 2 GB are not out of order. This means that caring about file size is a worthwhile goal. With the consequences I had mentioned in my previous mail. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 25 22:24:20 2015 Received: (at 20629) by debbugs.gnu.org; 26 Nov 2015 03:24:20 +0000 Received: from localhost ([127.0.0.1]:53348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1nAS-0003A4-JG for submit@debbugs.gnu.org; Wed, 25 Nov 2015 22:24:20 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:34405) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1nA9-00039E-9d for 20629@debbugs.gnu.org; Wed, 25 Nov 2015 22:24:19 -0500 Received: by wmvv187 with SMTP id v187so12386132wmv.1 for <20629@debbugs.gnu.org>; Wed, 25 Nov 2015 19:24:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=P/jsKt9FnfpA18wZE3+lb/5/n/zVJbxrRl+XRi4TQa8=; b=ydSWioxfiIli/6dpYZJ1Ct/m5FoMxH3G0icaHpN/aJgxL3QH2o/ybyqvtEVAikRw9h cGckBGAQOPdgrDBj1Io0y6/Ehf3V2n5UjxWgb19lsxQsz/RsshtZVW7ZQwLRGa9jR4BD bQjDNf2lDG32AzIEgjcbpoeWEdiensiaKYac5KSC/XwmjLGnEYsZNeT5ivj8d4eNip1c XyTgZuziU2J4v6fu/GwVdi3rWKC6Pxpgk7Up1kPQ95yDQc0q+Z6c2Yvvf02SQCTrzP22 VHwnnhqj1nQV6+YzEg1gzMtXBwwK5HCrJ+mvzKmlAUqXqU72whuogmKObhIINQr1dkux rLzQ== X-Received: by 10.28.33.136 with SMTP id h130mr1066874wmh.93.1448508240781; Wed, 25 Nov 2015 19:24:00 -0800 (PST) Received: from axl (nat.webazilla.com. [78.140.128.228]) by smtp.gmail.com with ESMTPSA id gl4sm20293964wjd.17.2015.11.25.19.23.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Nov 2015 19:24:00 -0800 (PST) From: Dmitry Gutov To: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> Date: Thu, 26 Nov 2015 05:23:58 +0200 In-Reply-To: <556A12A2.8030002@yandex.ru> (Dmitry Gutov's message of "Sat, 30 May 2015 22:42:26 +0300") Message-ID: <86y4dlv3xt.fsf@yandex.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Is there anything left to fix in this bug? The example described in the first message now works (after one re-generates their TAGS using the latest etags, or even 'ctags -e'). From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 10:43:52 2015 Received: (at 20629) by debbugs.gnu.org; 26 Nov 2015 15:43:52 +0000 Received: from localhost ([127.0.0.1]:54443 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1yi7-0006fc-VS for submit@debbugs.gnu.org; Thu, 26 Nov 2015 10:43:52 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:55230) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1yhn-0006f7-WC for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 10:43:51 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NYF00500I302E00@a-mtaout22.012.net.il> for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 17:43:24 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NYF004BKICBO380@a-mtaout22.012.net.il>; Thu, 26 Nov 2015 17:43:24 +0200 (IST) Date: Thu, 26 Nov 2015 17:43:08 +0200 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <86y4dlv3xt.fsf@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83two8vkab.fsf@gnu.org> References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> <86y4dlv3xt.fsf@yandex.ru> X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) > From: Dmitry Gutov > Cc: 20629@debbugs.gnu.org > Date: Thu, 26 Nov 2015 05:23:58 +0200 > > Is there anything left to fix in this bug? > > The example described in the first message now works (after one > re-generates their TAGS using the latest etags, or even 'ctags -e'). If we don't want to have duplicate qualified+unqualified entries for OO languages, then no, there's nothing left to fix. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 11:12:25 2015 Received: (at 20629) by debbugs.gnu.org; 26 Nov 2015 16:12:25 +0000 Received: from localhost ([127.0.0.1]:54464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1z9k-0007Nh-Np for submit@debbugs.gnu.org; Thu, 26 Nov 2015 11:12:24 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37603) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1z9R-0007NB-DQ for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 11:12:23 -0500 Received: by wmww144 with SMTP id w144so28146453wmw.0 for <20629@debbugs.gnu.org>; Thu, 26 Nov 2015 08:12:04 -0800 (PST) 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=a+pX9wZUVvrMMmC/xtjjfA0ToFDEWgtoRNIx7Vpw3zY=; b=xwIoM0xgwGo38CifUki7Jch6bkGxNUOl330hbo1+BabPnXRLoz/k0Ap6dBgMXmCk2t w2GWOeMrdsyUluOLh0zdFtnvGWRHLwj7tPS/hAirZqQAtiIkf13mctO8fmTFr1EaWJl3 cHUmbWgT2eSk3FDdcGQ3La6314OA5gft0iHAvTZniweiUqpm8iZDMhWpR3JxUAAJfMEe 1FectnMM5y1aiVMRdtNkpO71tRKPMwasWPvcHmswwCgMVsxexa2AF+/TdGYvd5AAit0O WEtu9xcDUtUEDW9UwspBRpKCv5O0F1yUaCXnVjflJk2BBNoaUiftFFdWs+x23DJBg2+R W6Pw== X-Received: by 10.194.143.115 with SMTP id sd19mr56368640wjb.94.1448554324792; Thu, 26 Nov 2015 08:12:04 -0800 (PST) Received: from [10.9.0.103] (nat.webazilla.com. [78.140.128.228]) by smtp.googlemail.com with ESMTPSA id m185sm3361674wmf.0.2015.11.26.08.12.03 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 26 Nov 2015 08:12:03 -0800 (PST) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> <86y4dlv3xt.fsf@yandex.ru> <83two8vkab.fsf@gnu.org> From: Dmitry Gutov Message-ID: <56572F51.5050006@yandex.ru> Date: Thu, 26 Nov 2015 18:12:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Thunderbird/42.0 MIME-Version: 1.0 In-Reply-To: <83two8vkab.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 11/26/2015 05:43 PM, Eli Zaretskii wrote: > If we don't want to have duplicate qualified+unqualified entries for > OO languages, then no, there's nothing left to fix. Right. I thought that was also already done, for some reason. Should we create a dedicated issue for that? It concerns not only C++, but also Lua (as we've found out recently), and other languages (whether we want to tackle them now or not). We could also continue the discussion there about extending etags format to supporting several tag names on one line (aside from compatibility issues, it should be trivial). From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 11:33:28 2015 Received: (at 20629) by debbugs.gnu.org; 26 Nov 2015 16:33:28 +0000 Received: from localhost ([127.0.0.1]:54504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1zTp-0007ub-BF for submit@debbugs.gnu.org; Thu, 26 Nov 2015 11:33:27 -0500 Received: from mtaout29.012.net.il ([80.179.55.185]:55199) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a1zTm-0007uS-Lt for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 11:33:07 -0500 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NYF00300KI4HB00@mtaout29.012.net.il> for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 18:32:33 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NYF003MHKM9BX00@mtaout29.012.net.il>; Thu, 26 Nov 2015 18:32:33 +0200 (IST) Date: Thu, 26 Nov 2015 18:32:49 +0200 From: Eli Zaretskii Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. In-reply-to: <56572F51.5050006@yandex.ru> X-012-Sender: halo1@inter.net.il To: Dmitry Gutov Message-id: <83egfcvhzi.fsf@gnu.org> References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> <86y4dlv3xt.fsf@yandex.ru> <83two8vkab.fsf@gnu.org> <56572F51.5050006@yandex.ru> X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Thu, 26 Nov 2015 18:12:01 +0200 > > On 11/26/2015 05:43 PM, Eli Zaretskii wrote: > > > If we don't want to have duplicate qualified+unqualified entries for > > OO languages, then no, there's nothing left to fix. > > Right. I thought that was also already done, for some reason. It wasn't done because the discussion didn't reach any consent. > Should we create a dedicated issue for that? It concerns not only C++, > but also Lua (as we've found out recently), and other languages (whether > we want to tackle them now or not). Yes, we could create a separate issue. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 22:54:45 2015 Received: (at 20629) by debbugs.gnu.org; 27 Nov 2015 03:54:45 +0000 Received: from localhost ([127.0.0.1]:54956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a2A7Q-0007kh-UY for submit@debbugs.gnu.org; Thu, 26 Nov 2015 22:54:45 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:38526) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a2A7O-0007kZ-FH for 20629@debbugs.gnu.org; Thu, 26 Nov 2015 22:54:42 -0500 Received: by wmec201 with SMTP id c201so42763817wme.1 for <20629@debbugs.gnu.org>; Thu, 26 Nov 2015 19:54:41 -0800 (PST) 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=zyH9yphWmNo71kM894baf+0AVJ69XhQTXWVbqNcVqDE=; b=MaCD5DnnA2TyaF+NhEyFVWIsWmY65uQEWsKzG4oMPdGThWNFuEcNPKyHzHAIkr1tS4 wMVFFTSiKaUUT0GPzoRWyCgriPMzEkpQ+rVonIvnPLlVR8a0eNrlndVErTc8Y7dnM/H7 uuCUkWVhnnlJw72OklvMdtEDvTL7BKPaFNuom+oBJyIFFCBFLzhRor3Rub7LJRBDslHa u3jlp4PgtCn64eexJDIga9AIQ+Td6+yJRM9SxB12jBGfbt68rJumt+J6O0APmACydMDH lGBVilnxBqAqdNc3ZWwGoZ22Sm5IYq3IZpVTbTuSLJnUBMflheKRoUcWgthPH/HPtAKE EmZw== X-Received: by 10.194.204.202 with SMTP id la10mr60068061wjc.81.1448596481718; Thu, 26 Nov 2015 19:54:41 -0800 (PST) Received: from [10.9.0.103] (nat.webazilla.com. [78.140.128.228]) by smtp.googlemail.com with ESMTPSA id m185sm5256303wmf.0.2015.11.26.19.54.40 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 26 Nov 2015 19:54:41 -0800 (PST) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. To: Eli Zaretskii References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> <86y4dlv3xt.fsf@yandex.ru> <83two8vkab.fsf@gnu.org> <56572F51.5050006@yandex.ru> <83egfcvhzi.fsf@gnu.org> From: Dmitry Gutov Message-ID: <5657D3FF.4000703@yandex.ru> Date: Fri, 27 Nov 2015 05:54:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Thunderbird/42.0 MIME-Version: 1.0 In-Reply-To: <83egfcvhzi.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20629 Cc: 20629@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 11/26/2015 06:32 PM, Eli Zaretskii wrote: > It wasn't done because the discussion didn't reach any consent. FWIW, I left it with understanding that we should learn to generate both qualified and unqualified tag names for C++. Whether to do that by default or not, I'm not sure. But Exuberant Ctags defaults to the latter option, and only generates unqualified tag names by default. It would be a good idea to follow suit, for consistency if nothing else. And I'd like to revisit your previous comment: > Including the pattern (what you call "the implicit tag") in the > completion table could serve as context for disambiguating otherwise > similar tag names. Even if that can work in many cases (patterns are displayed in the xref buffer, for example), pattern won't necessarily contain the qualified name either. In Java, it never will, as long as the pattern is created from the contents of the line with the method's definition (because there's no class name on that line). In C++, it won't if the method is defined inside the class definition (Java-style), which seems to be recommended for short methods. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 19 14:46:00 2016 Received: (at 20629-done) by debbugs.gnu.org; 19 Mar 2016 18:46:00 +0000 Received: from localhost ([127.0.0.1]:53913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ahLst-0004Cr-SP for submit@debbugs.gnu.org; Sat, 19 Mar 2016 14:46:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ahLsr-0004Cd-C8 for 20629-done@debbugs.gnu.org; Sat, 19 Mar 2016 14:45:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ahLsj-0003L7-13 for 20629-done@debbugs.gnu.org; Sat, 19 Mar 2016 14:45:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33788) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahLsi-0003L3-Tw; Sat, 19 Mar 2016 14:45:48 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4474 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ahLsi-0007aZ-5O; Sat, 19 Mar 2016 14:45:48 -0400 Date: Sat, 19 Mar 2016 20:45:20 +0200 Message-Id: <83twk271dr.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Gutov In-reply-to: <5657D3FF.4000703@yandex.ru> (message from Dmitry Gutov on Fri, 27 Nov 2015 05:54:39 +0200) Subject: Re: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files. References: <555EC552.5010600@swipnet.se> <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> <5569D136.90802@yandex.ru> <837frquilf.fsf@gnu.org> <5569F77D.5070903@yandex.ru> <831thxvr7d.fsf@gnu.org> <556A12A2.8030002@yandex.ru> <86y4dlv3xt.fsf@yandex.ru> <83two8vkab.fsf@gnu.org> <56572F51.5050006@yandex.ru> <83egfcvhzi.fsf@gnu.org> <5657D3FF.4000703@yandex.ru> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 20629-done Cc: 20629-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Cc: 20629@debbugs.gnu.org > From: Dmitry Gutov > Date: Fri, 27 Nov 2015 05:54:39 +0200 > > On 11/26/2015 06:32 PM, Eli Zaretskii wrote: > > > It wasn't done because the discussion didn't reach any consent. > > FWIW, I left it with understanding that we should learn to generate both > qualified and unqualified tag names for C++. Whether to do that by > default or not, I'm not sure. > > But Exuberant Ctags defaults to the latter option, and only generates > unqualified tag names by default. It would be a good idea to follow > suit, for consistency if nothing else. > > And I'd like to revisit your previous comment: > > > Including the pattern (what you call "the implicit tag") in the > > completion table could serve as context for disambiguating otherwise > > similar tag names. > > Even if that can work in many cases (patterns are displayed in the xref > buffer, for example), pattern won't necessarily contain the qualified > name either. > > In Java, it never will, as long as the pattern is created from the > contents of the line with the method's definition (because there's no > class name on that line). > > In C++, it won't if the method is defined inside the class definition > (Java-style), which seems to be recommended for short methods. As we now have a dedicated feature request (bug#22995), I'm closing this bug. From unknown Mon Jun 23 22:03:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 17 Apr 2016 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator