~ 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