more build problems, STEP-FUN in LOOP must be a function



Andreas Eder wrote:
> Rainer wrote:
> 
>> Maxima 5.12.0
>>
>>
>> I see code like this:
>>
>>
>> ratmac.lisp
>>
>> (defmacro pt-red (terms) `(cddr ,terms))
>>
>>
>>
>> rat3a.lisp
>>
>> (defun pctimes1 (c terms)
>>   (loop for (exp coef) on terms by #'pt-red
>>     unless (pzerop (setq coef (ptimes c coef)))
>>     nconc (list exp coef)))
>>
>>
>>
>> ANSI Common Lisp defines the STEP-FUN in LOOP
>> to be a function. We cannot use a macro here.
> 
> Corrected in cvs.

I disagree with your fix.  Wouldn't the right solution be to make pt-red 
a inline function?  Then the issue is fixed everywhere.  I don't know 
what pt-red really means, but it seems clear that the original author(s) 
were trying to abstract out the representation, and I don't think we 
should remove that abstraction.

Ray