~ chicken-core (chicken-5) 540aa92e8c77af8a6f94d98c0ff39b36dffa0434
commit 540aa92e8c77af8a6f94d98c0ff39b36dffa0434 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Apr 24 12:36:16 2012 +0200 Commit: Peter Bex <peter.bex@xs4all.nl> CommitDate: Wed Apr 25 21:18:54 2012 +0200 prepend line-number in error message generated by assert only if literal string is given Signed-off-by: Peter Bex <peter.bex@xs4all.nl> diff --git a/chicken-syntax.scm b/chicken-syntax.scm index 2ea70727..968aab25 100644 --- a/chicken-syntax.scm +++ b/chicken-syntax.scm @@ -172,16 +172,11 @@ (lambda (form r c) (##sys#check-syntax 'assert form '#(_ 1)) (let* ((exp (cadr form)) - (ln (get-line-number form)) (msg-and-args (cddr form)) - (msg (if (null? msg-and-args) - "assertion failed" - (let ((msg-str (car msg-and-args))) - (##sys#check-string msg-str 'assert) - msg-str))) - (msg (if ln - (string-append "(" ln ") " msg) - msg))) + (msg (optional msg-and-args "assertion failed"))) + (when (string? msg) + (and-let* ((ln (get-line-number form))) + (set! msg (string-append "(" ln ") " msg)))) `(##core#if (##core#check ,exp) (##core#undefined) (##sys#errorTrap