summaryrefslogtreecommitdiff
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
commit4487bd0759d997df25b05053b9044dfc056124e1 (patch)
tree99f8a33452b6f9e0c97d9cc9096596c630d50a2d
parentacd64c5d448a614823c296a3e099823a706cb7e9 (diff)
downloadgeiser-guile-4487bd0759d997df25b05053b9044dfc056124e1.tar.gz
geiser-guile-4487bd0759d997df25b05053b9044dfc056124e1.tar.bz2
User command to register scheme implementations (geiser-register-implementation).
-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 ()