summaryrefslogtreecommitdiff
path: root/elisp
AgeCommit message (Collapse)Author
2024-07-06Replace a button type with two new typesJonas Bernoulli
That results in less code and less confusing indirection.
2024-07-06Buttons live in their own namespaceJonas Bernoulli
`geiser-doc--xbutton' will be tackled in the next commit.
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.
2024-07-06Define geiser--feature-list as a variableJonas Bernoulli
Defining it as a macro, as it was done from the start, is just weird.
2024-07-06geiser-elisp-dir: Fallback to buffer-file-nameJonas Bernoulli
This makes it possible to `eval-buffer' the buffer defining this constant. Not that doing so makes all that much sense, but I tried doing it before reading its content, because generally speaking that is a sensible thing to do, at least for someone working on the code.
2024-07-06Define ring-member immediately if necessaryJonas Bernoulli
Right above the changed lines we require `ring'. It is therefore not necessary to delay evaluation until `ring' has been loaded; we know it has already been loaded.
2024-07-05further clarifications re geiser-customjao
A note on why we won't use the mapatom trick to make geiser-custom--defcustom obsolete while still preserving geiser-reload functionality (cf. !22).
2024-07-05clarifications on geiser-custom--defcustomjao
In particular, removing a misleading FIXME comment that led to merge proposal !22, and adding comments explaining why those changes would alter geiser-reload's behaviour.
2024-05-23changelog and version bump0.31jao
2024-05-23fix: message takes a format string as first argumentjao
2024-05-22Combine let bindingsEliza Velasquez
2024-05-21Log more unexpected output from REPLEliza Velasquez
When a transmission queue request successfully completes and the REPL prints a return value, it skips over unexpected and potentially meaningful output. Given that geiser:eval captures standard out, this output may contain warning or error messages. This PR captures and logs this extra output instead of discarding it.
2024-02-08geiser-edit: new customization groupjao
Fixes issue #20
2024-02-08geiser-mode: redundant custom groupsjao
2024-01-15Merge commit 'refs/pullreqs/20'jao
2024-01-15edit: Add geiser-insert-actual-lambda.Tomas Volf
Some projects use λ, some use lambda, and it is convenient to be able to use the same mapping engraved into muscle memory for both. Therefore this commit adds a new variable that allow geiser-insert-lambda to do both, depending on the value. * elisp/geiser-edit.el (geiser-insert-actual-lambda): New variable. (geiser-insert-lambda): Respect it.
2024-01-13non-existent geiser-version removed from autoloads (fixes #64)jao
2023-12-15version bump and changelog0.30jao
2023-12-15Silence byte-compilerJonas Bernoulli
`dotimes' has a defect (and a fixme which is over a decade old) that causes a bogus (though technically correct) warning about VAR being unused, if RESULT is not omitted but does not use VAR.
2023-12-15Silence byte-compilerJonas Bernoulli
In Emacs 30: lib/geiser/elisp/geiser-compile.el:19:11: Warning: ‘make-network-process´ called without required keyword argument :service This seems to be a false-positive, but I am not sure.
2023-12-15Use lexical-bindingJonas Bernoulli
Emacs 30.0.50 has started to warn when this variable isn't set, presumably so that the default can be changed from nil to t in a few years. I see no reason not to use lexical-binding.
2023-11-11fix: repl: Make whitespace case more preciseValentin Herrmann
2023-10-01fix: better error message for symbol not found on M-.jao
2023-09-23Use delete-char instead of delete-backward-char.Antero Mejr
The bytecode compiler complains because delete-backward-char is an interactive function.
2023-09-22Formatting nitsjao
2023-09-22Add geiser-repl-superparen-mode minor mode.Antero Mejr
Disabled by default. Adds new custom variables "geiser-repl-superparen-character" and "geiser-repl-superparen-mode-p".
2023-08-06new version: require emacs 27.10.29.1jao
2023-07-19version bump0.29jao
2023-07-14Fix typosJonas Bernoulli
2023-05-03Address byte-compiler warningJonas Bernoulli
Warning: ‘backward-delete-char’ is for interactive use only; use ‘delete-char’ instead.
2023-05-03Correct typo that breaks geiser-repl-autoeval-mode.Antero Mejr
"geiser-repl-autoeval-delay" should be "geiser-repl-autoeval-mode-delay".
2023-04-22Add geiser-repl-autoeval-mode minor mode.Antero Mejr
Disabled by default. Adds new custom variables "geiser-repl-autoeval-mode-delay" and "geiser-repl-autoeval-mode-p".
2023-03-05Dead code eliminationjao
2023-03-05Avoid global state in sychronous evaluationsjao
Fixes #60, as diagnosed and solved by Fabian Brosda: if an implementation is fast enough, new evaluations can override the result of eval/wait before it is used (this seems to be the case during completion).
2023-02-28Look for existing REPLs when compiling for the first timejao
Should provide a better fix for extended issue #58.
2023-02-23Remember REPL buffers opened with C-c C-zjao
This should take care of the problem reported in issue #58.
2023-01-20Add more Tramp support.Brian Cully
* geiser-compile-file * geiser-compile-current-buffer * geiser-load-current-buffer * geiser-add-to-load-path
2022-12-25version bump0.28.2jao
2022-12-25Fix: correctly invoke geiser-repl-startup-hookjao
Fixes #57.
2022-12-05Take the byte-compilers advice into accountJonas Bernoulli
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-27version bump0.28.1jao
2022-11-26Make geiser-activate-implementation a defun to fix autoloading.Matt Armstrong
See issue #47.
2022-11-26Remove duplicate 'geiser autoload.Matt Armstrong
2022-11-15spurious transient requirejao
2022-11-04version bump0.28jao
2022-11-01requiring subr-x at compile time for older emacsenjao
2022-10-29geiser-doc: support for elisp-cooked docstringsjao
2022-10-24geiser-debug: ensure next-error buffer and buttonize outputjao