summaryrefslogtreecommitdiff
path: root/elisp/geiser-repl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-15 19:54:14 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-15 19:54:14 +0100
commite7b2ec5d5d2e9f57840ab08adbbce03ccff48956 (patch)
tree809527b0a37017b3fa7a5a6fe47aef792415fea0 /elisp/geiser-repl.el
parent1af411071098d87188a6a479dd6741c65034de62 (diff)
downloadgeiser-guile-e7b2ec5d5d2e9f57840ab08adbbce03ccff48956.tar.gz
geiser-guile-e7b2ec5d5d2e9f57840ab08adbbce03ccff48956.tar.bz2
Avoing REPL modeline message flickering on redirection.
Diffstat (limited to 'elisp/geiser-repl.el')
-rw-r--r--elisp/geiser-repl.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index dbf277a..5b58a0a 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -67,6 +67,8 @@ REPL buffer."
(defvar geiser-repl--buffer nil
"The buffer in which the Guile REPL is running.")
+(defconst geiser-repl--prompt-regex "^[^() \n]+@([^)]*?)> ")
+
(defun geiser-repl--buffer ()
(if (buffer-live-p geiser-repl--buffer) geiser-repl--buffer
(with-current-buffer (get-buffer-create "*Geiser REPL*")
@@ -83,7 +85,7 @@ REPL buffer."
nil
"-L" (concat geiser-scheme-dir "/guile/") "-q")
(geiser-repl--wait-for-prompt 10000)
- (geiser-con--setup-connection (current-buffer))))
+ (geiser-con--setup-connection (current-buffer) geiser-repl--prompt-regex)))
(defun geiser-repl--process (&optional start)
(or (and (buffer-live-p (geiser-repl--buffer))
@@ -138,7 +140,8 @@ REPL buffer."
(define-derived-mode geiser-repl-mode comint-mode "Geiser REPL"
"Major mode for interacting with an inferior Guile repl process.
\\{geiser-repl-mode-map}"
- (set (make-local-variable 'comint-prompt-regexp) geiser-con--prompt-regex)
+ (set (make-local-variable 'mode-line-process) nil)
+ (set (make-local-variable 'comint-prompt-regexp) geiser-repl--prompt-regex)
(set (make-local-variable 'comint-use-prompt-regexp) t)
(set (make-local-variable 'comint-prompt-read-only) t))