>>>>> "mak" == mak  <[EMAIL PROTECTED]> writes:

  mak> Given a file with size > MAX-POSITIVE-FIXNUM attempting to
  mak> position to a point at or beyond MAX-POSITIVE-FIXNUM generates
  mak> an error. 

you're right, there was a bug in the stream-handling code that
declared an overly restrictive range for the position parameter. This
is fixed now in CVS.
  
  mak> Is there a fix in the works for this?

there are two areas of work for supporting large files in CMUCL: the
unix interface and the streams code. Release 18e will support files
larger than 2GB on Linux by using the LFS operations in glibc; this
required changes to the Unix interface to use operations like lseek64
instead of lseek, and a switch to 64-bit data structures for things
like file offsets. Other platforms will still be limited to 2GB files.

The second area of work is the streams code (parts of which are a
little crufty): there are places that assume that a file position fits
into a fixnum or an (unsigned-byte 32). This will probably be fixed
before the 18f release.

If you have code that uses large files on Linux, it would be very
useful if you could test the upcoming 18e prerelease binaries, to help
find any remaining bugs.

-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>

Reply via email to