Age | Commit message (Collapse) | Author |
|
It's the convention and by following it we make a big step towards
supporting outline navigation.
The convention doesn't say much about what parts of the code are
supposed to be part of that sections and what parts belong in a
subsequent section. Here we put the `require' forms in this section
and maybe some setup code, that's a popular approach.
In most cases there was "" where we now insert "Code:". They both
serve a similar purpose and we keep the former because some users
depend on that for navigation. We even add this "" in libraries
where it previously was missing.
In some cases the permission statement was followed by a commentary,
which obviously does not belong in the "Code:" section. In such cases
add the conventional "Commentary:" section.
|
|
A similar idea should probably be used with other schemes, but right
now i feel ashamed of having taken so long to fix this one (assuming
it's fixed!), so let's rush this commit for a change.
|
|
Repeat with me: try M-x geiser-reload before pushing to gitlab
|
|
With a hat tip to Mikhail Kryshen, who was wondering in guile-user why
oh why, and rightly so.
|
|
* Renames geiser-repl-context-sensitive-send to
geiser-repl-send-on-return-p. This option's value is now inverted.
* Update documentation accordingly.
|
|
|
|
|
|
This option allows for easier editing of expressions on the REPL
without accidentally sending the input to the inferior Scheme.
When turned on, the REPL behaves similarly to the Chez REPL.
|
|
|
|
|
|
* Narrow font-lock syntax highlighting to only the
active REPL input region.
* Mark REPL output read-only. This can be changed via the
option `geiser-repl-read-only-output-p`.
* Mark REPL output with a user-definable face as
`geiser-font-lock-repl-output`.
Alternatively an option to syntax highlight REPL output
is provided via the option `geiser-repl-highlight-output-p`.
This applies scheme-mode syntax highlighting to any REPL
output. Any additional hooks defined via scheme-mode-hook
are also executed for highlighting this region.
* Remove some unwanted TABs in source files.
|
|
Since this job is done in the process sentinel, the clean up is also
triggered when the Scheme process exits unexpectedly, deleting any
traces the dying guy might have left. I added a flag to control the
behaviour, but upon reflection the old behaviour seems wrong and i've
defaulted to the new one. This one should fix #251.
|
|
|
|
Previously, Geiser added a (field t) property to inputs before adding
them to the REPL history so it can determine what characters in the
buffer belong to old input and yank it when a user pressed
enter (geiser-repl--maybe-send) on it. When users recalled an old
input with "M-p" (comint-previous-matching-input-from-input), the old
input with its (field t) property were inserted after the current
prompt. Since old inputs were not "front-sticky," when point was just
after the current prompt but before the characters of the old input,
Emacs considered point to be outside of the (field t) field; this
prevented users from using some movement commands such as forward-word
to move point into the old input text. Furthermore, when users
inserted text before the old input or yanked other old inputs
afterwards, this new text did not have the field property and so Emacs
restricted point movement to and from the old text with the (field t)
field.
This resolves the issue by not adding the (field t) property to old
inputs and instead leverages comint's ability to assign the output
field to all non-input (by setting comint-use-prompt-regexp to
nil). It should resolve the issue reported in "[Geiser-users] Problem
with prompt at history item" by Hamish Ivey-Law
(https://lists.nongnu.org/archive/html/geiser-users/2014-12/msg00001.html).
|
|
|
|
|
|
|
|
|
|
|
|
When using a prompt regexp, comint's version of these commands
misbehave (they try to reuse forward-paragraph, and that's not quite
it), so we're implemeting our own here in a very straightforward way.
We also bind the usual C-c C-p and C-c C-n to them. It only remains to
b seen whether advising the original ones is worth the trouble.
|
|
We were adding only the scheme-specific ones.
|
|
We were doing it before the buffer's implementation, and the
implementation-specific keywords were not found. Should fix github's
issue #159.
|
|
|
|
This fixes 2 issues:
1. Reconnecting to a remote process prompts for host/port, although it
is not needed.
2. 'geiser-connect' should be used only if 'geiser-repl--address' is a
host/port pair. When it is a socket file name,
'geiser-connect-local' should be used.
|
|
Move prompting for a socket file name to the interactive form.
|
|
Mainly by reordering definitions so that functions are not used before
defined. There are a couple of places where the compiler and I
disagree (it complains withing eval-after-load), and a valid complain
about functions defined via geiser-popup--define that should be
addressed).
|
|
|
|
This one should address #79. I'm very surprised this ever worked!
|
|
That way we avoid circularities in the load graph, always a good thing.
|
|
Should fix issue #85
|
|
|
|
|
|
Image cache cleaning was being performed during comint output filtering
and, since that can happen in batches, if the total output had more
images than the maximum cache size, some of them would be gone (in fact
it was even worse: we were cleaning the cache after each image display).
Now we just perform cache maintenance before sending the input, and
avoid paying a price for non-rackets by making the cache dir setting
implementation-specific.
|
|
Works almost identically to the stock C-c C-c, with just marginally
better output aaand being well behaved when interrupting infinitely
looping functions such as (define (f) (newline) (let loop () (loop))) --
cf. issue #29 on github.
We like it so much that it replaces the old one.
|
|
|
|
... so that we don't end up with a blank, useless buffer around.
|
|
And, if you happen to be launching it all the time, a way of skipping
them via a customizable variable.
Should address issue #15.
|
|
This variable makes comint wait for the underlying process to echo its
input, something our schemes won't do. If anyone sets the variable
globally for what can only be perverse reasons, we just would just hung.
Not anymore.
|
|
... so we have to check if it's defined and, in its defect, use the
new shiny comint-last-prompt. A bit of refactoring resulted.
|
|
We were using a history entry separator including \0 that wasn't
writeable as an utf-8 file. Changing the separator to \n}{\n allows
using UTF-8 characters in the REPL which are correctly read back.
|
|
|
|
|
|
|
|
|
|
When no live REPL is found, of course. The flag's imaginatively
called geiser-mode-start-repl-p.
|
|
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.
|
|
Just renamed geiser-repl--clear-buffer (we don't use -- when users can
call the command with M-x normally) and added documentation.
|
|
|
|
By means of a new entry in completion-at-point-functions that uses
the handy comint-filename-completion.
|