unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Can `make tags' generate tags for Scheme source, as well as C?
@ 2010-09-11 17:47 Neil Jerram
  2010-09-12 11:35 ` Andy Wingo
  2010-09-15 14:37 ` Ludovic Courtès
  0 siblings, 2 replies; 14+ messages in thread
From: Neil Jerram @ 2010-09-11 17:47 UTC (permalink / raw)
  To: guile-devel

[-- Attachment #1: Type: text/plain, Size: 141 bytes --]

I think this got lost when the toplevel "module" directory was
introduced.  The attached patch restores it; OK to commit?

Thanks,
    Neil


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-Create-tags-for-Scheme-source.patch --]
[-- Type: text/x-diff, Size: 1576 bytes --]

From 41e286ea5281913acfe2f9a29ba995256f9533b6 Mon Sep 17 00:00:00 2001
From: Neil Jerram <neil@ossau.uklinux.net>
Date: Sat, 11 Sep 2010 18:39:00 +0100
Subject: [PATCH 2/2] Create tags for Scheme source

* am/guilec: Set ETAGS_ARGS.

* module/Makefile.am: When adding sources to EXTRA_DIST, add them to
  ETAGS_ARGS too.
---
 am/guilec          |    1 +
 module/Makefile.am |    5 +++++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/am/guilec b/am/guilec
index 7e34719..5a7787e 100644
--- a/am/guilec
+++ b/am/guilec
@@ -8,6 +8,7 @@ nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES)
 ccachedir = $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache/$(modpath)
 nobase_ccache_DATA = $(GOBJECTS)
 EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES)
+ETAGS_ARGS = $(SOURCES) $(NOCOMP_SOURCES)
 
 CLEANFILES = $(GOBJECTS)
 
diff --git a/module/Makefile.am b/module/Makefile.am
index a88df80..ef5b25f 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -30,6 +30,7 @@ CLEANFILES += ice-9/eval.go
 nobase_mod_DATA += ice-9/eval.scm
 nobase_ccache_DATA += ice-9/eval.go
 EXTRA_DIST += ice-9/eval.scm
+ETAGS_ARGS += ice-9/eval.scm
 
 # We can compile these in any order, but it's fastest if we compile
 # psyntax and boot-9 first, then the compiler itself, then the rest of
@@ -66,6 +67,10 @@ EXTRA_DIST +=					\
   ice-9/test.scm				\
   ice-9/compile-psyntax.scm			\
   ice-9/ChangeLog-2008
+ETAGS_ARGS +=					\
+  ice-9/test.scm				\
+  ice-9/compile-psyntax.scm			\
+  ice-9/ChangeLog-2008
 
 include $(top_srcdir)/am/pre-inst-guile
 ice-9/psyntax-pp.scm.gen:
-- 
1.7.0.4


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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-09-11 17:47 Can `make tags' generate tags for Scheme source, as well as C? Neil Jerram
@ 2010-09-12 11:35 ` Andy Wingo
  2010-09-15 14:37 ` Ludovic Courtès
  1 sibling, 0 replies; 14+ messages in thread
From: Andy Wingo @ 2010-09-12 11:35 UTC (permalink / raw)
  To: Neil Jerram; +Cc: guile-devel

On Sat 11 Sep 2010 19:47, Neil Jerram <neil@ossau.uklinux.net> writes:

> I think this got lost when the toplevel "module" directory was
> introduced.  The attached patch restores it; OK to commit?

Please do!

Andy
-- 
http://wingolog.org/



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-09-11 17:47 Can `make tags' generate tags for Scheme source, as well as C? Neil Jerram
  2010-09-12 11:35 ` Andy Wingo
@ 2010-09-15 14:37 ` Ludovic Courtès
  2010-10-04 22:00   ` Neil Jerram
  1 sibling, 1 reply; 14+ messages in thread
From: Ludovic Courtès @ 2010-09-15 14:37 UTC (permalink / raw)
  To: guile-devel

Hi!

Neil Jerram <neil@ossau.uklinux.net> writes:

> * module/Makefile.am: When adding sources to EXTRA_DIST, add them to
>   ETAGS_ARGS too.

BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
it works across all the modules currently loaded, not just those of the
current project.

Ludo’.




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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-09-15 14:37 ` Ludovic Courtès
@ 2010-10-04 22:00   ` Neil Jerram
  2010-10-04 22:36     ` Ludovic Courtès
  2010-10-04 22:40     ` Jose A. Ortega Ruiz
  0 siblings, 2 replies; 14+ messages in thread
From: Neil Jerram @ 2010-10-04 22:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

ludo@gnu.org (Ludovic Courtès) writes:

> BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
> it works across all the modules currently loaded, not just those of the
> current project.

I think I must be missing something: for me it always says "Couldn't
find edit location for X" in the echo area.

(I like lots of other things in Geiser, though.)



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-04 22:00   ` Neil Jerram
@ 2010-10-04 22:36     ` Ludovic Courtès
  2010-10-11 21:38       ` Neil Jerram
  2010-10-04 22:40     ` Jose A. Ortega Ruiz
  1 sibling, 1 reply; 14+ messages in thread
From: Ludovic Courtès @ 2010-10-04 22:36 UTC (permalink / raw)
  To: guile-devel

Hi Neil,

Neil Jerram <neil@ossau.uklinux.net> writes:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
>> it works across all the modules currently loaded, not just those of the
>> current project.
>
> I think I must be missing something: for me it always says "Couldn't
> find edit location for X" in the echo area.

Make sure to compile the source file with C-c C-k first.  And before
that, make sure to have a suitable ‘geiser-guile-load-path’.

Does C-c d RET in a Scheme buffer work for you?

Thanks,
Ludo’.




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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-04 22:00   ` Neil Jerram
  2010-10-04 22:36     ` Ludovic Courtès
@ 2010-10-04 22:40     ` Jose A. Ortega Ruiz
  2010-10-11 21:41       ` Neil Jerram
  1 sibling, 1 reply; 14+ messages in thread
From: Jose A. Ortega Ruiz @ 2010-10-04 22:40 UTC (permalink / raw)
  To: guile-devel

On Tue, Oct 05 2010, Neil Jerram wrote:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
>> it works across all the modules currently loaded, not just those of the
>> current project.
>
> I think I must be missing something: for me it always says "Couldn't
> find edit location for X" in the echo area.

Could you send (or paste somewhere) a file where that's happening? Does
it also happen for, say, identifiers in any of the geiser (guile) scheme
files (they're all loaded once you start using geiser)? The only cases
where you'd get that error should be a) for procedures defined in C or
b) for procedures in modules not yet loaded. But that's not "always" :)

Thanks!
jao
-- 
"I didn't do it, and I'll never do it again."
 -Derrik Weeks




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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-04 22:36     ` Ludovic Courtès
@ 2010-10-11 21:38       ` Neil Jerram
  0 siblings, 0 replies; 14+ messages in thread
From: Neil Jerram @ 2010-10-11 21:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

ludo@gnu.org (Ludovic Courtès) writes:

> Hi Neil,
>
> Neil Jerram <neil@ossau.uklinux.net> writes:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
>>> it works across all the modules currently loaded, not just those of the
>>> current project.
>>
>> I think I must be missing something: for me it always says "Couldn't
>> find edit location for X" in the echo area.
>
> Make sure to compile the source file with C-c C-k first.

OK, I wasn't doing that.

>  And before
> that, make sure to have a suitable ‘geiser-guile-load-path’.

What would be the right value, for a top level script file?  (i.e. one
with no define-module form)

> Does C-c d RET in a Scheme buffer work for you?

No, but C-c C-d RET does.  I guess that's what you meant.

Thanks,
        Neil



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-04 22:40     ` Jose A. Ortega Ruiz
@ 2010-10-11 21:41       ` Neil Jerram
  2010-10-11 22:11         ` Andy Wingo
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Jerram @ 2010-10-11 21:41 UTC (permalink / raw)
  To: Jose A. Ortega Ruiz; +Cc: guile-devel

"Jose A. Ortega Ruiz" <jao@gnu.org> writes:

> On Tue, Oct 05 2010, Neil Jerram wrote:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> BTW, ‘M-.’ in Geiser works really great, if you haven’t tried yet.  And
>>> it works across all the modules currently loaded, not just those of the
>>> current project.
>>
>> I think I must be missing something: for me it always says "Couldn't
>> find edit location for X" in the echo area.
>
> Could you send (or paste somewhere) a file where that's happening? Does
> it also happen for, say, identifiers in any of the geiser (guile) scheme
> files (they're all loaded once you start using geiser)? The only cases
> where you'd get that error should be a) for procedures defined in C or
> b) for procedures in modules not yet loaded. But that's not "always" :)

I'm sorry, I think I was being a bit stupid - expecting that it would
work even before starting a REPL.

It works as you say for Geiser's own code, and for my own modules once
I've compiled them.

Thanks,
        Neil



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-11 21:41       ` Neil Jerram
@ 2010-10-11 22:11         ` Andy Wingo
  2010-10-11 22:24           ` Jose A. Ortega Ruiz
  0 siblings, 1 reply; 14+ messages in thread
From: Andy Wingo @ 2010-10-11 22:11 UTC (permalink / raw)
  To: Neil Jerram; +Cc: Jose A. Ortega Ruiz, guile-devel

On Mon 11 Oct 2010 23:41, Neil Jerram <neil@ossau.uklinux.net> writes:

> "Jose A. Ortega Ruiz" <jao@gnu.org> writes:
>
>> On Tue, Oct 05 2010, Neil Jerram wrote:
>>
>>> ludo@gnu.org (Ludovic Courtès) writes:
>>>
>>>> BTW, ‘M-.’ in Geiser works really great
>>>
>>> I think I must be missing something: for me it always says "Couldn't
>>> find edit location for X" in the echo area.
>>
>> b) for procedures in modules not yet loaded.
>
> I'm sorry, I think I was being a bit stupid - expecting that it would
> work even before starting a REPL.

Is this a bad expectation? It is the first impression.

If your source code is loaded it is autocompiled and you should find the
edit locations, but if they is not loaded, are the module headers enough
to autoload the needed pieces?

Andy
-- 
http://wingolog.org/



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-11 22:11         ` Andy Wingo
@ 2010-10-11 22:24           ` Jose A. Ortega Ruiz
  2010-10-12  9:36             ` Andy Wingo
  0 siblings, 1 reply; 14+ messages in thread
From: Jose A. Ortega Ruiz @ 2010-10-11 22:24 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel, Neil Jerram

On Tue, Oct 12 2010, Andy Wingo wrote:

[...]

>> I'm sorry, I think I was being a bit stupid - expecting that it would
>> work even before starting a REPL.
>
> Is this a bad expectation? It is the first impression.

Expecting anything to work in Geiser before starting (or connecting to)
a REPL is a bad expectation, yes :) I guess you mean symbol locations
not being available until you compile the module?

> If your source code is loaded it is autocompiled and you should find the
> edit locations, but if they is not loaded, are the module headers enough
> to autoload the needed pieces?

If the module is not loaded (or compiled), Geiser provides information
for those symbols visible in the REPL's current namespace. I don't think
it's a good a idea to load modules behind the user's back. It could in
principle provide info for those symbols in modules in the import list
that are already loaded, but i'm not sure the amount of work that
entails is worth it :)



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-11 22:24           ` Jose A. Ortega Ruiz
@ 2010-10-12  9:36             ` Andy Wingo
  2010-10-12 12:12               ` Jose A. Ortega Ruiz
  0 siblings, 1 reply; 14+ messages in thread
From: Andy Wingo @ 2010-10-12  9:36 UTC (permalink / raw)
  To: Jose A. Ortega Ruiz; +Cc: guile-devel, Neil Jerram

On Tue 12 Oct 2010 00:24, "Jose A. Ortega Ruiz" <jao@gnu.org> writes:

> On Tue, Oct 12 2010, Andy Wingo wrote:
>
> [...]
>
>>> I'm sorry, I think I was being a bit stupid - expecting that it would
>>> work even before starting a REPL.
>>
>> Is this a bad expectation? It is the first impression.
>
> Expecting anything to work in Geiser before starting (or connecting to)
> a REPL is a bad expectation, yes :)

Could it ask to start a new Guile or connect to a Guile?

> I don't think it's a good a idea to load modules behind the user's
> back.

Could it ask? :-)

Andy
-- 
http://wingolog.org/



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-12  9:36             ` Andy Wingo
@ 2010-10-12 12:12               ` Jose A. Ortega Ruiz
  2010-10-12 17:46                 ` Andy Wingo
  0 siblings, 1 reply; 14+ messages in thread
From: Jose A. Ortega Ruiz @ 2010-10-12 12:12 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel, Neil Jerram

On Tue, Oct 12 2010, Andy Wingo wrote:

[...]

>> Expecting anything to work in Geiser before starting (or connecting to)
>> a REPL is a bad expectation, yes :)
>
> Could it ask to start a new Guile or connect to a Guile?

Every time you try a geiser command without an active REPL, there's an
error message in the echo area saying

"No Geiser REPL for this buffer (try M-x run-geiser)"

If that message wasn't displayed in Neil's case, that's a bug.

>> I don't think it's a good a idea to load modules behind the user's
>> back.
>
> Could it ask? :-)

It could, but it's a lot of work :-) It can also be annoying to keep
answering questions: i'd need to keep track of whether i've already
asked, options would be needed to deactivate the behaviour, to make
auto-loading the default... more work... I think i'd need one or two
more users feeling the need for this feature (i don't) :-).




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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-12 12:12               ` Jose A. Ortega Ruiz
@ 2010-10-12 17:46                 ` Andy Wingo
  2010-10-12 18:03                   ` Jose A. Ortega Ruiz
  0 siblings, 1 reply; 14+ messages in thread
From: Andy Wingo @ 2010-10-12 17:46 UTC (permalink / raw)
  To: Jose A. Ortega Ruiz; +Cc: guile-devel, Neil Jerram

On Tue 12 Oct 2010 14:12, "Jose A. Ortega Ruiz" <jao@gnu.org> writes:

> "No Geiser REPL for this buffer (try M-x run-geiser)"

Yes, I get this at times. But why tell me what to do? Why not do it for
me, with my permission? A single keypress keeps you in flow.

>>> I don't think it's a good a idea to load modules behind the user's
>>> back.
>>
>> Could it ask? :-)
>
> It could, but it's a lot of work :-) It can also be annoying to keep
> answering questions: i'd need to keep track of whether i've already
> asked, options would be needed to deactivate the behaviour, to make
> auto-loading the default... more work... I think i'd need one or two
> more users feeling the need for this feature (i don't) :-).

Fair enough :)

Andy
-- 
http://wingolog.org/



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

* Re: Can `make tags' generate tags for Scheme source, as well as C?
  2010-10-12 17:46                 ` Andy Wingo
@ 2010-10-12 18:03                   ` Jose A. Ortega Ruiz
  0 siblings, 0 replies; 14+ messages in thread
From: Jose A. Ortega Ruiz @ 2010-10-12 18:03 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel, Neil Jerram

On Tue, Oct 12 2010, Andy Wingo wrote:

> On Tue 12 Oct 2010 14:12, "Jose A. Ortega Ruiz" <jao@gnu.org> writes:
>
>> "No Geiser REPL for this buffer (try M-x run-geiser)"
>
> Yes, I get this at times. But why tell me what to do? Why not do it for
> me, with my permission? A single keypress keeps you in flow.

Because perhaps you don't want to do it, and keep asking would be
annoying. So it'd have to remember not to ask again, and then, if after
10 warnings you decide you want to do it, you'll have to do it anyway.
But if you're sure you don't want it, perhaps you'll want to deactivate
the warnings... and that's all state that is associated with buffers and
will have to be inherited for buffers visiting the same file, or perhaps
not (let's put there another option); and then the state will get stale
and newbies will get confused, and have to read the manual two or three
times to understand all the available options.

Typing 'M-x run-geiser' (or binding that to a function key) once before
you start hacking scheme keeps you in flow for the rest of your emacs
instance life much more simply... :)



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

end of thread, other threads:[~2010-10-12 18:03 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-11 17:47 Can `make tags' generate tags for Scheme source, as well as C? Neil Jerram
2010-09-12 11:35 ` Andy Wingo
2010-09-15 14:37 ` Ludovic Courtès
2010-10-04 22:00   ` Neil Jerram
2010-10-04 22:36     ` Ludovic Courtès
2010-10-11 21:38       ` Neil Jerram
2010-10-04 22:40     ` Jose A. Ortega Ruiz
2010-10-11 21:41       ` Neil Jerram
2010-10-11 22:11         ` Andy Wingo
2010-10-11 22:24           ` Jose A. Ortega Ruiz
2010-10-12  9:36             ` Andy Wingo
2010-10-12 12:12               ` Jose A. Ortega Ruiz
2010-10-12 17:46                 ` Andy Wingo
2010-10-12 18:03                   ` Jose A. Ortega Ruiz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).