| Age | Commit message (Collapse) | Author | 
|---|
|  | This bugs was exposed by using rackunit, where all the output of, say,
check-eq? was lost for good (it was being sent to the stderr black
hole).
Hat tip Grant Retkke. | 
|  | We were not checking that the region sent to the scheme process was
balanced, resulting in said process waiting for ever on `read' (or its
moral equivalent in our current implementation).  We now just refuse
to evaluate an improper region in the first place. | 
|  | Seems like the add-on package filladapt.el is broken in that its
version of fill-adapt uses a non-optional first argument.  Aquamacs
users were filling the pain.  Fixed by passing nil in our call to
fill-paragraph.  Hat tip Jonathan Oddie. | 
|  | The nice go-back-to-previous-scheme-buffer behaviour of C-c C-z wasn't
working when the jump from a scheme file to the REPL was initiated via
run-geiser.  Thanks, Marijn. | 
|  |  | 
|  | Namely, geiser-font-lock-repl-prompt and geiser-font-lock-repl-input. | 
|  | In this little notebook i'm using, racket takes its time to start.  In
fact, it can take more the previously slotted 10 seconds.  Hence the
new geiser-repl-startup-time variable. | 
|  | Thanks, Leo. | 
|  | Using called-interactively-p instead of interactive-p, if you have to
know.  The latter is deprecated as of Emacs 23.2, which the lowest
version supported by Geiser. | 
|  | Autodoc was firing while the REPL was waiting for input of a (read)
call, causing all kinds of misbehaviour.  We now inhibit autodoc on
sending a form for evaluation and re-inhibit it once a prompt is read
back again. | 
|  | We were not checking the implementation associated to a REPL buffer
when reusing it, with much confusion ensued. | 
|  |  | 
|  | Nothing interesting, really. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | 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! |