From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Francesco =?utf-8?Q?Potort=C3=AC?= Newsgroups: gmane.emacs.devel Subject: Re: maintaining etags Date: Tue, 12 May 2015 13:17:06 +0200 Message-ID: References: <5546DD4A.2080709@yandex.ru> <87r3qvnld1.fsf@gmail.com> <5548E08A.4090305@yandex.ru> <87mw1jndul.fsf@gmail.com> <554964CE.3040809@yandex.ru> <87oalxn756.fsf@gmail.com> <554AAD41.6060506@yandex.ru> <87vbg4lgn6.fsf@gmail.com> <554CB069.8090002@yandex.ru> <87sib7j9yf.fsf@gmail.com> <554CE8B2.7080408@yandex.ru> <87fv76kj0s.fsf@gmail.com> <83fv76p6ts.fsf@gnu.org> <831tiqox9e.fsf@gnu.org> <83twvmndr1.fsf@gnu.org> <554E0484.9010702@yandex.ru> <83mw1dophc.fsf@gnu.org> <554E8294.8070500@yandex.ru> <836180o5da.fsf@gnu.org> <83wq0fkqhj.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1431429452 5691 80.91.229.3 (12 May 2015 11:17:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 May 2015 11:17:32 +0000 (UTC) Cc: emacs-devel@gnu.org, eller.helmut@gmail.com, monnier@IRO.UMontreal.CA, dgutov@yandex.ru To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 12 13:17:21 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ys8Bd-0005vE-8G for ged-emacs-devel@m.gmane.org; Tue, 12 May 2015 13:17:21 +0200 Original-Received: from localhost ([::1]:42181 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ys8Bb-00061J-U2 for ged-emacs-devel@m.gmane.org; Tue, 12 May 2015 07:17:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ys8BX-0005yT-Sl for emacs-devel@gnu.org; Tue, 12 May 2015 07:17:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ys8BW-0003l5-TW for emacs-devel@gnu.org; Tue, 12 May 2015 07:17:15 -0400 Original-Received: from blade3.isti.cnr.it ([194.119.192.19]:37502) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ys8BR-0003iz-Dv; Tue, 12 May 2015 07:17:09 -0400 Original-Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #32097) with ESMTPSA id <01PLVZKW9BV6LLWM6R@mx.isti.cnr.it>; Tue, 12 May 2015 13:17:07 +0200 (MEST) Original-Received: from pot by tucano.isti.cnr.it with local (Exim 4.85) (envelope-from ) id 1Ys8BO-000479-TB; Tue, 12 May 2015 13:17:06 +0200 In-reply-to: <83wq0fkqhj.fsf@gnu.org> X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 194.119.192.19 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:186450 Archived-At: >> Eli, I see that you move around Etags's state machinery without problems. > >I wouldn't say "without problems", it took me a while staring at the >state machines to pick up enough to be able to think of a solution. >That part of etags is not easily penetrated (the parts that deal with >other languages are easier). Yes, C and C-like languages have a complex parser. I gradually rewrote it entirely maybe twice, trying to make it readable... >> Anyway, when I used to patch Etags, I always run a regression test, >> then updated the regression test with the case the patch was meant to >> address. The tests that I used can be found in the tree at >> , >> together with some garbage. The tests are invoked from the Makefile as >> the default target. If, as I hope, someone will care to install the >> regression tests in the Emacs tree I can assist with answers to >> questions. > >Thanks, I will definitely run the test suite, I didn't know about it. >I will also look intyo adding it to the Emacs regression suite. I had mentioned it to Stefan too, but I did not get down to preparing it until I stumbled upon this thread. It works simply by running the just compiled etags on a series of source code snippets, and sometimes on whole source files, and compare the generated tags file with the one generated by a stable version. It would be great if it were incorporated in the Emacs test suite or anyway made available to Emacs developers. >> The patch you propose is the sort of patch that should be run against a >> regression test, as it is not always obvious what will happen in the >> general case. > >Agreed. (I did run it on the entire Emacs tree and examined the >differences one by one against the previous version, but the more the >better, of course.) The Emacs tree is a good test. The advantage of the regression tests I provide is that they should exercise all the bug squashings and the improvements that were made to etags in the past, and do so on a small code base. Also, etags is compiled with debugging enabled when running the regression test, which enables internal tests.