summaryrefslogtreecommitdiff
path: root/elisp/geiser-repl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-13 23:14:47 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-13 23:14:47 +0200
commit369b3e464bded04224ad63416584ba61e798b293 (patch)
treeb9ccbddf933c0212e37457c33a9625272c880f9f /elisp/geiser-repl.el
parent440b40c47d553d53ece268e2988123feaadbb2d6 (diff)
downloadgeiser-chez-369b3e464bded04224ad63416584ba61e798b293.tar.gz
geiser-chez-369b3e464bded04224ad63416584ba61e798b293.tar.bz2
Bug fix: current buffer's impl is used now in switch-to-geiser.
Diffstat (limited to 'elisp/geiser-repl.el')
-rw-r--r--elisp/geiser-repl.el17
1 files changed, 9 insertions, 8 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index 602122b..7c1779a 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -179,17 +179,18 @@ implementation name gets appended to it."
With prefix argument, ask for which one if more than one is running.
If no REPL is running, execute `run-geiser' to start a fresh one."
(interactive "P")
- (let* ((repl (cond ((and (not ask) (not impl)
+ (let* ((impl (or impl geiser-impl--implementation))
+ (repl (cond ((and (not ask) (not impl)
(or (geiser-repl--this-buffer-repl)
(car geiser-repl--repls))))
- ((and (not ask) impl (geiser-repl--repl/impl impl)))
- ((= 1 (length geiser-repl--repls)) (car geiser-repl--repls))))
- (impl (or impl (and (not repl)
- (or (and (not ask)
- (geiser-repl--only-impl-p))
- (geiser-repl--read-impl "Switch to scheme REPL: ")))))
+ ((and (not ask) impl (geiser-repl--repl/impl impl)))))
(pop-up-windows geiser-repl-window-allow-split))
- (if repl (pop-to-buffer repl) (run-geiser impl))))
+ (if repl
+ (pop-to-buffer repl)
+ (run-geiser (or impl
+ (and (not ask)
+ (geiser-repl--only-impl-p))
+ (geiser-repl--read-impl "Switch to scheme REPL: "))))))
(defalias 'geiser 'switch-to-geiser)