Age | Commit message (Collapse) | Author |
|
NOTE: The patch is largely untested.
Modifications:
- Update readme.org
- Remove geiser-company
- Move Company extensions to geiser-completion
Omissions:
- geiser-company--inhibit-autodoc has been removed. Eldoc handling
should be implemented in the frontend, not in the backend.
See for example:
https://github.com/minad/corfu/blob/04fbfce3d7e9c125a7fd22a34455a508247a522b/corfu.el#L1212
- The quickhelp-string action and geiser-company--docstring have been
removed. company-quickhelp can use `:company-doc-buffer` instead with
minimal overhead.
See:
https://github.com/company-mode/company-quickhelp/blob/3ca2708b4e5190205aca01d65fe1b391963a53f9/company-quickhelp.el#L138
- The automatic Company setup has been removed. Personally I am not a
fan of such auto configuration. It is better if completion is
configured consistently in the user configuration. You may want to
restore the auto configuration for backward compatibility. It depends
on your backward compatibility story. I am fine with rare breaking
changes from time to time.
- There is a cyclic dependency between geiser-edit/geiser-doc and
geiser-completion, which should be untangled.
|
|
|
|
It seems we were abusing comint-dynamic-complete-filename when there's
the perfectly fine comint-filename-completion.
|
|
It is available since Emacs 24.3 and we already depend on Emacs 24.4.
|
|
Restoring what seem reasonable definitions for the completion
functions when called away from the current buffer. Should fix issue
|
|
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.
|
|
|
|
|
|
|
|
|
|
Looks like the arity of that function changed at some point between 24
and 25. It also looks like people still use emacs 24 (see issue #236),
so here we 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.
|
|
.. which seems to be available also in emacs 23.2 (although reports as
to whether it works are mixed), and has better behaviour anyways.
|
|
By means of a new entry in completion-at-point-functions that uses
the handy comint-filename-completion.
|
|
|
|
... using the new non-interning reader. Plus scanning for case-lambda
and syntax-rules. `geiser-syntax--scan-locals' is in danger of
refactoring, specially if we add support for let-values.
|
|
... which interns the symbol in the global obarray: rather unfriendly.
We still need to remove a few calls to that beast, and avoid intern in
the scheme reader.
|
|
... and actually using it to implement geiser-smart-tab-mode. Always
nice to un-reinvent-the-wheel.
|
|
Besides removing code i didn't understand that well, we bring in
goodies such as partial completion. Jolly.
|
|
We have a new "manual lookup" command, and Racket now displays a doc
browser buffer for help with a button activating it. In the process,
we've cleaned-up a little mess in geiser-eval.el and geiser-doc.el,
and refactored the affected Racket modules.
Next in line is providing manual lookup for Guile.
|
|
|
|
|
|
|
|
Tell people that we're trying to complete, sometimes, on two different
prefixes.
|
|
The latter is obsolete since 23.2.
|
|
|
|
|
|
|
|
This allows the implementation decide the concrete structure of the
code sent to the REPL. For instance, it doesn't need to be a single
s-expression, and argument order can be re-arranged.
|
|
- ((foo wasn't being completed
- define-syntax makes its first argument a bound local
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implementations must invoke define-geiser-implementation with an
appropriate set of methods. Simple inheritance is supported. Each
geiser module defines and registers the method names it uses.
|
|
|
|
|
|
|
|
... and say goodbye to the ugly parse partial sexp, reducing not only
sloppy code, but also duplication and data transfers.
|
|
|
|
|
|
|
|
|
|
|
|
* Evaluation system is now pluggable
* The rest of the system understands said pluggability
* Guile provides its own implementation (geiser-guile)
* The reload system is aware of the new kids on the block
|
|
|