From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Automatic (e)tags generation and incremental updates Date: Fri, 19 Feb 2021 01:26:43 +0200 Message-ID: <731c1b21-b3e9-89fe-3751-9c2a528adfba@yandex.ru> References: <779a6328-9ca5-202a-25a2-b270c66fe6dd@yandex.ru> <8fc5e96c-ebb8-c668-9b2a-c7c4ee54c0b9@yandex.ru> <83r1mwltob.fsf@gnu.org> <0bee9ab4-46bc-b6fd-97b6-e26cc80f1610@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35376"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: philipk@posteo.net, tom@tromey.com, emacs-devel@gnu.org, john@yates-sheets.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 19 00:28:01 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lCsiH-00094X-Mw for ged-emacs-devel@m.gmane-mx.org; Fri, 19 Feb 2021 00:28:01 +0100 Original-Received: from localhost ([::1]:51010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lCsiG-0005xL-MJ for ged-emacs-devel@m.gmane-mx.org; Thu, 18 Feb 2021 18:28:00 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59878) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lCshC-0004g3-L2 for emacs-devel@gnu.org; Thu, 18 Feb 2021 18:26:54 -0500 Original-Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:41004) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lCsh7-00025f-2A; Thu, 18 Feb 2021 18:26:54 -0500 Original-Received: by mail-ej1-x62c.google.com with SMTP id e13so5292884ejl.8; Thu, 18 Feb 2021 15:26:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=iKG52dM0uWEzP4l1rZfMsczgtdyQ+n9QsF2HXf0Y5hE=; b=bOK2fFSgVqmEXr7D5cIOlaQvDoKxxNt9cupIAVtyYX85Wo9UOLcqKEHkFV8oLXmnEo O42w9MwU43Eqga3vNKwP/qM7iekj+3wsWSUqJsS9N9AdZOSUff327l34ydXTj9xM5MyU +ojhH7dHu1eDHR+WH6XLWYkvGTK0uVJOyifRFOFrZHQYiA1ruM6EcquJAsPcmrlGThkY uqN3KsxwSWo35JizltCaIecd9tl5yO25p2GZBB+Ii+PKA1ILsS3j21fQTSEi4P7vJPvq v7dg1XtMwYZNX/JozKl9Eo36avn0EEkpBejLJ/dIoUa3/kSVJW1yr+3e2Fau5WkC1eu1 PdyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:cc:references:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iKG52dM0uWEzP4l1rZfMsczgtdyQ+n9QsF2HXf0Y5hE=; b=RzrpDq/8h2sizXy1FC0OnNtIr5LeqC2H/tBubeKKcTixQWFS2jY9lr+TewCeP8GlZr dsUPLaYQ4mGd+aCrMDLvVfi9A+tKasICwOGxh3+zMAQcpLuaYV2+8FjFxb9ehgd2rcnD N2cDGxuZC9iuS2eRo3jKK2sQHoABRHqj9CM4uLyA1rX7oddcJlRzBu0sZpigQV2fTSDL DucgRhLjNiVnscSOkRdmEgiVIgVUTXtrngPhhb0+uj4FVFT1Fj3PIVHonh3LITZvFzJ5 FRP5uPSpmocdRT7w52Mi2H1Uakx6w9iQvLtMxFKiqcNOP2Yut+87Pw16oBduB4WYEaOA x6MA== X-Gm-Message-State: AOAM5306yD1cM6ZlakyVc0zOjlNiFmWIjj+M/7k8vzRWEB6OKFyDoFgi kpoI09hGNCadujSis+vrV9VBHP9bnR0= X-Google-Smtp-Source: ABdhPJz6NEU4Im0bI2j5BiQI8jvMay0KI4wTnagAmv3MMnw9UcjlRrC2HYY2ecK0teLCyqTZ08XUmg== X-Received: by 2002:a17:906:bc4f:: with SMTP id s15mr3130459ejv.154.1613690807095; Thu, 18 Feb 2021 15:26:47 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id l7sm1930392edv.50.2021.02.18.15.26.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Feb 2021 15:26:46 -0800 (PST) In-Reply-To: <0bee9ab4-46bc-b6fd-97b6-e26cc80f1610@yandex.ru> Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=raaahh@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:265199 Archived-At: Hi Eli, On 07.01.2021 17:56, Dmitry Gutov wrote: > - A change to lib-src/etags.c which implements handing of '-L' flag, for > compatibility with ctags. How do you feel about cherry-picking this particular change to the emacs-27 release branch? If we do that, we could later offer etags-regen as "ELPA core" to Emacs 27.2 users, to get additional testing and feedback, instead of having it incubate in master for another year or so until the next release. Or if you don't, how do you feel about that code change at all? One alternative for me is to try to support both 'ctags -e' and 'etags', with some ad-hoc version detection, I guess. Then the change won't be needed. Code-wise, it is only this (though it might need doc changes): diff --git a/lib-src/etags.c b/lib-src/etags.c index b5c18e0e01..d79c6f4783 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -1112,7 +1112,7 @@ main (int argc, char **argv) /* When the optstring begins with a '-' getopt_long does not rearrange the non-options arguments to be at the end, but leaves them alone. */ optstring = concat ("-ac:Cf:Il:o:Qr:RSVhH", - (CTAGS) ? "BxdtTuvw" : "Di:", + (CTAGS) ? "BxdtTuvw" : "Di:L:", ""); while ((opt = getopt_long (argc, argv, optstring, longopts, NULL)) != EOF) @@ -1124,6 +1124,7 @@ main (int argc, char **argv) break; case 1: + case 'L': /* This means that a file name has been seen. Record it. */ argbuffer[current_arg].arg_type = at_filename; argbuffer[current_arg].what = optarg;