diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2011-03-05 13:28:34 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2011-03-05 13:28:34 +0100 |
commit | 0e8be474273d6a515622334a16f2b0d34024e934 (patch) | |
tree | cee3dd9830ddb2e8fd11dea3415f8e9ff0d2df21 | |
parent | 1177482fcd38d4150b5d33ddc42eb10f8a8e6b9b (diff) | |
download | geiser-guile-0e8be474273d6a515622334a16f2b0d34024e934.tar.gz geiser-guile-0e8be474273d6a515622334a16f2b0d34024e934.tar.bz2 |
Bug fix: honour geiser-repl-use-other-window
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | doc/repl.texi | 4 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 16 |
3 files changed, 17 insertions, 8 deletions
@@ -8,12 +8,13 @@ Bug fixes: + - We no longer ignore geiser-repl-use-other-window. - Company mode integration fixes (including #32231). - M-x geiser-edit-module in REPL buffers fixed. - We now respect user customizations of geiser-implementations-alist. - Interaction with Guile's debugger fixed. - - Navigable paths in warnings buffer for Guile 2.0. - - Fix for errors when entering R5RS modules in Racket. + - "Clickable" paths in warnings buffer also for Guile 2.0. + - Fix for errors when entering r5rs modules in Racket. * Version 0.1.1 (Jan 24, 2011) diff --git a/doc/repl.texi b/doc/repl.texi index feb47c4..b01295d 100644 --- a/doc/repl.texi +++ b/doc/repl.texi @@ -26,7 +26,9 @@ the supported implementations you want to launch---yes, you can stop the asking, see @altr{active-implementations,below,Customization and tips,.} Tabbing for completion will offer you, as of this writing, @code{guile} and @code{racket}. Just choose your poison, and a new REPL buffer will -pop up. +pop up (by default, the REPL will appear in a new window: if that annoys +you, just set @code{geiser-repl-use-other-window} to @code{nil} and the +current window will be used). @imgc{repls} diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index fd274a7..b69c64f 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -183,6 +183,13 @@ module command as a string") (defsubst geiser-repl--repl-name (impl) (format "%s REPL" (geiser-impl--impl-str impl))) +(defun geiser-repl--switch-to-buffer (buffer) + (unless (eq buffer (current-buffer)) + (let ((pop-up-windows geiser-repl-window-allow-split)) + (if geiser-repl-use-other-window + (switch-to-buffer-other-window buffer) + (switch-to-buffer buffer))))) + (defun geiser-repl--to-repl-buffer (impl) (unless (and (eq major-mode 'geiser-repl-mode) (not (get-buffer-process (current-buffer)))) @@ -190,7 +197,7 @@ module command as a string") (old (and (buffer-live-p old) (not (get-buffer-process old)) old))) - (pop-to-buffer + (geiser-repl--switch-to-buffer (or old (generate-new-buffer (format "* %s *" (geiser-repl--repl-name impl))))) @@ -597,13 +604,12 @@ If no REPL is running, execute `run-geiser' to start a fresh one." ((and (not ask) (not in-repl) impl - (geiser-repl--repl/impl impl))))) - (pop-up-windows geiser-repl-window-allow-split)) + (geiser-repl--repl/impl impl)))))) (cond ((or in-live-repl (and (eq (current-buffer) repl) (not (eq repl buffer)))) (when (buffer-live-p geiser-repl--last-scm-buffer) - (pop-to-buffer geiser-repl--last-scm-buffer))) - (repl (pop-to-buffer repl)) + (geiser-repl--switch-to-buffer geiser-repl--last-scm-buffer))) + (repl (geiser-repl--switch-to-buffer repl)) ((geiser-repl--remote-p) (geiser-connect impl)) (t (run-geiser impl))) (when (and buffer (eq major-mode 'geiser-repl-mode)) |