aboutsummaryrefslogtreecommitdiff
path: root/module/util/exceptions.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-05-24 22:28:59 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-05-24 22:28:59 +0200
commit96047a6faac92416adba742c6fd55a3eb0df486e (patch)
treedfdf12db2fd378072dc5512758926c30b1690882 /module/util/exceptions.scm
parentTimespan-overlaps? single moment and tests. (diff)
downloadcalp-96047a6faac92416adba742c6fd55a3eb0df486e.tar.gz
calp-96047a6faac92416adba742c6fd55a3eb0df486e.tar.xz
Introduce warnings-are-errors parameter.
Diffstat (limited to 'module/util/exceptions.scm')
-rw-r--r--module/util/exceptions.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/module/util/exceptions.scm b/module/util/exceptions.scm
index a5605e48..3b135c5a 100644
--- a/module/util/exceptions.scm
+++ b/module/util/exceptions.scm
@@ -46,12 +46,16 @@
(lambda (fmt . args)
(format #f "WARNING: ~?~%" fmt args))))
+(define-public warnings-are-errors
+ (make-parameter #f))
;; forwards return from warning-hander. By default returns an unspecified value,
;; but instances are free to provide a proper return value and use it.
(define-public (warning fmt . args)
(display (apply (warning-handler) fmt (or args '()))
- (current-error-port)))
+ (current-error-port))
+ (when (warnings-are-errors)
+ (throw 'warning fmt args)))
(define-public (fatal fmt . args)
(display (format #f "FATAL: ~?~%" fmt (or args '()))