~ 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