summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2013-04-21 02:45:28 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2013-04-21 02:45:28 +0200
commitbfa5d426c48a075d1386f4feb8d6833ba6ba1670 (patch)
tree9bf45fdb7612d1485f50fb207e4b51204ff1b8e6
parent8c9313c3976cd8962edc2b5ee95b1168a3e21814 (diff)
downloadgeiser-chez-bfa5d426c48a075d1386f4feb8d6833ba6ba1670.tar.gz
geiser-chez-bfa5d426c48a075d1386f4feb8d6833ba6ba1670.tar.bz2
Fix for Racket compilation error jumping in REPL
The backtraces now display some leading whitespace, which the default compilation-mode regexps was making part of the file name.
-rw-r--r--elisp/geiser-racket.el20
1 files changed, 13 insertions, 7 deletions
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index ef15dc2..0b4f009 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -98,13 +98,6 @@ This function uses `geiser-racket-init-file' if it exists."
(defconst geiser-racket--prompt-regexp "\\(mzscheme\\|racket\\)@[^ ]*> ")
-(defun geiser-racket--startup (remote)
- (if geiser-image-cache-dir
- (geiser-eval--send/wait
- `(:eval (image-cache ,geiser-image-cache-dir) geiser/user))
- (setq geiser-image-cache-dir
- (geiser-eval--send/result '(:eval (image-cache) geiser/user)))))
-
;;; Remote REPLs
@@ -346,6 +339,19 @@ using start-geiser, a procedure in the geiser/server module."
(with-handlers 1)
(with-handlers: 1))
+
+;;; Startup
+
+(defun geiser-racket--startup (remote)
+ (set (make-local-variable 'compilation-error-regexp-alist)
+ `(("^ *\\([^:(\t\n]+\\):\\([0-9]+\\):\\([0-9]+\\):" 1 2 3)))
+ (compilation-setup t)
+ (if geiser-image-cache-dir
+ (geiser-eval--send/wait
+ `(:eval (image-cache ,geiser-image-cache-dir) geiser/user))
+ (setq geiser-image-cache-dir
+ (geiser-eval--send/result '(:eval (image-cache) geiser/user)))))
+
;;; Implementation definition: