emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automatic (e)tags generation and incremental updates


From: Dmitry Gutov
Subject: Re: Automatic (e)tags generation and incremental updates
Date: Fri, 19 Feb 2021 01:26:43 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]