~ chicken-core (chicken-5) 26de3cdf72950056b9f503ffc2a52e60e96b086e
commit 26de3cdf72950056b9f503ffc2a52e60e96b086e
Author: Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Sat Jul 12 18:22:17 2014 +0200
Commit: Peter Bex <peter.bex@xs4all.nl>
CommitDate: Sat Jul 12 18:22:17 2014 +0200
Add a few more tests for define-values: internal bindings should "shadow" toplevel ones
diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm
index 40c94704..df0f6074 100644
--- a/tests/syntax-tests.scm
+++ b/tests/syntax-tests.scm
@@ -732,8 +732,9 @@
((_) 1)))
(define (f1) 3)
-(define v1 9)
-(define v2 10)
+(define-values (v1 v2) (values 9 10))
+(define-values (v3 . v4) (values 11 12))
+(define-values v56 (values 13))
(let ()
(define-syntax s2
@@ -741,6 +742,8 @@
((_) 2)))
42
(define-values (v1 v2) (values 1 2))
+ (define-values (v3 . v4) (values 3 4))
+ (define-values v56 (values 5 6))
43
(define (f1) 4)
(define ((f2)) 4)
@@ -748,13 +751,18 @@
(assert (= 4 ((f2))))
(assert (= 2 (s2)))
(assert (= 1 v1))
- (assert (= 2 v2)))
+ (assert (= 2 v2))
+ (assert (= 3 v3))
+ (assert (equal? (list 4) v4))
+ (assert (equal? (list 5 6) v56)))
(assert (= 1 (s2)))
(assert (= 3 (f1)))
(assert (= 9 v1))
(assert (= 10 v2))
-
+(assert (= 11 v3))
+(assert (equal? (list 12) v4))
+(assert (equal? (list 13) v56))
;;; redefining definition forms (disabled, since we can not catch this error easily)
Trap