summaryrefslogtreecommitdiff
path: root/module/ice-9/boot-9.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2021-05-01 20:43:07 +0200
committerAndy Wingo <wingo@pobox.com>2021-05-01 20:43:07 +0200
commit3383a2cb10b32b428c28495a84f4e4a40d34c9ee (patch)
treebcee80306193412c9cc83004e8ab9b5ee3c21b7a /module/ice-9/boot-9.scm
parent3bce50740737531a3590b2bc5c8d3d5d9bd85706 (diff)
downloadguile-3383a2cb10b32b428c28495a84f4e4a40d34c9ee.tar.gz
Fix bug for read-syntax on ( . args)
* module/ice-9/boot-9.scm: Capture syntax?. * module/ice-9/read.scm (read-syntax): Avoid re-annotating objects. * test-suite/tests/reader.test ("read-syntax"): Add test.
Diffstat (limited to 'module/ice-9/boot-9.scm')
-rw-r--r--module/ice-9/boot-9.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 251fedaa4..944061707 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -4656,8 +4656,11 @@ R7RS."
;;;
(call-with-values (lambda ()
- (include-from-path "ice-9/read.scm")
- (values read read-syntax))
+ ;; Capture syntax? binding, later removed from root
+ ;; module.
+ (let ((syntax? syntax?))
+ (include-from-path "ice-9/read.scm")
+ (values read read-syntax)))
(lambda (read* read-syntax*)
(set! read read*)
(set! read-syntax read-syntax*)))