This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Source Window - pop-up over array elements


Tom Tromey wrote:

> >>>>> "Larry" == Larry Smith <larry@smith-house.org> writes:

> Larry> One bug report we have here says that highlighting "argv[0]"
> Larry> and adding it to the watchlist results in adding "argv", not
> Larry> "argv[0]" and that the latter should be correct.
> 
> Larry> Trying to add it sounds like a poorly-considered can of worms.
> Larry> Should I quash this report, or can someone suggest a generic
> Larry> and non-hacky way for the gdbtk code to magically become aware
> Larry> of arrays in all supported languages?

> gdb understands me if I type `p argv[0]'.

gdb does, yes.  However, this information does not
appear in the tcl code that drives the GUI.

> It seems to me that if I highlight some text in gdbtk and ask it to
> display it, it ought to do the right thing in a language-sensitive way.

The problem is that one doesn't "highlight" - one "clicks
on" - and it's up to gdbtk's tcl code to scan back and
forth and figure out what variable it is looking at.  And
the highlighting code, which _could_ bypass this, instead
just drops into the same validator and so has the same
limitations.

This is done in srctextwin.itb in the GetVariable method.  It
just uses a regular expression scan out a string consisting
of upper and lower case letters, digits, and any of "_", "-",
"." and (I wonder about this) ">".  It can't actually parse
the source code and pull out a genuine variable complete with
specifiers, array selections, and the like.  This is basically
the same deal as with comments which we discussed earlier,
to gdbtk, this is just text, and it doesn't know C, Fortran,
Ada, Pascal, Java, or whatever...

> The utility of watching is greatly reduced if I can only watch things
> that are in the subset of all languages gdbtk understands.  Probably
> that amounts to raw variables and nothing else.

If I understand this code, that does seem to be the limit,
yes.

> Or do I misunderstand?

Well, one of us does.  ;)

regards,
-- 
 .-.    .-. .---. .---. .-..-. | "Bill Gates is just a monocle
 | |__ / | \| |-< | |-<  >  /  | and a Persian Cat away from
 `----'`-^-'`-'`-'`-'`-' `-'   | being one of the bad guys in a
       My opinions only.       | James Bond movie." -- D Miller

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]