all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* How to use etags-select
@ 2007-07-21  9:57 Rafal Kurcz
  2007-07-23 13:23 ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-07-21  9:57 UTC (permalink / raw)
  To: help-gnu-emacs

Hello
I load TAGS table with "visit-tags-table"
Then place the cursor on a function name "Action()" in a C code and
execute:
etags-select-find-tag-at-point

I receive the following information at the bottom of the screen:
No exact match for tag "Action"

Of course there are many functions with "Action()" name in my source
code.
I expect etags-select to show the list where I can choose the proper
function definition to jump to.
Is it right ?

How to display such a list of function definitions to jump to, based
on the tag the cursor is currently placed on ?

Thank You for help

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-21  9:57 How to use etags-select Rafal Kurcz
@ 2007-07-23 13:23 ` Scott Frazer
  2007-07-24  8:17   ` Rafal Kurcz
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-07-23 13:23 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
> Hello
> I load TAGS table with "visit-tags-table"
> Then place the cursor on a function name "Action()" in a C code and
> execute:
> etags-select-find-tag-at-point
> 
> I receive the following information at the bottom of the screen:
> No exact match for tag "Action"
> 
> Of course there are many functions with "Action()" name in my source
> code.
> I expect etags-select to show the list where I can choose the proper
> function definition to jump to.
> Is it right ?
> 
> How to display such a list of function definitions to jump to, based
> on the tag the cursor is currently placed on ?
> 
> Thank You for help
> 

It sounds like your TAGS file wasn't generated properly.  What command
did you use to create TAGS?

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-23 13:23 ` Scott Frazer
@ 2007-07-24  8:17   ` Rafal Kurcz
  2007-07-24 16:55     ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-07-24  8:17 UTC (permalink / raw)
  To: help-gnu-emacs

On 23 Lip, 15:23, Scott Frazer <frazer.sc...@gmail.com> wrote:
> Rafal Kurcz wrote:
> > Hello
> > I load TAGS table with "visit-tags-table"
> > Then place the cursor on a function name "Action()" in a C code and
> > execute:
> > etags-select-find-tag-at-point
>
> > I receive the following information at the bottom of the screen:
> > No exact match for tag "Action"
>
> > Of course there are many functions with "Action()" name in my source
> > code.
> > I expect etags-select to show the list where I can choose the proper
> > function definition to jump to.
> > Is it right ?
>
> > How to display such a list of function definitions to jump to, based
> > on the tag the cursor is currently placed on ?
>
> > Thank You for help
>
> It sounds like your TAGS file wasn't generated properly.  What command
> did you use to create TAGS?
>
> Scott

Hello
I used the following to generate the TAGS:
find . -name "*.[ch]*" -print | etags - --language=c++ --members --
declarations

The contents of the TAGS file is as follows:

class.cpp,101
class CarCar3,21
    void speed Car::speed6,43
    void speed Car::speed7,83
void main(10,115

The source code is as follows:

class Car
{
  public:
    void speed (int a) { a=1; return; }
    void speed () {return;}
};

void main()
{
  Car car;
  car.speed(10);
  car.speed();
}

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-24  8:17   ` Rafal Kurcz
@ 2007-07-24 16:55     ` Scott Frazer
  2007-07-27 15:32       ` Rafal Kurcz
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-07-24 16:55 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
> On 23 Lip, 15:23, Scott Frazer <frazer.sc...@gmail.com> wrote:
>> Rafal Kurcz wrote:
>>> Hello
>>> I load TAGS table with "visit-tags-table"
>>> Then place the cursor on a function name "Action()" in a C code and
>>> execute:
>>> etags-select-find-tag-at-point
>>> I receive the following information at the bottom of the screen:
>>> No exact match for tag "Action"

I've updated etags-select to work with the different tag types generated
by etags.  See the wiki page ...

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-24 16:55     ` Scott Frazer
@ 2007-07-27 15:32       ` Rafal Kurcz
  2007-07-27 18:35         ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-07-27 15:32 UTC (permalink / raw)
  To: help-gnu-emacs

On 24 Lip, 18:55, Scott Frazer <scfra...@cisco.com> wrote:
> Rafal Kurcz wrote:
> > On 23 Lip, 15:23, Scott Frazer <frazer.sc...@gmail.com> wrote:
> >> Rafal Kurcz wrote:
> >>> Hello
> >>> I load TAGS table with "visit-tags-table"
> >>> Then place the cursor on a function name "Action()" in a C code and
> >>> execute:
> >>> etags-select-find-tag-at-point
> >>> I receive the following information at the bottom of the screen:
> >>> No exact match for tag "Action"
>
> I've updated etags-select to work with the different tag types generated
> by etags.  See the wiki page ...
>
> Scott
Now the numbering of tags is very, very useful. Below are my
conclusions about using etags-select:
1. It is very nice that it takes advantage of searchable mini buffer -
especially in case of the long list of tags.
2. How to force etags-select to be case-sensitive.
  I've setup (setq tags-case-fold-search nil) and it works for M-. but
unfortunately it does not work in etags-select.
  It is very important when browsing C/C++ code.
3. It would be very nice to show more information in the list of tags.
  For example VIM uses the following format to show the list of tags
generated by "exuberent-ctags -R":

 # pri kind tag               file
  1 FSC m    speed             class.cpp
               struct:Plane
               int speed;
  2 FSC f    speed             class.cpp
               class:Car
               void speed () {return;}
  3 F C f    speed             class.cpp
               struct:Bike
               int speed () {return 10;}
  4 F C f    speed             class.cpp
               char speed (char c) {return c;}
Choice number (<Enter> cancels):

The source code for above example looks like:

lass Car {
  void speed () {return;}
};

struct Bike {
  int speed () {return 10;}
};

struct Plane {
  int speed;
};

char speed (char c) {return c;}

I can see that it works partially for TAGS generated by etags from
emacs but does not work for TAGS generated by "exuberent-ctags -e -R".
I guess that for the sake of convinience it is better to have each tag
description in a single line.

Thank You for help

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-27 15:32       ` Rafal Kurcz
@ 2007-07-27 18:35         ` Scott Frazer
  2007-09-01 12:05           ` Rafal Kurcz
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-07-27 18:35 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
> Now the numbering of tags is very, very useful. Below are my
> conclusions about using etags-select:
> 1. It is very nice that it takes advantage of searchable mini buffer -
> especially in case of the long list of tags.

Yes

> 2. How to force etags-select to be case-sensitive.
>   I've setup (setq tags-case-fold-search nil) and it works for M-. but
> unfortunately it does not work in etags-select.
>   It is very important when browsing C/C++ code.

Fixed, see EmacsWiki.

> 3. It would be very nice to show more information in the list of tags.
>   For example VIM uses the following format to show the list of tags
> generated by "exuberent-ctags -R":
> 
>  # pri kind tag               file
>   1 FSC m    speed             class.cpp
>                struct:Plane
>                int speed;
>   2 FSC f    speed             class.cpp
>                class:Car
>                void speed () {return;}
>   3 F C f    speed             class.cpp
>                struct:Bike
>                int speed () {return 10;}
>   4 F C f    speed             class.cpp
>                char speed (char c) {return c;}
> Choice number (<Enter> cancels):
> 

[snip]

> I can see that it works partially for TAGS generated by etags from
> emacs but does not work for TAGS generated by "exuberent-ctags -e -R".
> I guess that for the sake of convinience it is better to have each tag
> description in a single line.

I can't really do much about this, I can only work with what etags and
exuberant-ctags generates.  etags adds namespace information for c++ code,
which I show as part of the tag name.  exuberant-ctags just puts in the
unqualified tag.  You can add the 'extra' option:

ctags --extra=q -e -R

which will include the namespace info, but it keeps the original tag also;
i.e. you get double entries for most tags, both pointing to the same line
of code.  If it really bugs you, it would be pretty easy to post-process
the TAGS file and remove the duplicates (left as an exercise for the
student).

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-07-27 18:35         ` Scott Frazer
@ 2007-09-01 12:05           ` Rafal Kurcz
  2007-09-04 13:31             ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-01 12:05 UTC (permalink / raw)
  To: help-gnu-emacs

On 27 Lip, 20:35, Scott Frazer <scfra...@cisco.com> wrote:
> Rafal Kurcz wrote:
> > Now the numbering of tags is very, very useful. Below are my
> > conclusions about using etags-select:
> > 1. It is very nice that it takes advantage of searchable mini buffer -
> > especially in case of the long list of tags.
>
> Yes
>
> > 2. How to force etags-select to be case-sensitive.
> >   I've setup (setq tags-case-fold-search nil) and it works for M-. but
> > unfortunately it does not work in etags-select.
> >   It is very important when browsing C/C++ code.
>
> Fixed, see EmacsWiki.
>
>
>
> > 3. It would be very nice to show more information in the list of tags.
> >   For example VIM uses the following format to show the list of tags
> > generated by "exuberent-ctags -R":
>
> >  # pri kind tag               file
> >   1 FSC m    speed             class.cpp
> >                struct:Plane
> >                int speed;
> >   2 FSC f    speed             class.cpp
> >                class:Car
> >                void speed () {return;}
> >   3 F C f    speed             class.cpp
> >                struct:Bike
> >                int speed () {return 10;}
> >   4 F C f    speed             class.cpp
> >                char speed (char c) {return c;}
> > Choice number (<Enter> cancels):
>
> [snip]
>
> > I can see that it works partially for TAGS generated by etags from
> > emacs but does not work for TAGS generated by "exuberent-ctags -e -R".
> > I guess that for the sake of convinience it is better to have each tag
> > description in a single line.
>
> I can't really do much about this, I can only work with what etags and
> exuberant-ctags generates.  etags adds namespace information for c++ code,
> which I show as part of the tag name.  exuberant-ctags just puts in the
> unqualified tag.  You can add the 'extra' option:
>
> ctags --extra=q -e -R
>
> which will include the namespace info, but it keeps the original tag also;
> i.e. you get double entries for most tags, both pointing to the same line
> of code.  If it really bugs you, it would be pretty easy to post-process
> the TAGS file and remove the duplicates (left as an exercise for the
> student).
>
> Scott

Great thanks for help Scott.
Sorry for bothering you again but I think I found another weak point
of etags-select.
I started using it with the linux kernel's latest source tree.
I generated the TAGS file:
exuberant-ctags -R -e

The size of TAGS file is 54 MB.

Locating the tag with:
etags-select-find-tag-at-point

takes about 10s on Pentium 4 2.4 GHz.
It takes about 15s when loading the TAGS table for the first time.

Using the M-. takes about 0.5 s that is quite acceptable

I did the test with Vim.
I generated the tags table with:
exuberant-ctags -R

The size of tags file is 74 MB (37% larger than emacs TAGS table).
Vim is extremely fast when locating all the tags and showing the
choice list.
It takes much less than 0.5s.

Do you have any idea why etags-select works so slowly ?

Thank You for help.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-01 12:05           ` Rafal Kurcz
@ 2007-09-04 13:31             ` Scott Frazer
  2007-09-04 15:56               ` Scott Frazer
  2007-09-04 19:34               ` Vagn Johansen
  0 siblings, 2 replies; 23+ messages in thread
From: Scott Frazer @ 2007-09-04 13:31 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
> 
> Great thanks for help Scott.
> Sorry for bothering you again but I think I found another weak point
> of etags-select.
> I started using it with the linux kernel's latest source tree.
> I generated the TAGS file:
> exuberant-ctags -R -e
> 
> The size of TAGS file is 54 MB.
> 
> Locating the tag with:
> etags-select-find-tag-at-point
> 
> takes about 10s on Pentium 4 2.4 GHz.
> It takes about 15s when loading the TAGS table for the first time.
> 
> Using the M-. takes about 0.5 s that is quite acceptable
> 
> I did the test with Vim.
> I generated the tags table with:
> exuberant-ctags -R
> 
> The size of tags file is 74 MB (37% larger than emacs TAGS table).
> Vim is extremely fast when locating all the tags and showing the
> choice list.
> It takes much less than 0.5s.
> 
> Do you have any idea why etags-select works so slowly ?
> 

The difference between etags-select-find-tag-at-point and M-. is most likely that
M-. stops at the first occurrence of a tag, but etags-select-find-tag-at-point
has to go through the entire TAGS file to find all occurrences.  54 MB is quite a
bit.  I'm curious though: is there a tag waaaay at the end (and only there) of
TAGS that you could try searching for using M-. and tell me if it's still fast?
I tried to be very careful with my search regexp, but maybe there's a sneaky
efficient way.

As for Vim: (1) Maybe the search is written in C or something (somewhat unlikely),
(2) There is only a single tag format for Vim, vs. three for Emacs thus tripling
the things that have to be looked for (more likely), and (3) Vim tag files are
sorted so you can have a much more efficient search algorithm (big honkin' likely).

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-04 13:31             ` Scott Frazer
@ 2007-09-04 15:56               ` Scott Frazer
  2007-09-04 16:16                 ` Richard G Riley
  2007-09-05  8:27                 ` Rafal Kurcz
  2007-09-04 19:34               ` Vagn Johansen
  1 sibling, 2 replies; 23+ messages in thread
From: Scott Frazer @ 2007-09-04 15:56 UTC (permalink / raw)
  To: help-gnu-emacs

Scott Frazer wrote:
> Rafal Kurcz wrote:
>>
>> Great thanks for help Scott.
>> Sorry for bothering you again but I think I found another weak point
>> of etags-select.
>> I started using it with the linux kernel's latest source tree.
>> I generated the TAGS file:
>> exuberant-ctags -R -e
>>
>> The size of TAGS file is 54 MB.
>>
>> Locating the tag with:
>> etags-select-find-tag-at-point
>>
>> takes about 10s on Pentium 4 2.4 GHz.
>> It takes about 15s when loading the TAGS table for the first time.
>>
>> Using the M-. takes about 0.5 s that is quite acceptable
>>
>> I did the test with Vim.
>> I generated the tags table with:
>> exuberant-ctags -R
>>
>> The size of tags file is 74 MB (37% larger than emacs TAGS table).
>> Vim is extremely fast when locating all the tags and showing the
>> choice list.
>> It takes much less than 0.5s.
>>
>> Do you have any idea why etags-select works so slowly ?
>>
> 

I changed the search algorithm, and it should be quicker now. I tried using
it on the kernel source like you did and it was a LOT faster for me.

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-04 15:56               ` Scott Frazer
@ 2007-09-04 16:16                 ` Richard G Riley
  2007-09-05  8:27                 ` Rafal Kurcz
  1 sibling, 0 replies; 23+ messages in thread
From: Richard G Riley @ 2007-09-04 16:16 UTC (permalink / raw)
  To: help-gnu-emacs

Scott Frazer <frazer.scott@gmail.com> writes:

> Scott Frazer wrote:
>> Rafal Kurcz wrote:
>>>
>>> Great thanks for help Scott.
>>> Sorry for bothering you again but I think I found another weak point
>>> of etags-select.
>>> I started using it with the linux kernel's latest source tree.
>>> I generated the TAGS file:
>>> exuberant-ctags -R -e
>>>
>>> The size of TAGS file is 54 MB.
>>>
>>> Locating the tag with:
>>> etags-select-find-tag-at-point
>>>
>>> takes about 10s on Pentium 4 2.4 GHz.
>>> It takes about 15s when loading the TAGS table for the first time.
>>>
>>> Using the M-. takes about 0.5 s that is quite acceptable
>>>
>>> I did the test with Vim.
>>> I generated the tags table with:
>>> exuberant-ctags -R
>>>
>>> The size of tags file is 74 MB (37% larger than emacs TAGS table).
>>> Vim is extremely fast when locating all the tags and showing the
>>> choice list.
>>> It takes much less than 0.5s.
>>>
>>> Do you have any idea why etags-select works so slowly ?
>>>
>>
>
> I changed the search algorithm, and it should be quicker now. I tried using
> it on the kernel source like you did and it was a LOT faster for me.
>
> Scott

I can confirm. Very fast indeed. etags-select is a nice addition
- thank you very much.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-04 13:31             ` Scott Frazer
  2007-09-04 15:56               ` Scott Frazer
@ 2007-09-04 19:34               ` Vagn Johansen
  2007-09-04 19:55                 ` Drew Adams
  1 sibling, 1 reply; 23+ messages in thread
From: Vagn Johansen @ 2007-09-04 19:34 UTC (permalink / raw)
  To: help-gnu-emacs

Scott Frazer <frazer.scott@gmail.com> writes:
> As for Vim: (1) Maybe the search is written in C or something (somewhat unlikely),
> (2) There is only a single tag format for Vim, vs. three for Emacs thus tripling
> the things that have to be looked for (more likely), and (3) Vim tag files are
> sorted so you can have a much more efficient search algorithm (big honkin' likely).
>
Yes. Exhuberant ctags defaults to sorted tags files.


See also http://savannah.gnu.org/projects/vtags

-- 
Vagn Johansen

^ permalink raw reply	[flat|nested] 23+ messages in thread

* RE: How to use etags-select
  2007-09-04 19:34               ` Vagn Johansen
@ 2007-09-04 19:55                 ` Drew Adams
  0 siblings, 0 replies; 23+ messages in thread
From: Drew Adams @ 2007-09-04 19:55 UTC (permalink / raw)
  To: help-gnu-emacs

FYI - with Icicles (multi-command `icicle-find-tag') you can:

. Match tags using a substring or regexp - hits that match your
  current minibuffer input are updated on the fly when you edit it.

. Visit any number of matching tags, in any order.

Type something - the matching tags are in *Completions*. Use `C-mouse-2' on
a tag (or cycle and use `C-RET') to go to the tag's target.

Repeat as desired: you can access any number of tag targets in a single
command invocation. You can change your minibuffer input to match different
tags and then visit their targets.

Very simple. You see all matching tags at once. You can visit as many as you
like, in any order.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-04 15:56               ` Scott Frazer
  2007-09-04 16:16                 ` Richard G Riley
@ 2007-09-05  8:27                 ` Rafal Kurcz
  2007-09-08 16:41                   ` Rafal Kurcz
  1 sibling, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-05  8:27 UTC (permalink / raw)
  To: help-gnu-emacs

On 4 Wrz, 17:56, Scott Frazer <frazer.sc...@gmail.com> wrote:
> Scott Frazer wrote:
> > Rafal Kurcz wrote:
>
> >> Great thanks for help Scott.
> >> Sorry for bothering you again but I think I found another weak point
> >> of etags-select.
> >> I started using it with the linux kernel's latest source tree.
> >> I generated the TAGS file:
> >> exuberant-ctags -R -e
>
> >> The size of TAGS file is 54 MB.
>
> >> Locating the tag with:
> >> etags-select-find-tag-at-point
>
> >> takes about 10s on Pentium 4 2.4 GHz.
> >> It takes about 15s when loading the TAGS table for the first time.
>
> >> Using the M-. takes about 0.5 s that is quite acceptable
>
> >> I did the test with Vim.
> >> I generated the tags table with:
> >> exuberant-ctags -R
>
> >> The size of tags file is 74 MB (37% larger than emacs TAGS table).
> >> Vim is extremely fast when locating all the tags and showing the
> >> choice list.
> >> It takes much less than 0.5s.
>
> >> Do you have any idea why etags-select works so slowly ?
>
> I changed the search algorithm, and it should be quicker now. I tried using
> it on the kernel source like you did and it was a LOT faster for me.
>
> Scott

Now it works very fast.
I did the same test as above on the same machine - now I get the list
of tags immediately.
Great thanks for help Scott.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-05  8:27                 ` Rafal Kurcz
@ 2007-09-08 16:41                   ` Rafal Kurcz
  2007-09-09 12:01                     ` Rafal Kurcz
  2007-09-10 14:33                     ` Scott Frazer
  0 siblings, 2 replies; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-08 16:41 UTC (permalink / raw)
  To: help-gnu-emacs

> Now it works very fast.
> I did the same test as above on the same machine - now I get the list
> of tags immediately.
> Great thanks for help Scott.

etags-select is now awesome tool. I use it a lot to navigate 2.6.22.6
kernel source.
I also found 2 another problems. They don't seem to be big:

1. Place the cursor on "__free_pages_ok" function declaration (mm/
page_alloc.c:62) and invoke
etags-select-find-tag-at-point. It will lead You to the same tag while
it should lead You to the definition (mm/page_alloc.c:501)

2. Place the cursor on "page_map_count(page)" function invocation (mm/
page_alloc.c:433) and invoke etags-select-find-tag-at-point.
It will display among others the "reset_page_mapcount" as a candidate
to jump. I think that it is not a good candidate.
For me it looks rather like TAGS problem since C-u M-. leads You to
that symbol as well.

I generated TAGS file as follows:
make TAGS

Thank You for help

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-08 16:41                   ` Rafal Kurcz
@ 2007-09-09 12:01                     ` Rafal Kurcz
  2007-09-10 14:33                     ` Scott Frazer
  1 sibling, 0 replies; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-09 12:01 UTC (permalink / raw)
  To: help-gnu-emacs

> 2. Place the cursor on "page_map_count(page)" function invocation (mm/
> page_alloc.c:433) and invoke etags-select-find-tag-at-point.
> It will display among others the "reset_page_mapcount" as a candidate
> to jump. I think that it is not a good candidate.
> For me it looks rather like TAGS problem since C-u M-. leads You to
> that symbol as well.
>
> I generated TAGS file as follows:
> make TAGS

It looks like "make TAGS" uses etags to generate TAGS file.
The problem 2 does not exist when using exuberant-ctags - that's ok
for me.

Thank You for any help with problem 1

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-08 16:41                   ` Rafal Kurcz
  2007-09-09 12:01                     ` Rafal Kurcz
@ 2007-09-10 14:33                     ` Scott Frazer
  2007-09-15 10:03                       ` Rafal Kurcz
  1 sibling, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-09-10 14:33 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
>> Now it works very fast.
>> I did the same test as above on the same machine - now I get the list
>> of tags immediately.
>> Great thanks for help Scott.
> 
> etags-select is now awesome tool. I use it a lot to navigate 2.6.22.6
> kernel source.
> I also found 2 another problems. They don't seem to be big:
> 
> 1. Place the cursor on "__free_pages_ok" function declaration (mm/
> page_alloc.c:62) and invoke
> etags-select-find-tag-at-point. It will lead You to the same tag while
> it should lead You to the definition (mm/page_alloc.c:501)

An assumption is made that any taggable items are in fact tagged, otherwise
it becomes complicated trying to sort the two out.  In this case the function
prototype (declaration) wasn't tagged, and since it looks exactly like the
function definition etags-select stops at the first matching line.  If you
invoke etags like:

etags --declarations *.c

it works.  I can't remember off the top of my head what the equivalent in
exuberant ctags is.

> 2. Place the cursor on "page_map_count(page)" function invocation (mm/
> page_alloc.c:433) and invoke etags-select-find-tag-at-point.
> It will display among others the "reset_page_mapcount" as a candidate
> to jump. I think that it is not a good candidate.
> For me it looks rather like TAGS problem since C-u M-. leads You to
> that symbol as well.
> 

Although you say in a later message that this is OK, I'm not sure it is.
I think it might be confusing two function names with the same suffix.
It should be an easy enough fix ... I need to create a test case and sort
things out.

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-10 14:33                     ` Scott Frazer
@ 2007-09-15 10:03                       ` Rafal Kurcz
  2007-09-18 13:08                         ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-15 10:03 UTC (permalink / raw)
  To: help-gnu-emacs

> > 1. Place the cursor on "__free_pages_ok" function declaration (mm/
> > page_alloc.c:62) and invoke
> > etags-select-find-tag-at-point. It will lead You to the same tag while
> > it should lead You to the definition (mm/page_alloc.c:501)
>
> An assumption is made that any taggable items are in fact tagged, otherwise
> it becomes complicated trying to sort the two out.  In this case the function
> prototype (declaration) wasn't tagged, and since it looks exactly like the
> function definition etags-select stops at the first matching line.  If you
> invoke etags like:
>
> etags --declarations *.c
>
> it works.  I can't remember off the top of my head what the equivalent in
> exuberant ctags is.

Yes you are right. In exuberant-ctags this option is:
exuberant-ctags --c-kinds=+p

>
> > 2. Place the cursor on "page_map_count(page)" function invocation (mm/
> > page_alloc.c:433) and invoke etags-select-find-tag-at-point.
> > It will display among others the "reset_page_mapcount" as a candidate
> > to jump. I think that it is not a good candidate.
> > For me it looks rather like TAGS problem since C-u M-. leads You to
> > that symbol as well.
>
> Although you say in a later message that this is OK, I'm not sure it is.
> I think it might be confusing two function names with the same suffix.
> It should be an easy enough fix ... I need to create a test case and sort
> things out.

Sorry for no beeing accurate.
It works in exuberant-ctags but does not work in etags.

Thank You for help

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-15 10:03                       ` Rafal Kurcz
@ 2007-09-18 13:08                         ` Scott Frazer
  2007-09-19 15:22                           ` Rafal Kurcz
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-09-18 13:08 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:

>>> 2. Place the cursor on "page_map_count(page)" function invocation (mm/
>>> page_alloc.c:433) and invoke etags-select-find-tag-at-point.
>>> It will display among others the "reset_page_mapcount" as a candidate
>>> to jump. I think that it is not a good candidate.
>>> For me it looks rather like TAGS problem since C-u M-. leads You to
>>> that symbol as well.
>> Although you say in a later message that this is OK, I'm not sure it is.
>> I think it might be confusing two function names with the same suffix.
>> It should be an easy enough fix ... I need to create a test case and sort
>> things out.
> 
> Sorry for no beeing accurate.
> It works in exuberant-ctags but does not work in etags.

Updated fix for this on the wiki.

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-18 13:08                         ` Scott Frazer
@ 2007-09-19 15:22                           ` Rafal Kurcz
  2007-09-25 15:41                             ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Rafal Kurcz @ 2007-09-19 15:22 UTC (permalink / raw)
  To: help-gnu-emacs

> Updated fix for this on the wiki.
> Scott

Great thanks Scott.
I'm using Your tool a lot. It is realy powerful now.
I found another issue that may work better in my opinion.

When I create the new window with "C-x 3" and then execute etags-
select-find-tag-at-point then it uses my newly created window to show
the list of tags and closes it  after jumping to the code point. After
this operation I have 1 window on my screen. It would be nice the
etags-select to work as follows:
1. Always create the new window for the list of tags and close it
after jumping to the code point.
  OR
2. Use another window for the list of tags and restore it's content
after jumping to code point.

Thank You for help

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-19 15:22                           ` Rafal Kurcz
@ 2007-09-25 15:41                             ` Scott Frazer
  2007-09-25 16:04                               ` Gordon Beaton
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-09-25 15:41 UTC (permalink / raw)
  To: help-gnu-emacs

Rafal Kurcz wrote:
> Great thanks Scott.
> I'm using Your tool a lot. It is realy powerful now.
> I found another issue that may work better in my opinion.
> 
> When I create the new window with "C-x 3" and then execute etags-
> select-find-tag-at-point then it uses my newly created window to show
> the list of tags and closes it  after jumping to the code point. After
> this operation I have 1 window on my screen. It would be nice the
> etags-select to work as follows:
> 1. Always create the new window for the list of tags and close it
> after jumping to the code point.
>   OR
> 2. Use another window for the list of tags and restore it's content
> after jumping to code point.
> 

New version is on the wiki.

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-25 15:41                             ` Scott Frazer
@ 2007-09-25 16:04                               ` Gordon Beaton
  2007-09-25 18:04                                 ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Gordon Beaton @ 2007-09-25 16:04 UTC (permalink / raw)
  To: help-gnu-emacs

On Tue, 25 Sep 2007 11:41:23 -0400, Scott Frazer wrote:
> New version is on the wiki.

I like this package and I'm happy to see that a couple of my peeves
have been taken care of in the recent version (which I have yet to
test).

I'd like it even more if it prompted for the symbol like find-tag
does, just suggesting the symbol at point as default. Often the symbol
I want to look up is not the one at the point (or anywhere else for
that matter). If it did that I believe it would work as a drop-in
replacement for find-tag.

/gordon

--

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-25 16:04                               ` Gordon Beaton
@ 2007-09-25 18:04                                 ` Scott Frazer
  2007-09-25 23:36                                   ` Scott Frazer
  0 siblings, 1 reply; 23+ messages in thread
From: Scott Frazer @ 2007-09-25 18:04 UTC (permalink / raw)
  To: help-gnu-emacs

Gordon Beaton wrote:
> 
> I like this package and I'm happy to see that a couple of my peeves
> have been taken care of in the recent version (which I have yet to
> test).

Thanks!  Anyone with improvements or complaints should chime in, I try
to address things as time permits.

> 
> I'd like it even more if it prompted for the symbol like find-tag
> does, just suggesting the symbol at point as default. Often the symbol
> I want to look up is not the one at the point (or anywhere else for
> that matter). If it did that I believe it would work as a drop-in
> replacement for find-tag.

And yet another new version on the wiki (now has separate functions for
find-tag-at-point and find-tag which prompts).

Scott

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: How to use etags-select
  2007-09-25 18:04                                 ` Scott Frazer
@ 2007-09-25 23:36                                   ` Scott Frazer
  0 siblings, 0 replies; 23+ messages in thread
From: Scott Frazer @ 2007-09-25 23:36 UTC (permalink / raw)
  To: help-gnu-emacs

On Sep 25, 2:04 pm, Scott Frazer <frazer.sc...@gmail.com> wrote:
> And yet another new version on the wiki (now has separate functions for
> find-tag-at-point and find-tag which prompts).

Ooo, bad bug in that version.  Get the new v1.10 from the wiki.

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2007-09-25 23:36 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-21  9:57 How to use etags-select Rafal Kurcz
2007-07-23 13:23 ` Scott Frazer
2007-07-24  8:17   ` Rafal Kurcz
2007-07-24 16:55     ` Scott Frazer
2007-07-27 15:32       ` Rafal Kurcz
2007-07-27 18:35         ` Scott Frazer
2007-09-01 12:05           ` Rafal Kurcz
2007-09-04 13:31             ` Scott Frazer
2007-09-04 15:56               ` Scott Frazer
2007-09-04 16:16                 ` Richard G Riley
2007-09-05  8:27                 ` Rafal Kurcz
2007-09-08 16:41                   ` Rafal Kurcz
2007-09-09 12:01                     ` Rafal Kurcz
2007-09-10 14:33                     ` Scott Frazer
2007-09-15 10:03                       ` Rafal Kurcz
2007-09-18 13:08                         ` Scott Frazer
2007-09-19 15:22                           ` Rafal Kurcz
2007-09-25 15:41                             ` Scott Frazer
2007-09-25 16:04                               ` Gordon Beaton
2007-09-25 18:04                                 ` Scott Frazer
2007-09-25 23:36                                   ` Scott Frazer
2007-09-04 19:34               ` Vagn Johansen
2007-09-04 19:55                 ` Drew Adams

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.