Age | Commit message (Collapse) | Author |
|
|
|
Still a tad messy, because we are always forcing a retort-syntax error
and checking its ouput, but good enough for now.
|
|
... by the obvious device of waiting for the thread building the index
to finish.
|
|
The evaluation of the help form must happen in a good enough
namespace.
|
|
|
|
For some reason that i don't fully understand, evaluating a function
in the racket/base namespace first thing after loading errortrace
breaks the help macro (!). This patches provides a workaround by
actually invoking help first thing when Geiser starts, with alibi that
it serves to preload the help index (in a separate thread).
While i was at it, i improved the message printed in the minibuffer
when no help is found.
|
|
|
|
|
|
So, the problem was that our regexp for a Racket prompt didn't take
into account that filenames could contain white spaces: "@[^ ]*> ". A
simple solution was accepting them: "@[^>]+> " won't work because '>'
is also a valid character in filenames, so we went for "@.*> ".
The drawback is that finding the beginning of the prompt (e.g. in C-a)
fails when you're writing things like:
racket@foo bar.rkt> (> 2 3)
because here comint believes that the prompt is "racket@foo bar.rkt> (> "
And that could have side-effects elsewhere. So what i've done is
simply changing the way white-space is (not) printed in the prompt,
substituting it by underscores. That way, whe can go back to the
initial regexp, comint doesn't get confused, and users can easily
infer that "@foo_bar.rkt>" is actually referring to their
"foo bar.rkt" file.
|
|
|
|
|
|
Since spaces are allowed inside filenames after all.
|
|
|
|
|
|
Use a prefix before pressing C-x C-e to print the result of evaluating
the expression before mark to the current buffer.
|
|
I'm not convinced that this is the right thing, and the effect is a
bit ugly (we use save-window-excursion), but maybe this is the correct
thing to do for users that want auto-start.
|
|
|
|
When no live REPL is found, of course. The flag's imaginatively
called geiser-mode-start-repl-p.
|
|
Such as (values), which produce a retort of the form ((result) ...),
which has nothing wrong in it! Thanks to Diogo.
|
|
In case you don't care about killing live REPLs...
|
|
|
|
And, while we're at it, honour the new case-sentive flag, as suggested
by Diogo.
|
|
|
|
|
|
By default, keywords are now not fontified in Scheme buffers unless
they have the correct (lower) case. This behaviour can be altered by
new, per-implementation customization variables.
Thanks to Diogo F. S. Ramos for pointing this out.
|
|
Thanks to Vitalie Spinu
|
|
|
|
Thanks to Diogo F. S. Ramos.
|
|
|
|
|
|
|
|
|
|
Since C-\ is a standard Emacs binding, and people know how to change
it anyway. I've also put the command in the menu for Geiser mode, for
discoverability. A pleasant surprise: greek lambdas are understood by
both Racket and Guile.
|
|
|
|
.. which seems to be available also in emacs 23.2 (although reports as
to whether it works are mixed), and has better behaviour anyways.
|
|
|
|
|
|
|
|
|
|
Thanks to Haiwei Zhou for catching this one!
|
|
Hat tip Diogo F. S. Ramos.
|
|
We were not taking into account windows paths, with their backslashes
and colons.
|
|
Just renamed geiser-repl--clear-buffer (we don't use -- when users can
call the command with M-x normally) and added documentation.
|
|
|
|
Our module loader is receiving load requests for module names
represented as lists that are not exactly a submodule, in the sense
that the path does not represent an actual file.
This phenomenon happens for instance when specifying a reader in a
#lang tag. E.g.
#lang at-exp racket
will cause the loader to be called with module name '(main reader) and
path <cols-path>/at-exp/main.rkt, where main.rkt does not exist.
Afterwards, we see a call to load at-exp/lang/reader/rkt, with name
reader, which is the real code.
So, for now, i'm skipping all load requests with a list name,
forwarding them to racket's default loader.
|
|
By means of a new entry in completion-at-point-functions that uses
the handy comint-filename-completion.
|
|
|
|
When no other completion is available, that is.
|
|
Splitting better the specially indented forms between our two
implementations, so that users of a single one don't get weird
indentations for froms without a special meaning in their scheme.
Ideally, we should make these indentation rules buffer-local, so that
when a user is in a, say, Guile buffer, module+ has no special
indentation (as is the case now if that user also has activated
support for Racket).
|
|
|