~ chicken-core (chicken-5) 1c005515feaec00387bc558e45059be0cbc1dbff
commit 1c005515feaec00387bc558e45059be0cbc1dbff
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Jun 22 14:52:41 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jun 22 14:52:41 2010 +0200
removed dependency on symbol-append in syntax uses in srfi-4.scm
diff --git a/srfi-4.scm b/srfi-4.scm
index 0b09c162..3737893d 100644
--- a/srfi-4.scm
+++ b/srfi-4.scm
@@ -397,8 +397,10 @@ EOF
(define-syntax (list->XXXvector x r c)
(let* ((tag (##sys#strip-syntax (cadr x)))
- (name (symbol-append 'list-> tag))
- (make (symbol-append 'make- tag)))
+ (tagstr (symbol->string tag))
+ (name (string->symbol (string-append "list->" tagstr)))
+ (make (string->symbol (string-append "make-" tagstr)))
+ (set (string->symbol (string-append tagstr "-set!"))))
`(define ,name
(let ((,make ,make))
(lambda (lst)
@@ -409,7 +411,7 @@ EOF
(i 0 (##core#inline "C_fixnum_plus" i 1)) )
((##core#inline "C_eqp" p '()) v)
(if (and (##core#inline "C_blockp" p) (##core#inline "C_pairp" p))
- (,(symbol-append tag '-set!) v i (##core#inline "C_slot" p 0))
+ (,set v i (##core#inline "C_slot" p 0))
(##sys#error-not-a-proper-list lst) ) ) ) )))))
(list->XXXvector u8vector)
@@ -462,7 +464,7 @@ EOF
(define-syntax (XXXvector->list x r c)
(let* ((tag (##sys#strip-syntax (cadr x)))
(alloc? (pair? (cddr x)))
- (name (symbol-append tag '->list)))
+ (name (string->symbol (string-append (symbol->string tag) "->list"))))
`(define (,name v)
(##sys#check-structure v ',tag ',name)
(let ((len (##core#inline ,(conc "C_u_i_" tag "_length") v)))
Trap