scsh-checkins
[Top] [All Lists]

[Scsh-checkins] CVS: scsh-0.6/scheme/big more-port.scm,1.1.1.1,1.2

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] CVS: scsh-0.6/scheme/big more-port.scm,1.1.1.1,1.2
From: Martin Gasbichler <mainzelm@users.sourceforge.net>
Date: Fri, 23 Mar 2001 02:59:09 -0800
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
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)



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] CVS: scsh-0.6/scheme/big more-port.scm,1.1.1.1,1.2, Martin Gasbichler <=