Age | Commit message (Collapse) | Author |
|
I've eliminated the annoying *spurious* popup produced by tq, so that
Geiser can recover from error conditions arising from unexpected
input to a transaction queue that has no active transaction. We now
log the offending input and keep going.
Greg, over at racket's list, reported such a happening when leaving
the REPL after C-u C-c C-z; but i've been unable to reproduce the
problem. Probably, we have a bug lurking somewhere that this patch
doesn't fix, but at least it should work as a palliative.
|
|
This is Emacs, after all.
|
|
You won't believe it, but people write procedures spanning several
pages, even in Scheme. Where's the art and the poetry of programming?
|
|
... and i haven't yet refactored `geiser-syntax--scan-locals', oh my.
|
|
... using the new non-interning reader. Plus scanning for case-lambda
and syntax-rules. `geiser-syntax--scan-locals' is in danger of
refactoring, specially if we add support for let-values.
|
|
It was relying on symbol equality, and not dealing correctly with
keyword arguments in this new external world. In the process, some
cleanups to the scheme data display code.
|
|
We were still internalizing scheme _keywords_ in the elisp reader.
|
|
|
|
Since, you know, module names are now uninterned symbols.
|
|
We avoid using elisp's read for symbols, reading uninterned ones
instead. And then, we cannot use symbols as keys in responses from
scheme: we're using strings instead.
|
|
These ones seem safe: the resulting symbol is not compared for
equality anywhere.
|
|
We avoid calling symbol-at-point, and keep the cached signatures with
strings as keys.
|
|
... which interns the symbol in the global obarray: rather unfriendly.
We still need to remove a few calls to that beast, and avoid intern in
the scheme reader.
|
|
We were adding extra spaces to function signatures.
|
|
|
|
This reverts commit 801422d1558f488059ede4f9abab5163ca610900.
We cannot blindly substitute make-symbol for intern in the scheme
reader, because we rely on symbol equality elsewhere, often. The fix
will have to be much more careful.
|
|
We were calling `intern' instead of `make-symbol', polluting emacs'
obarray.
|
|
When the symbol is imported and re-exported by a second module, we
display its definition name and original module, besides the name of
the module re-exporting it.
|
|
|
|
But i should really refactor this: module and value are (or can be)
already available in the response coming from Scheme.
|
|
Just justifying and indenting them.
|
|
... and actually using it to implement geiser-smart-tab-mode. Always
nice to un-reinvent-the-wheel.
|
|
Besides removing code i didn't understand that well, we bring in
goodies such as partial completion. Jolly.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
geiser-repl was missing a (require 'geiser-doc) that was making things
go pretty awry for compiled geiser on os x (emacs 23.2.20), but
nowhere else, for reasons that escape me.
Issue was, the popup buffer macros were not seen. Go figure.
|
|
Details, details.
|
|
|
|
|
|
|
|
Tell people that we're trying to complete, sometimes, on two different
prefixes.
|
|
It'd be interesting to check what percentage of commits are related to
autodoc...
|
|
We're being a bit silly here, first converting the autodoc retort
string to an elisp value and then reconverting the arguments again to
a string with scheme syntax. We should probably do this at
geiser-syntax's parser level, with a special mode producing stringy
representations of tokens. Don't tell anyone.
|
|
And, as a consequence, we were sending broken sexps to poor schemes.
|
|
We now display procedure signatures in module help, and keep a cache
in Guile, using procedure properties.
|
|
Simpler (we don't need no square brackets) and more correct (keywords
display as keywords and we only include default values when available
(Guile, i'm looking at you).
|
|
copy-list is from cl.
|
|
The trick consists on using a comint-input-ring-separator that is
*not* a newline, both for reading and writing the history file.
|
|
|
|
You don't really care unless you're a Geiser hacker (as opposed to a
hacker using Geiser), or wanna become one.
|
|
|
|
This interactive command will list all method needed to define a new
Scheme implementation in Geiser, together with their callers and doc
strings. Although i know very few additional schemes meta-dynamic
enough to be supported by Geiser (actually, just one: scheme48), one
never knows (there was a time when i thought that PLT Scheme wasn't in
the list).
|
|
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.
|
|
Let's not wait for active connections to clear their queue when we're
shutting down the REPL.
|
|
The latter is obsolete since 23.2.
|
|
Nothing here, move on.
|