~ 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