Update of /cvsroot/scsh/scsh-0.6/scheme/big
In directory usw-pr-cvs1:/tmp/cvs-serv28215/scheme/big
Modified Files:
more-port.scm
Log Message:
Adapted some of Richard's changes for char-ready? and output-port-ready?.
Index: more-port.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scheme/big/more-port.scm,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** more-port.scm 1999/09/14 12:44:55 1.1.1.1
--- more-port.scm 2001/03/23 10:59:07 1.2
***************
*** 96,100 ****
(define tracking-input-port-handler
! (make-port-handler
(lambda (location)
(list 'tracking-port (port-location-sub-port location)))
--- 96,100 ----
(define tracking-input-port-handler
! (make-buffered-input-port-handler
(lambda (location)
(list 'tracking-port (port-location-sub-port location)))
***************
*** 112,120 ****
(else
(update-row-and-column-from-chars! buffer start res location)))
! res))))
(define (make-tracking-input-port port)
(if (input-port? port)
! (let ((new-port (make-input-port tracking-input-port-handler
(make-port-location port)
(make-code-vector default-buffer-size 0)
--- 112,123 ----
(else
(update-row-and-column-from-chars! buffer start res location)))
! res))
! (lambda (port)
! (char-ready? (port-location-sub-port (port-data port))))))
(define (make-tracking-input-port port)
(if (input-port? port)
! (let ((new-port
! (make-buffered-input-port tracking-input-port-handler
(make-port-location port)
(make-code-vector default-buffer-size 0)
***************
*** 130,134 ****
(define tracking-output-port-handler
! (make-port-handler
(lambda (location)
(list 'tracking-port (port-location-sub-port location)))
--- 133,137 ----
(define tracking-output-port-handler
! (make-buffered-output-port-handler
(lambda (location)
(list 'tracking-port (port-location-sub-port location)))
***************
*** 149,153 ****
(update-row-and-column-from-bytes! buffer start count location))
(else
! (update-row-and-column-from-chars! buffer start count location))))))
(define (make-tracking-output-port port)
--- 152,158 ----
(update-row-and-column-from-bytes! buffer start count location))
(else
! (update-row-and-column-from-chars! buffer start count location))))
! (lambda (port)
! (output-port-ready? (port-location-sub-port (port-data port))))))
(define (make-tracking-output-port port)
***************
*** 174,178 ****
(define string-input-port-handler
! (make-port-handler
(lambda (ignore)
(list 'string-input-port))
--- 179,183 ----
(define string-input-port-handler
! (make-buffered-input-port-handler
(lambda (ignore)
(list 'string-input-port))
***************
*** 180,192 ****
(values))
(lambda (ignore buffer start needed)
! (eof-object))))
(define (make-string-input-port string)
(let ((buffer (make-code-vector (string-length string) 0)))
(copy-bytes! string 0 buffer 0 (string-length string))
! (make-input-port string-input-port-handler
! #f ; no additional state needed
! buffer
! 0
(string-length string)))) ; number of bytes available
--- 185,198 ----
(values))
(lambda (ignore buffer start needed)
! (eof-object))
! (lambda (port) #f)))
(define (make-string-input-port string)
(let ((buffer (make-code-vector (string-length string) 0)))
(copy-bytes! string 0 buffer 0 (string-length string))
! (make-buffered-input-port string-input-port-handler
! #f ; no additional state needed
! buffer
! 0
(string-length string)))) ; number of bytes available
***************
*** 220,224 ****
(define string-output-port-handler
! (make-port-handler
(lambda (port)
'(string-output-port))
--- 226,230 ----
(define string-output-port-handler
! (make-buffered-output-port-handler
(lambda (port)
'(string-output-port))
***************
*** 230,234 ****
(cons (cons (full-buffer port thing start count)
count)
! (cdr (port-data port))))))))
(define (full-buffer port thing start count)
--- 236,241 ----
(cons (cons (full-buffer port thing start count)
count)
! (cdr (port-data port))))))
! (lambda (port) #f)))
(define (full-buffer port thing start count)
***************
*** 242,250 ****
(define (make-string-output-port)
! (let ((port (make-output-port string-output-port-handler
! (list #f)
! (make-code-vector default-buffer-size 0)
! 0
! default-buffer-size)))
(set-car! (port-data port) port)
port))
--- 249,258 ----
(define (make-string-output-port)
! (let ((port (make-buffered-output-port
! string-output-port-handler
! (list #f)
! (make-code-vector default-buffer-size 0)
! 0
! default-buffer-size)))
(set-car! (port-data port) port)
port))
***************
*** 265,269 ****
(values))
(lambda (proc char)
! (proc char))))
(define (char-sink->output-port proc)
--- 273,278 ----
(values))
(lambda (proc char)
! (proc char))
! (lambda (port) #t)))
(define (char-sink->output-port proc)
***************
*** 315,319 ****
(else
(buffer-set! buffer start next)
! 1)))))))
(define (buffer-set! buffer index char)
--- 324,333 ----
(else
(buffer-set! buffer start next)
! 1)))))
! (lambda (port)
! (if (or (port-pending-eof? port)
! (source-data-buffer (port-data port)))
! #t
! ((source-data-ready? (port-data port)))))))
(define (buffer-set! buffer index char)
|