aboutsummaryrefslogtreecommitdiff
path: root/module/main.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-06-10 22:45:36 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-06-10 22:45:36 +0200
commit17e5ea2dc8928ee66ec5d212ac4b18039b173b1d (patch)
treeab3e23fbd5ca2942443358b96ddb07c7f207a014 /module/main.scm
parent(util config) compiles again. (diff)
downloadcalp-17e5ea2dc8928ee66ec5d212ac4b18039b173b1d.tar.gz
calp-17e5ea2dc8928ee66ec5d212ac4b18039b173b1d.tar.xz
Main error handler how handles different arities.
Diffstat (limited to 'module/main.scm')
-rw-r--r--module/main.scm15
1 files changed, 9 insertions, 6 deletions
diff --git a/module/main.scm b/module/main.scm
index 97256894..aa4a2dac 100644
--- a/module/main.scm
+++ b/module/main.scm
@@ -194,11 +194,14 @@
(lambda () (catch 'return (lambda () (wrapped-main args)) values))
(lambda () (run-hook shutdown-hook))
))
- (lambda (err raiser fmt . args)
- (format #t "Calp has crashed with [~a],
+ (case-lambda
+ ((err raiser fmt . args)
+ (format #t "Calp has crashed with [~a],
~?~%See ~a for full backtrace~%"
- err fmt args (port-filename (logport)))
- (format (logport) "<trace>~%<![CDATA[~%")
- (display-backtrace stack (logport))
- (format (logport) "]]></trace></run>~%"))
+ err fmt args (port-filename (logport)))
+ (format (logport) "<trace>~%<![CDATA[~%")
+ (display-backtrace stack (logport))
+ (format (logport) "]]></trace></run>~%"))
+ ((err . args)
+ (format #t "Calp has crashed with [~a]~%~a~%" err args)))
(lambda _ (set! stack (make-stack #t))))))