~ 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