Age | Commit message (Collapse) | Author |
|
|
|
We weren't tracking the "enter debugger" event correctly, and all
evaluations in debug mode were failing. There's still (at least)
another bug, because error navigation in backtraces seems broken.
|
|
|
|
|
|
Some schemes (okay, Guile) may output spurious messages besides a
well-formed retort. This will be eventually fixed; in the meantime,
we try to skip the noise (and may fail miserably if that noise has a
form similar to the signal we search).
|
|
|
|
|
|
As per Andy's request. Adding it to Racket (and to the user manual),
shouldn't be difficult).
|
|
We were not handling properly mixing id and module names
completion. In Guile, it's a lost cause, because module names are not
identifiers and, therefore, don't share prefixes. In Racket, things
are nicer in that respect: there we can offer both at once. In Guile,
one at least has (thanks to this patch, too) M-`.
|
|
i hope the anonymous reporter will check this...
|
|
|
|
Following a suggestion by M. Harig, and following the policy that it's
better for command names to not be doubly hyphenated.
|
|
Since C-c C-z/Z apparently conflict with each other, and the new
keybinding is more friendly anyway.
|
|
|
|
Mark, again.
|
|
Quoth Mark:
When the Geiser minor mode is toggled off using the command
`geiser-mode', the message:
Toggling eldoc-mode off; better pass an explicit argument.
is displayed in the echo area. This is traceable to line 219:
(eldoc-mode geiser-autodoc-mode)
The function `eldoc-mode' takes numeric arguments, while
`geiser-autodoc-mode' returns boolean values. Here is a
simple patch:
(eldoc-mode (if geiser-autodoc-mode 1 -1))
|
|
TAB already does all the other stuff.
|
|
We were using a comint-get-old-input function that was including the
prompt in its returned value. This was no problem most of the time
because we don't use comint-send-input before the process mark, but
there's another circumstance under which comint-get-old-input is
called, namely, when reaching the end of the input history. When
history is exhausted, the "old input" is inserted (go figure), and we
were inserting a prompt, wreaking havoc with its read-only-ness.
|
|
My previous attempt was bogus! Also, i'm taking advantage of our
sending queries serially to simplify transaction queue processing, and
to clean after ourserlves on error.
|
|
Let's use the scheme reader instead of half-assed regular expressions
and special-casing.
|
|
|
|
Apparently, quack makes (thing-at-point 'symbol) to return "#" when
point is looking at a hash symbol, causing havoc to geiser. This patch
defends us about this behaviour.
|
|
|
|
|
|
We cannot consistently maintain a local cache, because of
re-evaluations of external symbols will go unnoticed. The new strategy
(remembering only the latest signatures) mostly works, although it
introduces a bit of extra flickering every now and then.
A global cache is perhaps worth considering.
|
|
Only display an activation message when called interactively.
|
|
The message and the evaluated expression where getting mixed for Guile.
|
|
|
|
A piece of eldoc advice shamelessly lifted from slime.
|
|
|
|
|
|
Namely, those with non-letters in their name, because we were using
"%S" instead of "%s" to stringify uninterned symbols.
|
|
I've observed that autodoc requests in connections to tekuti processes
often miss their deadline. This was causing serialization problems,
fixed (i think) by this patch; but we still have the problem of too
many misses, which could be fixed by making autodoc asynchronous (and
we probably need this for really remote connections anyway).
|
|
Maybe i should bite the bullet and use ##autoload cookies, but then
geiser.el would need to be a generated file, breaking
out-of-the-boxness (unless i update it by hand). Sticking to manual
maintenance for now.
|
|
If quack-mode is active, we leave additional font locking to it.
|
|
A couple functions to manage logs, and a fix to the definition of
geiser-messages-mode: do not ever kill all local variables in a
derived mode definition!
|
|
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.
|
|
|
|
Those seem keywordish enough to deserve fontification.
|
|
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.
|