~ chicken-core (chicken-5) f482b11e64e1959b232aab7f1d77d343aa63f602
commit f482b11e64e1959b232aab7f1d77d343aa63f602 Author: megane <meganeka@gmail.com> AuthorDate: Sun Mar 31 16:04:49 2019 +0300 Commit: Peter Bex <peter@more-magic.net> CommitDate: Sun Mar 31 16:11:59 2019 +0200 Try to print original expressions harder in type messages * tests/scrutiny.expected: Here the original expression was (+ (+ (+ (+ 3)))) which was incorrectly printed as fully folded 3. * scrutinizer.scm (source-node-tree): Calling source-node for sub-expressions only handles one level. Call source-node-tree recursively instead. Signed-off-by: Peter Bex <peter@more-magic.net> diff --git a/scrutinizer.scm b/scrutinizer.scm index 60f0f04c..7ceb8302 100644 --- a/scrutinizer.scm +++ b/scrutinizer.scm @@ -1719,7 +1719,7 @@ (lambda (n*) (make-node (node-class n*) (node-parameters n*) - (map source-node (node-subexpressions n*)))))) + (map source-node-tree (node-subexpressions n*)))))) (define (node-line-number n) (node-debug-info (source-node n))) diff --git a/tests/scrutiny.expected b/tests/scrutiny.expected index 2134026c..2396a539 100644 --- a/tests/scrutiny.expected +++ b/tests/scrutiny.expected @@ -30,7 +30,7 @@ Warning: Branch values mismatch In procedure `foo', In conditional expression: - (if x (scheme#values 1 2) (scheme#values 1 2 3)) + (if x (scheme#values 1 2) (scheme#values 1 2 (scheme#+ (scheme#+ ...)))) The branches have different numbers of values. @@ -40,7 +40,7 @@ Warning: Branch values mismatch The false branch returns 3 values: - (scheme#values 1 2 (scheme#+ 3)) + (scheme#values 1 2 (scheme#+ (scheme#+ (scheme#+ ...)))) Warning: Invalid argument In file `scrutiny-tests.scm:XXX',Trap