summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-impl.el9
-rw-r--r--elisp/geiser-mode.el4
2 files changed, 8 insertions, 5 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index 840d0c1..00fa1ef 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -271,21 +271,20 @@ implementation to be used by Geiser."))
(defun geiser-impl-unload-function ()
(dolist (imp (mapcar 'geiser-impl--impl-feature geiser-impl--impls))
- (when (featurep imp) (unload-feature imp t)))
- t)
+ (when (featurep imp) (unload-feature imp t))))
(defun geiser-impl--reload-implementations (impls)
(dolist (impl impls)
(load-library (format "geiser-%s" impl))))
-(provide 'geiser-impl)
-
-
;;; Initialization:
(eval-after-load 'geiser-impl
'(mapc 'geiser-impl--register
(or geiser-impl-installed-implementations '(guile plt))))
+
+(provide 'geiser-impl)
+
;;; geiser-impl.el ends here
diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el
index e19cb68..cc5a00f 100644
--- a/elisp/geiser-mode.el
+++ b/elisp/geiser-mode.el
@@ -261,6 +261,10 @@ interacting with the Geiser REPL is at your disposal.
(geiser-mode 1)
(when (cdr b) (geiser-impl--set-buffer-implementation (cdr b))))))
+(defun geiser-mode-unload-function ()
+ (dolist (b (geiser-mode--buffers))
+ (with-current-buffer (car b) (geiser-mode nil))))
+
(provide 'geiser-mode)
;;; geiser-mode.el ends here