- (else (read-word (read-byte) (append w (cons (integer->char c) '())) a))))
- ((eq? c 39) (if (null? w) (cons (lookup (cons (integer->char c) '()) a)
- (cons (read-word (read-byte) w a) '()))
+ ((eq? (peek-byte) 44)
+ (read-byte)
+ (cond ((eq? (peek-byte) 64)
+ (read-byte)
+ (cons (lookup (symbol->list (quote unsyntax-splicing)) a)
+ (cons (read-word (read-byte) w a) (list))))
+ (else
+ (cons (lookup (symbol->list (quote unsyntax)) a)
+ (cons (read-word (read-byte) w a) (list))))))
+ ((eq? (peek-byte) 39) (read-byte)
+ (cons (lookup (cons (integer->char 35) (cons (integer->char 39) (list))) a)
+ (cons (read-word (read-byte) w a) (list))))
+ ((eq? (peek-byte) 96) (read-byte)
+ (cons (lookup (cons (integer->char 35) (cons (integer->char 96) (list))) a)
+ (cons (read-word (read-byte) w a) (list))))
+ (else (read-word (read-byte) (append2 w (cons (integer->char c) (list))) a))))
+ ((eq? c 39) (if (null? w) (cons (lookup (cons (integer->char c) (list)) a)
+ (cons (read-word (read-byte) w a) (list)))