comm.lisp rev 1.39 issue?



Am Sonntag, den 21.02.2010, 13:49 -0500 schrieb Raymond Toy:
> I've been building maxima with a soon-to-be-released version of cmucl,
> the tests fail.  First first test in rtest6a fails because $dependencies
> is somehow set to ((mlist simp) 0 . 0), which is not a proper list.
> 
> I don't understand why this happens with this new version or how
> $dependencies becomes that.
> 
> But looking at comm.lisp, I notice that currently i-$dependencies has:
> 
> (unless (cdr $dependencies)
>   (setq $dependencies '((mlist simp))))
> 
> But the previous rev (1.38) has:
> 
> (unless (cdr $dependencies)
>   (setq $dependencies (copy-list '((mlist simp)))))
> 
> I think in the current version '((mlist simp)) is a constant, and it is
> destructively modified during processing of dependencies.   The previous
> version seems to recognize this and makes a copy.  With this change,
> cmucl works as expected.
> 
> Any one know why this particular change was made?
> 
> I'm inclined to put back the original.

Hello Ray,

I have reworked the function i-$dependencies because of a bug report.
But I had no special reason to change the line of code which now causes
problems. I think I have overseen an unintended change.

Dieter Kaiser