In lineio.scm, in the function make-line-buffering-input-port there is
the following code (I reformated it)
(cond
(buffers
(let ((answer (car buffers)))
(set! buffers (cdr buffers))
answer))
should be
(cond
((not (null? buffers))
(let ((answer (car buffers)))
(set! buffers (cdr buffers))
answer))
and in boot-9.scm there is a definition like this:
(define (and=> value thunk) (and value (thunk value)))
should be
(define (and=> value thunk) (and (not (null? value)) (thunk value)))
All usages of and=> seem to assume that it works as I indicate above,
but someone should probably check, just to make sure. Of course, now
the name is badly chosen. And the thunk isn't one.
-- Robert Strandh--------------------------------------------------------------------- Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. ---------------------------------------------------------------------