summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-08-23 22:35:24 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-08-23 22:35:24 +0200
commit833d2df2593dd391f3f88f722d90f6c64ac83ea5 (patch)
tree138ac91ca5f185679d32be506c92b94d608c0f51
parentbd998e8d6ed692a6d08d5f06f2d7dd55191e7a20 (diff)
downloadgeiser-chez-833d2df2593dd391f3f88f722d90f6c64ac83ea5.tar.gz
geiser-chez-833d2df2593dd391f3f88f722d90f6c64ac83ea5.tar.bz2
fixes for geiser-unload.
-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