~ chicken-core (master) 41f5311b61eccc8abdba415ca4cbc1bf691cbfc7
commit 41f5311b61eccc8abdba415ca4cbc1bf691cbfc7
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Aug 24 12:38:55 2026 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Mon Aug 24 12:38:55 2026 +0200
handle "all" (#t) as export list when registering export
This could happen when using "export-all" in a "define-library" definition.
diff --git a/NEWS b/NEWS
index 3709c56a..628ba16a 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,11 @@
methods for reading bytevectors in custom input ports.
- Fixed implementation of `read-buffered' for string input-ports.
+- Syntax expander
+ - Fixed bug in handling of "export-all" library declaration which caused
+ the expansion of "define-library" to fail with an error.
+
+
6.0.0
- Core libraries
diff --git a/modules.scm b/modules.scm
index dfd58c4b..ec1d109d 100644
--- a/modules.scm
+++ b/modules.scm
@@ -214,7 +214,8 @@
;; ("gruesome hack", part 2)
(and-let* ((dummy (##sys#get name '##r7rs#module)))
(unless (eq? sym dummy)
- (cond ((memq sym el))
+ (cond ((eq? #t el))
+ ((memq sym el))
((find-dummy dummy el) =>
(lambda (dummylist)
(set-cdr! dummylist (cons sym (cdr dummylist))))))))
Trap