Age | Commit message (Collapse) | Author |
|
Playing the trick of checking for eldoc-documentation-functions to
know wheter we're at a new enough version, and (hopefully) falling
back to the old implementation otherwise.
|
|
We remove by-now obsolete usage of eldoc, and depend on the elpa
package to ensure backwards compatibility.
|
|
In some cases, Guile cannot figure out a signature and it comes back
as #f (:t in emacs-land), rather than a list.
|
|
It is available since Emacs 24.3 and we already depend on Emacs 24.4.
|
|
|
|
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.
|
|
It's the convention and by following it we make a big step towards
supporting outline navigation.
|
|
As requested in github issue #173. Seems it's confusing people, which
is exactly the problem it was originally trying to avoid!
|
|
For some X faces, a bold string in the modeline causes emacs to widen it
to two lines, which is kind of annoying. The default value of
font-lock-variable-name-face on color/X displays doesn't include any
boldness, and will probably improve the default experience of new users.
Thanks to Mario Domenech Goulart for noticing this and the previous one!
|
|
|
|
Using called-interactively-p instead of interactive-p, if you have to
know. The latter is deprecated as of Emacs 23.2, which the lowest
version supported by Geiser.
|
|
Autodoc was firing while the REPL was waiting for input of a (read)
call, causing all kinds of misbehaviour. We now inhibit autodoc on
sending a form for evaluation and re-inhibit it once a prompt is read
back again.
|
|
Quoth Mark:
When the Geiser minor mode is toggled off using the command
`geiser-mode', the message:
Toggling eldoc-mode off; better pass an explicit argument.
is displayed in the echo area. This is traceable to line 219:
(eldoc-mode geiser-autodoc-mode)
The function `eldoc-mode' takes numeric arguments, while
`geiser-autodoc-mode' returns boolean values. Here is a
simple patch:
(eldoc-mode (if geiser-autodoc-mode 1 -1))
|
|
|
|
|
|
We cannot consistently maintain a local cache, because of
re-evaluations of external symbols will go unnoticed. The new strategy
(remembering only the latest signatures) mostly works, although it
introduces a bit of extra flickering every now and then.
A global cache is perhaps worth considering.
|
|
Only display an activation message when called interactively.
|
|
|
|
A piece of eldoc advice shamelessly lifted from slime.
|
|
|
|
|
|
It was relying on symbol equality, and not dealing correctly with
keyword arguments in this new external world. In the process, some
cleanups to the scheme data display code.
|
|
We avoid using elisp's read for symbols, reading uninterned ones
instead. And then, we cannot use symbols as keys in responses from
scheme: we're using strings instead.
|
|
We avoid calling symbol-at-point, and keep the cached signatures with
strings as keys.
|
|
We were adding extra spaces to function signatures.
|
|
|
|
|
|
It'd be interesting to check what percentage of commits are related to
autodoc...
|
|
We're being a bit silly here, first converting the autodoc retort
string to an elisp value and then reconverting the arguments again to
a string with scheme syntax. We should probably do this at
geiser-syntax's parser level, with a special mode producing stringy
representations of tokens. Don't tell anyone.
|
|
Simpler (we don't need no square brackets) and more correct (keywords
display as keywords and we only include default values when available
(Guile, i'm looking at you).
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
geiser-reload.
|
|
|
|
Currently put to (let's hope, good) use for context parsing in autodoc
and locals discovery (internal defines are recognised now).
|
|
|
|
|