summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
AgeCommit message (Collapse)Author
2024-07-06Define autoloads how that is normally doneJonas Bernoulli
- Avoid defining autoload definitions in a central location. Instead add autoload cookies to the forms/definitions that should be autoloaded, in the locations where the actual definitions are located. - Do this for `geiser-mode', `turn-on-geiser-mode', `geiser-mode--maybe-activate' (including adding that to `scheme-mode-hook'), `geiser', `geiser-connect', `geiser-connect-local' and `geiser-repl-switch'. - Also do this for `run-geiser', even though it is only an obsolete function alias for `geiser', which might make it desirable to drop the autoload altogether. Some unusual autoload definitions remain in "geiser.el", see below. - One issue with defining autoloads in a central location is that it is easy to forget to remove such autoloads when the real definition is removed. No longer autoload `geiser-version' because since [1: 847d2ad] there no longer exists a proper definition of that function. - No longer autoload `geiser-unload', `geiser-reload' and `turn-off-geiser-mode', because they are only useful if Geiser has already been loaded, at which point any autoloaded definitions are no longer relevant. However, - Keep autoloading `geiser-activate-implementation' and `geiser-implementation-extension', even though I doubt that this is actually useful. - Keep using `custom-add-load' to specify dependencies of Custom groups and keep autoloading that. I don't know if this is actually necessary, and while it seems really weird, it might served a legit purpose, that I am not aware of. 1: 2020-07-19 847d2ad4c6da462c26c50af1ef7d9cd697f3a5d2 scheme and autotools removals
2024-07-06Cleanup library headersJonas Bernoulli
- In the summary line, use three dashes to separate the file name from the summary. That is the convention, which some tools depend on, and for some libraries we already did it here too. - Capitalize the first word in the summary. That is the convention, and for some libraries we already did it here too. - For libraries that have a commentary, make sure it is placed in a "Commentary:" section. - Make sure the "Code:" heading, which separates the header from the code part of the library, exists in all files.
2022-11-30make autoloads more lazy (Stefan Monnier)jao
Thanks to Stefan's patience and actual implementation, we now don't load all of geiser-impl.el and its dependencies just because there's a call geiser-activate-implementation in geiser-<impl>-autoloads.el.
2022-11-26Make geiser-activate-implementation a defun to fix autoloading.Matt Armstrong
See issue #47.
2022-08-25run-geiser obsoleted (just use M-x geiser)jao
2022-08-25New geiser-repl-switch[-to-module] obsoleting switch-to-geiser[module]jao
2022-01-28Back to using a real lambda value rather than a listjao
Thanks again to Stefan for a useful discussion.
2022-01-28geiser-impl--normalize-method: quick fix for previous changejao
I haven't fully understood why, the two versions seem at first sight equivalent, but they're not behaving equivalently.
2022-01-27geiser-impl: linting and lexical binding (Stefan Monnier)jao
2021-04-21Use defvar-localJonas Bernoulli
It is available since Emacs 24.3 and we already depend on Emacs 24.4.
2021-04-16New public api for registering file extensionsjao
2021-04-16fix for doom emacsChris McClellen
2021-04-04empty geiser-active-implementationsjao
2020-12-02Improve doc-strings of some optionsJonas Bernoulli
The whole first sentence should fit on the first line. If that makes the line a bit long then that is unfortunate but better than wrapping it onto a new line. When wrapping onto a new line anyway then the second line should never be intended. When it can be avoided, then long first lines should be made shorter.
2020-03-27Fix indentationJonas Bernoulli
2020-03-27Mark the beginning of code part of elisp libraries with Code: headingJonas Bernoulli
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.
2020-03-27Begin the summary lines of all elisp libraries with three semicolonsJonas Bernoulli
It's the convention and by following it we make a big step towards supporting outline navigation.
2020-03-16define-geiser-implementation - un-unquote load-file-namespellcard199
2019-08-20WIP gambit support first draftmathieu2em
2019-06-24Fix: use default method implementationsJose Antonio Ortega Ruiz
See discussion in issue !256.
2016-11-26fix malformed argument lists.Peter Wang
Emacs trunk does not support arguments list like (lambda (&rest) nil) anymore, which breaks geiser and errors with "Invalid function: "
2016-10-10chez, chibi and mit belong into geiser-active-implementationsJose Antonio Ortega Ruiz
At least by default.
2015-09-10Moving implementation loading to geiser-repl (#82)Jose Antonio Ortega Ruiz
That way we avoid circularities in the load graph, always a good thing.
2015-09-10Redundant provide in define-geiser-implementationJose Antonio Ortega Ruiz
This is gone now, since we're diligent enough to always end our impl definitions with an explicit provide form. See PR #87 for a bit of discussion.
2015-02-09Documentation updates and nits for FreijaJose Antonio Ortega Ruiz
Preparing the release of 0.7, which will feature support for Chicken thanks to Dan and Freija!
2015-02-09Initial Chicken supportDan Leslie
2013-03-01Configurable keyword case sensitivityJose Antonio Ortega Ruiz
By default, keywords are now not fontified in Scheme buffers unless they have the correct (lower) case. This behaviour can be altered by new, per-implementation customization variables. Thanks to Diogo F. S. Ramos for pointing this out.
2012-10-11WhitespaceJose Antonio Ortega Ruiz
2010-11-26Revert "Bug fix: don't intern symbols read by scheme reader"Jose Antonio Ortega Ruiz
This reverts commit 801422d1558f488059ede4f9abab5163ca610900. We cannot blindly substitute make-symbol for intern in the scheme reader, because we rely on symbol equality elsewhere, often. The fix will have to be much more careful.
2010-11-26Bug fix: don't intern symbols read by scheme readerJose Antonio Ortega Ruiz
We were calling `intern' instead of `make-symbol', polluting emacs' obarray.
2010-11-15CLism removedJose Antonio Ortega Ruiz
copy-list is from cl.
2010-11-15REPL: sexpy history file (fix for #30269)Jose Antonio Ortega Ruiz
The trick consists on using a comint-input-ring-separator that is *not* a newline, both for reading and writing the history file.
2010-11-14Better geiser-implementation-help (for Geiser hackers)Jose Antonio Ortega Ruiz
2010-11-14Documentation for define-geiser-implementationJose Antonio Ortega Ruiz
You don't really care unless you're a Geiser hacker (as opposed to a hacker using Geiser), or wanna become one.
2010-11-14geiser-implementation-help, for Geiser hackersJose Antonio Ortega Ruiz
This interactive command will list all method needed to define a new Scheme implementation in Geiser, together with their callers and doc strings. Although i know very few additional schemes meta-dynamic enough to be supported by Geiser (actually, just one: scheme48), one never knows (there was a time when i thought that PLT Scheme wasn't in the list).
2010-08-31Make geiser-mode ask which scheme on activation if guessing failsJose Antonio Ortega Ruiz
2010-07-31Making geiser-scheme-implementation work as advertised.Jose Antonio Ortega Ruiz
2010-07-25Tweaks to scheme implementation selection, and docs for it.Jose Antonio Ortega Ruiz
2010-06-14Refactoring.Jose Antonio Ortega Ruiz
2010-06-14Generic support for menus.Jose Antonio Ortega Ruiz
2010-05-24Racket: PLT implementation renamed to Racket.Jose Antonio Ortega Ruiz
2010-03-07Bug fix: remember debugger settings in geiser-repl-nuke.Jose Antonio Ortega Ruiz
2010-01-28Generic support for debugging prompts in the REPLJose Antonio Ortega Ruiz
2009-11-12Bug fix: links in documentation buffers work again.Jose Antonio Ortega Ruiz
* elisp/geiser-impl.el (with--geiser-implementation): macro was not setting the implementation environment correctly.
2009-09-26Letting implementations define their own file pattern matching rules.Jose Antonio Ortega Ruiz
2009-09-26Bug fix: proper handling of implementation methods specified as variables.Jose Antonio Ortega Ruiz
2009-09-24Assignment of ss files to plt as a customization.Jose Antonio Ortega Ruiz
2009-09-23Bug fix: correct generation of per implementation switch-to functions.Jose Antonio Ortega Ruiz
2009-09-22New implementation registration mechanism, for the elisp side of things.Jose Antonio Ortega Ruiz
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.
2009-09-11Reload: we now remember user customizations and restore them during ↵Jose Antonio Ortega Ruiz
geiser-reload.