On 2/21/10 2:17 PM, Dieter Kaiser wrote:
> 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.
>
No problem. I'm still not sure why this should cause a problem now, and
it only affects the CVS version of cmucl. Previous versions. I'm
going to investigate a bit more, but if I can't figure it out, I'll put
back the copy-list part since that was the previous version and it makes
it work.
Ray