summaryrefslogtreecommitdiff
path: root/module/srfi
diff options
context:
space:
mode:
authorTim Gesthuizen <tim.gesthuizen@yahoo.de>2019-12-03 18:50:37 +0100
committerAndy Wingo <wingo@pobox.com>2020-01-12 22:18:41 +0100
commit1733efe236092f2e1a738bfd98029b6c9e4035cf (patch)
tree1101026e883a95fceec910c42bc02ca011896a00 /module/srfi
parent7726ed7423427043b7cd85715129a91333221635 (diff)
downloadguile-1733efe236092f2e1a738bfd98029b6c9e4035cf.tar.gz
srfi-11: Do not expose variables to later clauses
The current implementation of srfi-11s let-values allows later clauses to access and modify variables bound in earlier clauses when the clause is not a proper list. * module/srfi/srfi-11.scm (let-values): Fix switched variable names. * test-suite/tests/srfi-11.test (let-values): Add test checking that the variable cannot be changed in later clauses.
Diffstat (limited to 'module/srfi')
-rw-r--r--module/srfi/srfi-11.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/srfi/srfi-11.scm b/module/srfi/srfi-11.scm
index 22bda21a2..7afac9c5f 100644
--- a/module/srfi/srfi-11.scm
+++ b/module/srfi/srfi-11.scm
@@ -91,7 +91,7 @@
(syntax (call-with-values (lambda () exp)
(lambda (new-tmp ...) inner))))))
((vars exp)
- (with-syntax ((((new-tmp . new-var) ...)
+ (with-syntax ((((new-var . new-tmp) ...)
(let lp ((vars (syntax vars)))
(syntax-case vars ()
((id . rest)