Does this mean that there is no way to solve my problem on 12.0.3 except making a variable name change in all files?
If Dennis and Scott can't help you any more with the extension setup thing, maybe they could comment on some erratic behaviour that I've encountered in V12.0.3 hotfix revision 31.
I was experimenting with slick's C preprocessor options and #defines to see if I could get the tagging to work for you with C++ keywords. With the code you see below, at this very moment, using Ctrl-dot (push-tag) is finding the correct definition for lines *1 to *4 but I have "template" entered in the slick c preprocessor list with the #undef checkbox ticked and I do not have "virtual" in the preprocessor list. If I now go and untick the #undef for template (and selecting "yes" to rebuild tag file), when I use ctrl-dot on either "template" variable, I get "tag not found" dialog. Checking #undef for template makes it work again.
Also, at times, using ctrl-dot on the template var in line *1 incorrectly takes me to the struct member instead of the local variable. For some weird reason, this seems to occur the first time ctrl-dot is used on line 1 immediately after changing the #undef checkbox and rebuilding the tag file.
The behaviour I've described just above seems consistent right now i.e. everything I've said above is currently repeatable.
However, the behaviour of push-tag in relation to "virtual" is confusing me. If I now add #define virtual cvirtual to the code below and save the file (with retag on save enabled), the first few times I use ctrl-dot on lines 2 or 3, I get taken to the local var or struct member, but then I suddenly get a dialog box asking me to choose between the two definitions, or else it starts jumping to the #define virtual (which is probably what it should do). At times, it has also been taking me to some weird visual studio file xlocnum that has #define _VIRTUAL virtual, but I'm so confused right now that I can't remember whether that was when I was using slick V13 or V12 (I started out playing with this in V13 then remembered the problem is in 12.0.3).
Probably you're as confused as I am by now. Why virtual and template should seem to behave differently I have no idea but 12.0.3 seems to be consistently inconsistent : ). I tried removing the visual studio tag files to avoid the xlocnum confusion - slick seemed to do this to start with but next time I opened the tag files dialog (after finding the xlocnum problem was still there) they had come back! Possibly the xlocnum problem happens when virtual is entered in the slick preprocessor list.
Edit forgot to check if "find references" works - well it does, but the find symbol toolbar (with context tagging as "look-in") finds only the struct member for template but finds both definitions for virtual.
Graeme
struct hhh {
int * virtual;
int * template;
};
hhh hhh2;
void main()
{
int template;
int virtual;
template = 1; // *1
virtual = 1; // *2
hhh2.virtual = 1; // *3
hhh2.template = 1; // *4
}