From: Frank Schmitt <ich@frank-schmitt.net>
Subject: Re: [PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make TAGS/tags`
Date: Wed, 03 Jan 2007 15:33:10 +0100 [thread overview]
Message-ID: <m31wmc41uh.fsf@mid.gehheimdienst.de> (raw)
In-Reply-To: m3d55w48n8.fsf@mid.gehheimdienst.de
Frank Schmitt <ich@frank-schmitt.net> writes:
> Sorry, I don't have an example at hand, because my switch was somewhere
> in summer. But I used emacs CVS head etags till then and had problems,
> that a special case of templated functions in C++ were not listed in
> TAGS. I'll switch back to Emacs etags and report when I find something
> which Emacs etags doesn't tag.
I did some testing and found out that I just didn't RTFM. Emacs etags
defaults to not TAG member variables of C++ classes (which doesn't make
much sense in my eyes) while exuberant ctags does tag those. However
after aliasing etags to etags --members it works just as well for me as
exuberant ctags does.
One question though: Say I have a class like this:
template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl, typename ipc3dLinkControlSetup>
class CMultiChannelCSC19_3D
{
public:
ipc3dLinkControlSetup setup;
ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;
advTimer cscInitTime;
advTimer cscSegmentationTime;
advTimer outputTime;
void execute(CPluginCSCState& p, int w, int h, int d, const ipcMultiChannel<ipc3dChannelType,numOfChannels>* orgImage, ipcMultiChannel<ipc3dChannelType,numOfChannels>* regionImage, unsigned int* mapImage, ipc3dBlockCompressedLabelImage* compressedMapImage=NULL)
{
if (orgImage!=NULL)
{
//do something
}
}
};
what Emacs etags generates is
foo.h,936
template <typename ipc3dIslandHierarchy,1,0
template <typename ipc3dIslandHierarchy, typename ipc3dChannelType,1,0
template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels,1,0
template <typename ipc3dIslandHierarchy, typename ipc3dChannelType, unsigned numOfChannels, typename ipc3dLinkControl,1,0
class CMultiChannelCSC19_3D2,151
ipc3dLinkControlSetup setup;CMultiChannelCSC19_3D::setup5,189
ipc3dCSC19<CMultiChannelCSC19_3D::ipc3dCSC196,219
ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC;CMultiChannelCSC19_3D::mcCSC6,219
advTimer cscInitTime;CMultiChannelCSC19_3D::cscInitTime7,374
advTimer cscSegmentationTime;CMultiChannelCSC19_3D::cscSegmentationTime8,397
advTimer outputTime;CMultiChannelCSC19_3D::outputTime9,428
void execute(CMultiChannelCSC19_3D::execute10,450
while exuberant ctags skips those first four lines:
foo.h,680
class CMultiChannelCSC19_3DCMultiChannelCSC19_3D2,151
ipc3dLinkControlSetup setup;setup5,189
ipc3dCSC19<ipc3dIslandHierarchy,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipcMultiChannel<ipc3dChannelType,numOfChannels>,ipc3dLinkControl> mcCSC; mcCSC6,219
advTimer cscInitTime;cscInitTime7,374
advTimer cscSegmentationTime;cscSegmentationTime8,397
advTimer outputTime;outputTime9,428
void execute(CPluginCSCState& p, int w, int h, int d, const ipcMultiChannel<ipc3dChannelType,numOfChannels>* orgImage, ipcMultiChannel<ipc3dChannelType,numOfChannels>* regionImage, unsigned int* mapImage, ipc3dBlockCompressedLabelImage* compressedMapImage=NULL)execute10,450
what do they mean?
--
Did you ever realize how much text fits in eighty columns? If you now consider
that a signature usually consists of up to four lines, this gives you enough
space to spread a tremendous amount of information with your messages. So seize
this opportunity and don't waste your signature with bullshit nobody will read.
next prev parent reply other threads:[~2007-01-03 14:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-24 20:01 [PATCH, RFC] etags/ctags v22.0.92 break Linux kernel `make TAGS/tags` Don Mullis
2006-12-25 5:41 ` Masatake YAMATO
2006-12-25 16:47 ` Don Mullis
2006-12-25 22:36 ` Francesco Potorti`
2006-12-26 14:13 ` Francesco Potorti`
2006-12-26 18:43 ` Don Mullis
2006-12-28 0:10 ` Francesco Potorti`
2006-12-28 5:48 ` Don Mullis
2006-12-28 10:21 ` Francesco Potorti`
2006-12-29 22:58 ` Richard Stallman
2006-12-30 20:36 ` Don Mullis
2006-12-31 1:46 ` Richard Stallman
2006-12-27 2:59 ` Richard Stallman
2006-12-30 12:15 ` Francesco Potorti`
2006-12-31 1:45 ` Richard Stallman
2007-01-02 11:41 ` Francesco Potorti`
2007-01-02 14:26 ` Frank Schmitt
2007-01-03 1:24 ` Francesco Potorti`
2007-01-03 12:06 ` Frank Schmitt
2007-01-03 14:33 ` Frank Schmitt [this message]
[not found] ` <m38xgk47lc.fsf@mid.gehheimdienst.de>
2007-02-05 8:25 ` Francesco Potorti`
2007-01-02 21:24 ` Richard Stallman
2007-01-03 0:40 ` Francesco Potorti`
2007-01-02 21:24 ` Eli Zaretskii
2007-01-03 0:42 ` Francesco Potorti`
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=m31wmc41uh.fsf@mid.gehheimdienst.de \
--to=ich@frank-schmitt.net \
/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.