diff options
author | Andy Wingo <wingo@pobox.com> | 2021-05-01 20:43:07 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2021-05-01 20:43:07 +0200 |
commit | 3383a2cb10b32b428c28495a84f4e4a40d34c9ee (patch) | |
tree | bcee80306193412c9cc83004e8ab9b5ee3c21b7a /module/ice-9/boot-9.scm | |
parent | 3bce50740737531a3590b2bc5c8d3d5d9bd85706 (diff) | |
download | guile-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.scm | 7 |
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*))) |