~ 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/OTrap