~ chicken-core (chicken-5) c344ffbc405cfb120b6e687839a1f070de51afb3
commit c344ffbc405cfb120b6e687839a1f070de51afb3
Author: Christian Kellermann <ckeen@pestilenz.org>
AuthorDate: Sun Sep 25 11:58:02 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Mon Sep 26 15:40:14 2011 +0200
replace write-line calls to display with internal procedures.
Signed-off-by: felix <felix@call-with-current-continuation.org>
diff --git a/extras.scm b/extras.scm
index bb9e4343..3be95cc3 100644
--- a/extras.scm
+++ b/extras.scm
@@ -134,13 +134,14 @@
(define write-line
(lambda (str . port)
- (let ((p (if (##core#inline "C_eqp" port '())
- ##sys#standard-output
- (##sys#slot port 0) ) ) )
- (##sys#check-port p 'write-line)
+ (let* ((p (if (##core#inline "C_eqp" port '())
+ ##sys#standard-output
+ (##sys#slot port 0) ) ))
+ (##sys#check-port* p 'write-line)
+ (##sys#check-port-mode p #f 'write-line)
(##sys#check-string str 'write-line)
- (display str p)
- (newline p) ) ) )
+ ((##sys#slot (##sys#slot p 2) 3) p str) ; write-string method
+ (##sys#write-char-0 #\newline p))))
;;; Extended I/O
Trap