~ chicken-r7rs (master) 1aa130435699dfb71024c7fcb7ceb29e9574d866


commit 1aa130435699dfb71024c7fcb7ceb29e9574d866
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Fri Aug 2 14:22:59 2013 +0000
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Fri Aug 2 14:22:59 2013 +0000

    Special-case handling of (srfi n) library definitions and imports (reported by Seth Alves)

diff --git a/r7rs-compile-time.scm b/r7rs-compile-time.scm
index 11c1a08..136288c 100644
--- a/r7rs-compile-time.scm
+++ b/r7rs-compile-time.scm
@@ -9,6 +9,11 @@
   (define (fail) (syntax-error loc "invalid library name" name))
   (match name
     ((? symbol?) name)
+    ;; We must replicate the core magic that handles SRFI-55's
+    ;; (require-extension (srfi N)), because we also need to generate
+    ;; SRFI-N library names when defining SRFIs from an R7RS module.
+    (('srfi (and num (? fixnum?)))
+     (string->symbol (string-append "srfi-" (number->string num))))
     ((parts ...)
      (string->symbol
       (string-intersperse 
Trap