readって改行を捨てる?

catを試しに作ったんだけど改行が出力されない。
もしかしてread-line使わないとだめ?

(define (cat . name)
	(define (loop lis)
		(if (null? lis)
			#f
			(begin (print (read (open-input-file (car lis))))
				(loop (cdr lis)))))
	(apply loop name))

(define (main args)
	 (cat (cdr args))
	 0)


出力

$ ./cat.scm cat.scm 
(define (cat . name) (define (loop lis) (if (null? lis) #f (begin (print (read (open-input-file (car lis)))) (loop (cdr lis))))) (apply loop name))