~ 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