Age | Commit message (Collapse) | Author |
|
|
|
geiser-mode-eval-to-buffer-transformer will take 2 argments:
errstring and result
when eval-to-buffer, the result will be transformed by this procedure
e.g.
(setq geiser-mode-eval-to-buffer-transformer
(lambda (estring x)
(let ((l (length x))
(p (seq-position x ?\n)))
(if (and p (< (+ 1 p) l))
(format "\n#| %s%s\n |#" estring x)
(format ";;=> %s%s" estring x)))))
|
|
After evaling the last expression, if not inserting its value into
buffer, leave (point) at its original position.
|
|
Scan for beginning and end of a sexp, instead of using (point) as the
end.
Previously, if (point) was after a comment character, the REPL would
freeze.
|
|
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).
|
|
|
|
And, on reflection, it's better we do the same thing with the ERROR
insertion...
|
|
|
|
|
|
We were expanding the path of files to be loaded at the wrong place in
the wrong way. This should be better and address bug #196.
|
|
Emacs trunk does not support arguments list like (lambda (&rest) nil)
anymore, which breaks geiser and errors with "Invalid function: "
|
|
|
|
|
|
At least by default.
|
|
|
|
C-h P (`display-package') can make use of it.
|
|
|
|
... so that we don't interfere with other active backends, and following
the same policy as in the rest of company-mode geiser methods. See also
the discussion in github's #173.
|
|
As requested in github issue #173. Seems it's confusing people, which
is exactly the problem it was originally trying to avoid!
|
|
|
|
Avoid redefining font-lock-ensure, so that haskell-mode doesn't get mad
at us. Should close github's #164.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
This one should fix github's issue #132. There's still the glitch that
scheme strings are fontified without taking into account extra keywords.
|
|
Addresses github's #158, and its implementation is really easy (kudos to
fice-t, also for telling me about bound-and-true-p).
|
|
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.
|
|
Let's see if i finally got this right...
|
|
I wonder if this has ever worked fine: geiser-debug--display-retort was
a little mess. It should be a bit better now, but Guile is still
displaying funny messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This fixes a regression introduced by commit
424553e017718c54e219212b27a32b341ec6bd28.
|
|
This is a fix similar to the one made in commit
8e75455dfbd46355d777c26366e7ccfcb59ace20.
|
|
|
|
Avoid calling 'geiser-con--request-string' twice by wrapping it into
'let'.
|
|
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.
|
|
company-backends should not be overridden by modes, as users may have
additional backends that they wish to use. The appropriate behaviour is
to add your backend to the company-backends list.
Also removed the overriding of what ought to be user-controlled variables.
|
|
As patiently pointed out by Alex Kost in the discussion of issue #121,
using the macro defined by the geiser-popup--define macro before its
actual definition causes problems when geiser is loaded after
compilation. Thanks again, Alex and Federico.
|
|
Move prompting for a socket file name to the interactive form.
|