[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bugs in MCL 2.0 Beta. Where to post?



I've just played with MCL 2.0B at school, found a couple of small (but
irksome) bugs and incompatibilities with CLtL2, and don't know where to send
the bug-reports.  

I'll post them in this message, but is this the right place?

First, both (!) branches of this COND get executed!

(defun test-bug ()
  (let ((x 0))
    (multiple-value-bind (na nb)
        (cond ((zerop x)
               (multiple-value-call
                #'values (print 'first) 1))
              (t (values (print 'whoa!) 2)))
       (values na nb))))

Second,

#+foo should be the same as #+:foo

CLtL2, p539, says:

"... the keyword package is the default package during the reading of
a feature specification.  Thus #+spice means the same thing as
#+:spice, ..."

However, #+CCL doesn't find :CCL on *features*, while #+:CCL does.

Third, and in the same vein, the reader shouldn't error when it sees
#+system:cmu, just because the SYSTEM package doesn't exist.  

Finally, I'm not sure that the following is a bug:

In some implementations I've used, FILE-WRITE-DATE returns NIL
when the file doesn't exist (CLtL2, p 655, says "This returns ..... or
NIL if this cannot be determined."  A narrower reading of CLtL would
support the behavior of MCL (erroring when the file doesn't exist),
since FILE-WRITE-DATE should only return NIL if the file exists, but
we still can't get the date.)  However, in the spirit of "Be liberal in
what you accept, and conservative in what you do", maybe
FILE-WRITE-DATE should behave like
 (AND (PROBE-FILE file)
      (FILE-WRITE-DATE file))
which is how I always interpreted CLtL.