Age | Commit message (Collapse) | Author |
|
We were calling `intern' instead of `make-symbol', polluting emacs'
obarray.
|
|
We put the value of the identifier where it belongs, and add a missing
period. Works, but geiser/doc.scm is in sore need of a refactoring.
|
|
Was a real bug, after all, and quite reproducible. Sending an ,use
metacommand was not returning a prompt, and we were waiting for ever
to start (or almost). Now, connect-to-guile is not only right, but
spiffy again.
|
|
Today, W was seeing errors when connecting to Guile, which of course
immediately disappeared when we tried to reproduce them and get some
logs. I'm logging Guile's initialisation unconditionally, to make sure
the problem doesn't repeat. Much easier than fixing the bug.
|
|
|
|
We have a new "manual lookup" command, and Racket now displays a doc
browser buffer for help with a button activating it. In the process,
we've cleaned-up a little mess in geiser-eval.el and geiser-doc.el,
and refactored the affected Racket modules.
Next in line is providing manual lookup for Guile.
|
|
|
|
We now display procedure signatures in module help, and keep a cache
in Guile, using procedure properties.
|
|
|
|
Spinning up from correct fontification of [else in this brave Racket
world.
I'm keeping the list of extra keywords lean and mean, but making it
customizable in both Racket and Guile.
|
|
Inferior schemes weren't really a good idea, were they? With remote
connections one can launch an external scheme to debug Geiser anyway.
And everything is (ahem, will be) simpler when we add new
implementations.
|
|
Separate connections for the REPL and Geiser commands was kind of
neat, but it had the problem of synchronising the current namespace
for both connections. A quick fix would have been to ask the scheme
for the current namespace for every Geiser command in the REPL, but
that, besides clunky, would add potentially prohibitive overhead for
(real) remote connections.
As it happens, using a single connection turned out to be not that
difficult and relatively clean code-wise. We could even turn back to
not use inferior schemes, and the net result of this refactoring would
be the replacement of comint-redirect (which wasn't able to match the
whole EOT token if it didn't arrive all at once) by transaction queues
(which also makes geiser-connection's implementation cleaner).
But using an inferior scheme has a dog-food value, and allows external
processes to connect to the scheme being used by Geiser without
further ado, which could be useful for debugging (although this is a
lame excuse: nothing prevents you from starting a REPL server from
emacs if you want). We'll see.
|
|
Separate connections for the REPL and Geiser commands was kind of
neat, but it had the problem of synchronising the current namespace
for both connections. A quick fix would have been to ask the scheme
for the current namespace for every Geiser command in the REPL, but
that, besides clunky, would add potentially prohibitive overhead for
(real) remote connections.
As it happens, using a single connection turned out to be not that
difficult and relatively clean code-wise. We could even turn back to
not use inferior schemes, and the net result of this refactoring would
be the replacement of comint-redirect (which wasn't able to match the
whole EOT token if it didn't arrive all at once) by transaction queues
(which also makes geiser-connection's implementation cleaner).
But using an inferior scheme has a dog-food value, and allows external
processes to connect to the scheme being used by Geiser without
further ado, which could be useful for debugging (although this is a
lame excuse: nothing prevents you from starting a REPL server from
emacs if you want). We'll see.
|
|
|
|
|
|
|
|
Or the importance of EOL. Switching to a transaction queue for
communication with the Scheme process means that i had to care about
sending eols in the queries... Guile was waiting for ever reading a
metacommand taking a variable number of arguments. Argh: this has
taken me a few hours -- i'm getting old.
|
|
Or the importance of EOL. Switching to a transaction queue for
communication with the Scheme process means that i had to care about
sending eols in the queries... Guile was waiting for ever reading a
metacommand taking a variable number of arguments. Argh: this has
taken me a few hours -- i'm getting old.
|
|
|
|
|
|
Conflicts:
elisp/geiser-guile.el
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
geiser-connect (or its specialisation, connect-to-guile) working for
Guile, where the external process is started with the new --listen
flag.
|
|
geiser-connect (or its specialisation, connect-to-guile) working for
Guile, where the external process is started with the new --listen
flag.
|
|
|
|
|
|
|
|
|
|
|