From: "Francesco Potortì" <Potorti@isti.cnr.it>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 20629@debbugs.gnu.org, Richard Stallman <rms@gnu.org>, dgutov@yandex.ru
Subject: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files.
Date: Fri, 29 May 2015 14:34:55 +0200 [thread overview]
Message-ID: <E1YyJV1-0000hk-Gg@tucano.isti.cnr.it> (raw)
In-Reply-To: <83h9qvx0t7.fsf@gnu.org>
Eli Zaretskii:
>> From: Glenn Morris <rgm@gnu.org>
>> Cc: Eli Zaretskii <eliz@gnu.org>, 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.
next prev parent reply other threads:[~2015-05-29 12:34 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-22 5:57 bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files Jan D.
2015-05-23 11:54 ` Jan Djärv
2015-05-23 12:04 ` Dmitry Gutov
2015-05-23 12:15 ` Jan Djärv
2015-05-23 12:18 ` Dmitry Gutov
2015-05-23 12:28 ` Jan Djärv
2015-05-23 12:39 ` Dmitry Gutov
2015-05-23 13:51 ` Eli Zaretskii
2015-05-23 13:50 ` Eli Zaretskii
2015-05-23 14:46 ` Eli Zaretskii
2015-05-23 15:56 ` Eli Zaretskii
2015-05-25 15:15 ` Eli Zaretskii
2015-05-25 21:17 ` Dmitry Gutov
2015-05-26 2:35 ` Eli Zaretskii
2015-05-26 10:16 ` Dmitry Gutov
2015-05-26 15:06 ` Eli Zaretskii
2015-05-26 19:00 ` Dmitry Gutov
2015-05-26 19:23 ` Eli Zaretskii
2015-05-26 21:01 ` Stefan Monnier
2015-05-28 11:54 ` Dmitry Gutov
2015-05-28 12:59 ` Dmitry Gutov
2015-05-26 23:56 ` Dmitry Gutov
2015-05-27 14:28 ` Eli Zaretskii
2015-05-27 15:28 ` Dmitry Gutov
2015-05-27 15:46 ` Eli Zaretskii
2015-05-27 15:54 ` Dmitry Gutov
2015-05-27 16:23 ` Eli Zaretskii
2015-05-27 23:50 ` Dmitry Gutov
2015-05-28 2:50 ` Eli Zaretskii
2015-05-28 10:22 ` Dmitry Gutov
2015-05-28 14:56 ` Eli Zaretskii
2015-05-28 15:32 ` Dmitry Gutov
2015-05-28 16:34 ` Eli Zaretskii
2015-05-29 0:09 ` Dmitry Gutov
2015-05-29 6:48 ` Glenn Morris
2015-05-29 8:09 ` Eli Zaretskii
2015-05-29 12:34 ` Francesco Potortì [this message]
2015-05-29 9:27 ` Dmitry Gutov
2015-05-29 8:12 ` Eli Zaretskii
2015-05-29 14:05 ` Dmitry Gutov
2015-05-29 16:51 ` Stefan Monnier
2015-05-29 17:12 ` Dmitry Gutov
2015-05-29 19:19 ` Stefan Monnier
2015-05-29 20:33 ` Dmitry Gutov
2015-05-29 21:41 ` etags completion table (was: bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files) Stefan Monnier
2015-05-29 23:58 ` etags completion table Dmitry Gutov
2015-05-30 4:00 ` Stefan Monnier
2015-05-30 11:50 ` Dmitry Gutov
2015-05-31 0:57 ` Stefan Monnier
2015-05-29 18:28 ` bug#20629: 25.0.50; Regression: TAGS broken, can't find anything in C++ files Eli Zaretskii
2015-05-29 20:01 ` Dmitry Gutov
2015-05-29 20:35 ` Eli Zaretskii
2015-05-29 22:36 ` Dmitry Gutov
2015-05-30 6:52 ` Eli Zaretskii
2015-05-30 12:52 ` Dmitry Gutov
2015-05-30 13:03 ` Eli Zaretskii
2015-05-30 14:21 ` Francesco Potortì
2015-05-30 14:44 ` Dmitry Gutov
2015-05-28 11:35 ` Francesco Potortì
2015-05-28 11:46 ` Dmitry Gutov
2015-05-28 12:16 ` Francesco Potortì
2015-05-28 13:00 ` Dmitry Gutov
2015-05-28 13:12 ` Francesco Potortì
2015-05-28 15:04 ` Eli Zaretskii
2015-05-28 15:14 ` Francesco Potortì
2015-05-28 15:29 ` Francesco Potortì
2015-05-29 17:13 ` Dmitry Gutov
2015-05-30 12:06 ` Eli Zaretskii
2015-05-30 12:30 ` Dmitry Gutov
2015-05-30 12:46 ` Eli Zaretskii
2015-05-30 13:42 ` Dmitry Gutov
2015-05-30 14:31 ` Eli Zaretskii
2015-05-30 15:03 ` Dmitry Gutov
2015-05-30 16:37 ` Eli Zaretskii
2015-05-30 17:46 ` Dmitry Gutov
2015-05-30 18:46 ` Eli Zaretskii
2015-05-30 19:42 ` Dmitry Gutov
2015-11-26 3:23 ` Dmitry Gutov
2015-11-26 15:43 ` Eli Zaretskii
2015-11-26 16:12 ` Dmitry Gutov
2015-11-26 16:32 ` Eli Zaretskii
2015-11-27 3:54 ` Dmitry Gutov
2016-03-19 18:45 ` Eli Zaretskii
2015-05-30 17:01 ` Francesco Potortì
2015-05-30 18:13 ` Dmitry Gutov
2015-05-30 18:42 ` Eli Zaretskii
2015-05-30 19:35 ` Francesco Potortì
2015-05-30 20:04 ` Dmitry Gutov
2015-05-30 22:35 ` Francesco Potortì
2015-05-31 0:34 ` Dmitry Gutov
2015-05-31 21:46 ` bug#20629: Fwd: bug#20703: 24.4; Stack overflow in regexp matcher Francesco Potortì
2015-05-31 22:20 ` Dmitry Gutov
2015-05-31 22:40 ` Francesco Potortì
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1YyJV1-0000hk-Gg@tucano.isti.cnr.it \
--to=potorti@isti.cnr.it \
--cc=20629@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=rms@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.