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

Re: Compiler Bug



(defun foo (x)
   (let (((a b c) x))
      (cond ((probef a)
	     (list a b c))
	    (t nil))))

If FOO is called on a three-element list whose first element is the name
of an existing file, FOO should return a copy of that list.  But if
FOO is compiled with XC (907, in Lisp 1984) the resulting compiled function
returns the wrong value, e.g. (foo '(|lisp;defvst fasl| 1 2)) should
return (|lisp;defvst fasl| 1 2) but in fact returns
(|lisp;defvst fasl| |lisp;defvst fasl| 2).