unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: philipk@posteo.net, tom@tromey.com, emacs-devel@gnu.org,
	john@yates-sheets.org
Subject: Re: Automatic (e)tags generation and incremental updates
Date: Sat, 20 Feb 2021 22:27:50 +0200	[thread overview]
Message-ID: <25073978-eb02-4f40-4104-9d18df87def0@yandex.ru> (raw)
In-Reply-To: <83im6n19it.fsf@gnu.org>

On 20.02.2021 09:30, Eli Zaretskii wrote:

>>> It sounds like a fully compatible code is not really possible, so some
>>> test to detect which etags/ctags program will run, with the necessary
>>> code tailored to each of them, seems like the best COA in the long
>>> run.  It's a bit more coding, but the differences are fairly minor, so
>>> I don't expect that to be too hard.
>>
>> It's one more source of bugs, because I would personally be using only
>> one of the code paths on the regular basis, and the same might be true
>> for emacs-devel regulars who might try it out.
> 
> But below you propose a compatibility layer anyway, for the regular
> expressions, right?  So the danger of less testing and more bugs still
> exists under that proposal, AFAIU.  And the compatibility code for
> using "-L -" vs just "-" is very simple, so why not put it under the
> same condition as what you plan for the regexp compatibility?

That would work quite differently: etags wouldn't have to launch an 
external executable and somehow guess whether it supports some flags. It 
will just add for support some new (common) ones.

And if etags-regen will exercise just a limited set of them won't result 
in any kind of instability in the package. Or should not, at least.

There is still some risk, of course, but that would stem from possible 
differences in the implementation of said options between etags and ctags.

>> But in the long run, it might be good for us to have a better level of
>> compatibility with 'ctags -e': less user confusion, for one thing. And
>> for best results, I think we should approach that compatibility from our
>> side (if we do at all), rather than wait for them, because older
>> versions of third-party software will be around for a long time, but we
>> can more or less be sure that Emacs comes with the latest version of etags.
> 
> Maybe I still don't understand something: how would "compatibility
> with 'ctags -e'" be different from what is discussed here, including
> this:

Same thing. That's why I'm asking for it, right?

>> FWIW, -L plus a compatibility layer for --regex (translating
>> --regex-lang=abc to --regex={lang}abc) should suffice for etags-regen
>> for the near future.
>>
>> And support for --langmap, maybe (does etags have a counterpart for it
>> at all?).
> 
> The equivalent of --langmap is "-l LANG", I think.  (We could also
> teach etags to support --langmap directly, patches welcome.)

If such patch materializes, any chance we could put it into emacs-27 as 
well?

Then I could use some pointers: for example, which stdlib and/or utility 
functions you would expect one would use to add this feature. Just the 
names could suffice.



  reply	other threads:[~2021-02-20 20:27 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-14  3:36 Automatic (e)tags generation and incremental updates Dmitry Gutov
2021-01-07  3:46 ` Dmitry Gutov
2021-01-07 14:15   ` Eli Zaretskii
2021-01-07 15:56     ` Dmitry Gutov
2021-01-07 16:17       ` Stefan Kangas
2021-01-09 21:49       ` Tom Tromey
2021-01-10 13:53         ` Dmitry Gutov
2021-01-10 16:56           ` Tom Tromey
2021-01-10 19:39             ` Tom Tromey
2021-01-10 23:09               ` Dmitry Gutov
2021-01-10 23:36             ` Dmitry Gutov
2021-01-10 23:50               ` Dmitry Gutov
2021-01-11 14:56                 ` Eli Zaretskii
2021-01-12  1:33                   ` Dmitry Gutov
2021-01-12  4:21                     ` Stefan Monnier
2021-01-12 16:59                       ` Dmitry Gutov
2021-01-12 17:24                         ` Stefan Monnier
2021-01-12 15:08                     ` Eli Zaretskii
2021-01-12 16:48                       ` Dmitry Gutov
2021-01-12 17:15                         ` Eli Zaretskii
2021-01-12 17:32                           ` Dmitry Gutov
2021-01-12 17:55                             ` Eli Zaretskii
2021-01-12 22:26                               ` Dmitry Gutov
2021-01-13 15:01                                 ` Eli Zaretskii
2021-01-13 15:52                                   ` Dmitry Gutov
2021-01-13 15:58                                     ` Eli Zaretskii
2021-01-16  3:57                                       ` Dmitry Gutov
2021-01-16  7:34                                         ` Eli Zaretskii
2021-01-10 16:49         ` Eli Zaretskii
2021-01-10 16:58           ` Tom Tromey
2021-01-10 17:56           ` Dmitry Gutov
2021-01-10 18:14             ` Eli Zaretskii
2021-01-10 23:13               ` Dmitry Gutov
2021-01-11 14:53                 ` Eli Zaretskii
2021-01-12  1:49                   ` Dmitry Gutov
2021-01-12 15:09                     ` Eli Zaretskii
2021-02-18 23:26       ` Dmitry Gutov
2021-02-19  8:33         ` Eli Zaretskii
2021-02-19 14:35           ` Dmitry Gutov
2021-02-19 15:44             ` Eli Zaretskii
2021-02-20  1:35               ` Dmitry Gutov
2021-02-20  7:30                 ` Eli Zaretskii
2021-02-20 20:27                   ` Dmitry Gutov [this message]
2021-02-20 20:41                     ` Eli Zaretskii
2021-02-20 21:05                       ` Dmitry Gutov
2021-02-20 21:14                       ` Dmitry Gutov
2021-02-21 19:53                         ` Eli Zaretskii
2021-02-21 20:39                           ` Dmitry Gutov
2021-02-22 16:08                             ` Eli Zaretskii
2021-02-22 19:25                               ` Dmitry Gutov
2021-02-22 19:33                                 ` Eli Zaretskii
2021-02-23  1:15                                   ` Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=25073978-eb02-4f40-4104-9d18df87def0@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=john@yates-sheets.org \
    --cc=philipk@posteo.net \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).