[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: change-log-goto-source: recognising . within tag names
From: |
martin rudalics |
Subject: |
Re: change-log-goto-source: recognising . within tag names |
Date: |
Sun, 22 Mar 2009 10:10:11 +0100 |
User-agent: |
Thunderbird 2.0.0.16 (Windows/20080708) |
> A simple fix would be to find the file name first, read it into a buffer
> (since we'll need it anyway), and then use its syntax table to parse the
> tag name. The code below is a start at this; it seems to work. But it
> would have to be integrated with the change-log-goto-source logic that
> finds both the file at point and the file near the tag and then picks
> the best one. The logic seems rather obscure; I suspect I would break
> it if I tried to change it. ;-}
Because I look for the nearest tag first and "the file matching the tag"
afterwards. The idea behind that logic was to do something reasonable
regardless of the current position of `point' within a ChangeLog entry.
As mentioned earlier that's far too clever. Users _should_ care a bit
about from where they want to invoke that function. I think it would be
better to make `change-log-list' entries mousable and and provide the
goto-source facility iff `point' is on such an entry. In that case your
"use the syntax-table of the source file approach" would fit perfectly.
> For Lisp in particular, the problem is actually fairly broad, as
> people often use "+", "*", "$", "%", etc., to distinguish certain
> definition names. A better solution might be to ask the language mode
> itself to do the name parsing, in order to handle such things as name
> quoting conventions. But, of course, that's a much bigger job.
It's less the question of a "bigger job" but that of providing some
standard interface for language modes. That is, I pass you a string (or
a narrowed buffer region) and you tell me all identifier names you can
find in it.
martin