Age | Commit message (Collapse) | Author |
|
|
|
Those two procedures are gone in these 2.2 times, and things like
autodoc and xref were broken as a result. With Andy's help,
apparently good enough approximations of their functionality are now
in place: let's see how they go.
|
|
When constructing the completion table for minibuffer prompts via
`completion-table-dynamic', we were forgetting to tell emacs to
perform the completion lookup with the original (scheme) buffer as its
current buffer. As a result, the actual completion function wasn't
able to find the REPL connection and everything when down in flames
with an exception.
|
|
|
|
We can probably do away with this entirely; but for now, make it a custom.
|
|
It now _slows_ performance rather than improves it. Removing it speeds
up the issue described in jaor/geiser#174
|
|
Necessary for jaor/geiser#174
|
|
Removed all of the symbol-interning code, and in the process greatly
reduced the amount of CPU time.
Should resolve jaor/geiser#174
|
|
It's only using string-empty-p from there, which is a function whose
name is almost as long as its implementation, so we better try to be
compatible with older emacsen (subr-x was introduced in emacs 24.4).
|
|
|
|
For some reason, one of our users is experiencing point jumps when
calling `geiser-set-scheme'. A save-excursion is all that's needed,
even though it *shouldn't* be needed in the first place.
|
|
`install-package` -> `package-install`
|
|
Chicken Scheme's apropos egg changed the identifiers in the return value
of the `apropos-information-list` from `module#name` to `(module
. name)`. This commit adds support for the new identifiers.
|
|
* elisp/geiser-guile.el (guile--manual-look-up): Change parameters for
info-lookup-symbol to string and 'scheme-mode. Fixes lookup.
|
|
|
|
as per the discussion at: https://github.com/jaor/geiser/issues/183
|
|
|
|
|
|
|
|
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)))))
|
|
|
|
when eval (make-violation)
it shall return: \#<condition &violation>
but previous impletement will treat it as an ERROR.
|
|
|
|
- Capture exceptions of ChezScheme
- handles multi-value return
|
|
This is still the same license, but now it is closer to the text
expected by tools that automatically extract license information.
|
|
used Emacs Wiki link since it links on to
the code and is likely to be kept relatively up-to-date
|
|
Actually, programming-musings.org is no longer a domain i pay for, and
the "canonical" reference to my blog post is in jaortega.wordpress.com.
|
|
|
|
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).
|
|
With that in the documentation, i'd taken less time to remember the
very existence of geiser-guile-load-path, and the fact that paths are
added also to the compiled load path... but then i guess it's nice to
re-read my code once in a while.
|
|
|
|
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: "
|
|
An attempt to address #194.
|
|
|
|
|
|
|
|
|
|
Should fix #188, and i'm not generating a new version for this unless
some distribution maintainer is asking.
|
|
At least by default.
|
|
|
|
|
|
|
|
`shell-command` assumes Bourne-shell-compatible quoting, which
doesn't work when the user isn't using a Bourne-compatible shell.
Instead of futzing about with quoting, we can just use `process-lines`
to execute a process and pass it arguments directly.
|