summaryrefslogtreecommitdiff
path: root/module/system/base/compile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/system/base/compile.scm')
-rw-r--r--module/system/base/compile.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/module/system/base/compile.scm b/module/system/base/compile.scm
index e54b4ac05..891902367 100644
--- a/module/system/base/compile.scm
+++ b/module/system/base/compile.scm
@@ -45,9 +45,12 @@
,thunk
(lambda (key loc msg exp)
(if (pair? loc)
- (format (current-error-port)
- "~A:~A: ~A: ~A~%" (car loc) (cdr loc) msg exp)
- (format (current-error-port)
+ (let ((file (or (assq-ref loc 'filename) "unknown file"))
+ (line (assq-ref loc 'line))
+ (col (assq-ref loc 'column)))
+ (format (current-error-port)
+ "~A:~A:~A: ~A: ~A~%" file line col msg exp))
+ (format (current-error-port)
"unknown location: ~A: ~S~%" msg exp)))))