First of all, thanks to all the people involved in this awesome package.

I have a question about how geiser and guile handles the context of
evaluation of module's code in some situations. For example, this one first:
1) M-x geiser
2) C-x C-f /usr/share/guile/3.0/sxml/simple.scm
3) C-x C-f /usr/share/guile/3.0/ice-9/popen.scm

If I do geiser-eval-last-sexp in some definition of popen.scm, like
pipe-guardian, that definition becomes available in the geiser REPL, which
remains in the (guile-user) module.
But if I do the same with the definition of attribute->xml in simple.scm
for example, that definition does not become available in the geiser REPL.

What is the difference in how geiser (or guile) handles these two modules?

The original situation that originated my doubt was when I was trying my
own little module. When I first started the geiser REPL and evaluated some
definition in the corresponding file's buffer (with C-x C-e), the
definitions end up in the (guile-user) module of the REPL, and they were
evaluated in the context of my module only after changing to it with C-c
C-a.
1) M-x geiser
2) (add-to-load-path "/home/path/to/my/module/")
3) C-x C-f /home/path/to/my/module/testmodule.scm
4) C-x C-e in some variable's definition
5) evaluate that variable in the guile REPL, and get the result
6) return to the scheme buffer and do C-c C-a
7) return to the scheme buffer and evaluate some new definition
8) change to (guile-user) module in the REPL and evaluate the new
definition, and it does not exists, which is the expected result

My question here is, what changes in geiser/guile after entering the new
module once? I was expecting that from the very beginning the evaluation of
some definition in a file that is a module will be evaluated in that
module's context, just like it happens after entering the module.

>From the *Geiser Messages* buffer I can see that the evaluations seem to
have the correct module every time, but something might be happening to the
guile process that says "now that I know this module, I will evaluate the
expression in this module".

I spent several days trying to figure it out but it's beyond me hehe. If
you can help me understand the reason, or point me in some direction to do
some more research, I will be very grateful.

Kind regards, Pedro.

Reply via email to