[OT] etags, xemacs and guile
Jonathan David Wheelhouse
whsjnd@froggy.com.au
Tue, 5 Jun 2001 22:57:00 +1000
On Mon, Jun 04, 2001 at 11:06:04AM -0400, James LewisMoss wrote:
> >>>>> On Sun, 3 Jun 2001 22:46:20 +1000, "Jonathan David Wheelhouse" <whsjnd@froggy.com.au> said:
>
> Jonathan> Browsing through the gnucash source is much easier since I
> Jonathan> discovered etags; it's great.
>
> Jonathan> I ran etags on the files for each of the directories I
> Jonathan> wanted to put a TAGS file (ie. find ./ -name "*.[cChH]" -o
> Jonathan> -name "*.pl" -o -name "*.scm" | etags -). Then, in xemacs
> Jonathan> I can jump to the definitions of functions, etc. for the C
> Jonathan> source code.
>
> Jonathan> However, xemacs wouldn't jump from point somewhere on
> Jonathan> "gnc:main"
>
> Jonathan> ...
> Jonathan> func = gh_eval_str("gnc:main");
> Jonathan> ...
>
> Jonathan> in gnucash/src/guile/gnucash.c
>
> Jonathan> to
>
> Jonathan> (define (gnc:main)
>
> Jonathan> in gnucash/src/scm/main.scm
>
> Jonathan> So how do I get this to work - jumping from C to guile and
> Jonathan> back again?
>
> Jonathan> And a related question. I sometimes put point on what I
> Jonathan> assume is some GNOME variable, function or whatever
> Jonathan> (eg. GList). Do I have to install some GNOME dev library
> Jonathan> to be able to jump to the GNOME definition? Some doco
> Jonathan> available?
>
> tags only work on the files indexed so the gnome stuff won't work. I
> just use a web browser and look at the online docs most of the time.
OK, I'm doing that now; browsing
"http://developer.gnome.org/doc/API/glib/glib-doubly-linked-lists.html".
>
> To jump to a scheme def from C you can make sure you are trying to
> find "(gnc:main)" (with parens without quotes :). Not the nicest way
> to do it, but it seems functional.
>
Stupid me, when I typed the actual name, gnc:main, it worked. So the
Lisp code to work out what the name is to jump to, didn't handle the
":" on the c side. However, on the guile side, it does.
Thanks for your help.
Jonathan