Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    d689646f
    Fix file-position bug in trac #36. We add an array to keep track of · d689646f
    rtoy authored
    the octets consumed for each character.  This array is used to figure
    out the file position.  Some tests comparing this scheme indicates a
    very small slowdown of about 1%, so this seems not to hurt.
    
    Use a cross-compile using the 2010-07 snapshot to build this.  (Same
    procedure as used to build the 20b-pre1 release.)
    
    struct.lisp:
    o Add new slot OCTET-COUNT to LISP-STREAM to hold the array of octets
      per character.
    
    extfmts.lisp:
    o Add OCTETS-TO-STRING-COUNTED, which is like OCTETS-TO-STRING, except
      we need an array in which to store the number of octets consumed for
      each character processed.
    
    fd-stream.lisp:
    o Create the octet-count array creating the lisp stream string buffer.
    o In FD-STREAM-FILE-POSITION, use the octet count to count the number
      of octets that have been read but not yet returned to the user.
    
    stream.lisp:
    o Use OCTETS-TO-STRING-COUNTED instead of OCTETS-TO-STRING so we keep
      track of octet length of each character processed.
    d689646f
    History
    Fix file-position bug in trac #36. We add an array to keep track of
    rtoy authored
    the octets consumed for each character.  This array is used to figure
    out the file position.  Some tests comparing this scheme indicates a
    very small slowdown of about 1%, so this seems not to hurt.
    
    Use a cross-compile using the 2010-07 snapshot to build this.  (Same
    procedure as used to build the 20b-pre1 release.)
    
    struct.lisp:
    o Add new slot OCTET-COUNT to LISP-STREAM to hold the array of octets
      per character.
    
    extfmts.lisp:
    o Add OCTETS-TO-STRING-COUNTED, which is like OCTETS-TO-STRING, except
      we need an array in which to store the number of octets consumed for
      each character processed.
    
    fd-stream.lisp:
    o Create the octet-count array creating the lisp stream string buffer.
    o In FD-STREAM-FILE-POSITION, use the octet count to count the number
      of octets that have been read but not yet returned to the user.
    
    stream.lisp:
    o Use OCTETS-TO-STRING-COUNTED instead of OCTETS-TO-STRING so we keep
      track of octet length of each character processed.