summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-06-19 17:26:16 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-06-19 17:26:16 +0200
commitac30982fe9cf0b9fdde1de4f7e86684a0f688db4 (patch)
tree16b3d796632cf2c92a5e3c843cf96c9873f0ae2e /elisp/geiser-impl.el
parent00dbf12a4326b911d9cc78378754e24000952d75 (diff)
downloadgeiser-ac30982fe9cf0b9fdde1de4f7e86684a0f688db4.tar.gz
geiser-ac30982fe9cf0b9fdde1de4f7e86684a0f688db4.tar.bz2
User command to register scheme implementations (geiser-register-implementation).
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r--elisp/geiser-impl.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index c148920..58cd089 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -234,6 +234,21 @@ implementation to be used by Geiser."))
(geiser-impl--default-implementation)))
+;;; User commands
+
+(defun geiser-register-implementation ()
+ "Register a new Scheme implementation."
+ (interactive)
+ (let ((current geiser-impl-installed-implementations)
+ (impl (geiser-impl--read-impl "New implementation: " nil t)))
+ (unless (geiser-impl--register impl)
+ (error "geiser-%s.el not found in load-path"))
+ (when (and (not (memq impl current))
+ (y-or-n-p "Remember this implementation using customize? "))
+ (customize-save-variable
+ 'geiser-impl-installed-implementations (cons impl current)))))
+
+
;;; Unload support
(defun geiser-impl-unload-function ()