summaryrefslogtreecommitdiff
path: root/elisp/geiser-racket.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-racket.el')
-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: