diff options
author | Jonas Bernoulli <jonas@bernoul.li> | 2022-07-14 16:06:12 +0200 |
---|---|---|
committer | Jonas Bernoulli <jonas@bernoul.li> | 2024-07-06 17:37:23 +0200 |
commit | 67f727855895050aca3bcf37066e804dc8f307de (patch) | |
tree | 3259c69d275cdd20b4479eaa469414edf0d0b568 /elisp | |
parent | de52f0e36f1709181c1ce4e787d79208fa2cb870 (diff) | |
download | geiser-67f727855895050aca3bcf37066e804dc8f307de.tar.gz geiser-67f727855895050aca3bcf37066e804dc8f307de.tar.bz2 |
Define autoloads how that is normally done
- 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
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-impl.el | 6 | ||||
-rw-r--r-- | elisp/geiser-mode.el | 6 | ||||
-rw-r--r-- | elisp/geiser-reload.el | 1 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 5 | ||||
-rw-r--r-- | elisp/geiser.el | 50 |
5 files changed, 15 insertions, 53 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el index f95034a..e82c050 100644 --- a/elisp/geiser-impl.el +++ b/elisp/geiser-impl.el @@ -143,9 +143,9 @@ in order to determine its scheme flavour." (push (cons impl file) geiser-impl--load-files))) ;;;###autoload -(progn ;Copy the whole def to the autoloads file. -(defun geiser-activate-implementation (impl) - (add-to-list 'geiser-active-implementations impl))) +(progn ; Copy the whole definition to the autoloads file. + (defun geiser-activate-implementation (impl) + (add-to-list 'geiser-active-implementations impl))) (defsubst geiser-deactivate-implementation (impl) (setq geiser-active-implementations diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index c8a9e0d..d5bfbfb 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -367,6 +367,7 @@ With prefix, try to enter the current buffer's module." (or geiser-mode-string (format " %s" (or (geiser-impl--impl-str) "G")))) +;;;###autoload (define-minor-mode geiser-mode "Toggle Geiser's mode. @@ -395,6 +396,7 @@ interacting with the Geiser REPL is at your disposal. (not (geiser-repl--connection*))) (save-window-excursion (geiser geiser-impl--implementation)))) +;;;###autoload (defun turn-on-geiser-mode () "Enable `geiser-mode' (in a Scheme buffer)." (interactive) @@ -405,10 +407,14 @@ interacting with the Geiser REPL is at your disposal. (interactive) (geiser-mode -1)) +;;;###autoload (defun geiser-mode--maybe-activate () (when (and geiser-mode-auto-p (eq major-mode 'scheme-mode)) (turn-on-geiser-mode))) +;;;###autoload +(add-hook 'scheme-mode-hook 'geiser-mode--maybe-activate) + ;;; Reload support: diff --git a/elisp/geiser-reload.el b/elisp/geiser-reload.el index 25560c6..e3adbdc 100644 --- a/elisp/geiser-reload.el +++ b/elisp/geiser-reload.el @@ -47,6 +47,7 @@ geiser )) +;;;###autoload (defun geiser-unload () "Unload all Geiser modules." (interactive) diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 698a394..6f6cea7 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -1099,20 +1099,24 @@ buffer." ;;; User commands +;;;###autoload (define-obsolete-function-alias 'run-geiser 'geiser "Geiser 0.26") +;;;###autoload (defun geiser (impl) "Start a new Geiser REPL." (interactive (list (geiser-repl--get-impl "Start Geiser for scheme implementation: "))) (geiser-repl--start-repl impl nil)) +;;;###autoload (defun geiser-connect (impl &optional host port) "Start a new Geiser REPL connected to a remote Scheme process." (interactive (list (geiser-repl--get-impl "Connect to Scheme implementation: "))) (geiser-repl--start-repl impl (geiser-repl--read-address host port))) +;;;###autoload (defun geiser-connect-local (impl socket) "Start a new Geiser REPL connected to a remote Scheme process over a Unix-domain socket." @@ -1142,6 +1146,7 @@ over a Unix-domain socket." (define-obsolete-function-alias 'switch-to-geiser 'geiser-repl-switch "0.26") +;;;###autoload (defun geiser-repl-switch (&optional ask impl buffer) "Switch to running Geiser REPL. diff --git a/elisp/geiser.el b/elisp/geiser.el index abcdb94..2790a82 100644 --- a/elisp/geiser.el +++ b/elisp/geiser.el @@ -51,53 +51,12 @@ ;;; Code: -;;; Locations: ;;;###autoload (defconst geiser-elisp-dir (file-name-directory (or load-file-name buffer-file-name)) "Directory containing Geiser's Elisp files.") - -;;; Autoloads: - -;;;###autoload -(autoload 'geiser-unload "geiser-reload" "Unload all Geiser code." t) - -;;;###autoload -(autoload 'geiser-reload "geiser-reload" "Reload Geiser code." t) - -;;;###autoload -(autoload 'geiser "geiser-repl" "Start a Geiser REPL." t) - -;;;###autoload -(autoload 'run-geiser "geiser-repl" "Start a Geiser REPL." t) - -;;;###autoload -(autoload 'geiser-connect "geiser-repl" - "Start a Geiser REPL connected to a remote server." t) - -;;;###autoload -(autoload 'geiser-connect-local "geiser-repl" - "Start a Geiser REPL connected to a remote server over a Unix-domain socket." - t) - -;;;###autoload -(autoload 'geiser-repl-switch "geiser-repl" - "Switch to a running one Geiser REPL." t) - -;;;###autoload -(autoload 'geiser-mode "geiser-mode" - "Minor mode adding Geiser REPL interaction to Scheme buffers." t) - -;;;###autoload -(autoload 'turn-on-geiser-mode "geiser-mode" - "Enable Geiser's mode (useful in Scheme buffers)." t) - -;;;###autoload -(autoload 'turn-off-geiser-mode "geiser-mode" - "Disable Geiser's mode (useful in Scheme buffers)." t) - (autoload 'geiser-activate-implementation "geiser-impl" "Register the given implementation as active.") @@ -120,14 +79,5 @@ geiser-implementation geiser-xref)) - -;;; Setup: - -;;;###autoload -(autoload 'geiser-mode--maybe-activate "geiser-mode") - -;;;###autoload -(add-hook 'scheme-mode-hook #'geiser-mode--maybe-activate) - (provide 'geiser) ;;; geiser.el ends here |