On 1/10/2011 2:34 PM, Mark H Weaver wrote:
> I wrote:
>> If I don't hear any objections, I will soon commit this patch to both
>> the trunk and the 5.23 branch.
> Oops, I forgot to include the patch :)
>
> Mark
>
as the author of tex(), I was wondering how this happened.
answer: elseif was introduced into Maxima after tex() was written.
I'm not sure about the nil vs $false, but it looks like a bug in
handling "if".
in particular tex ('(if x>0 then 0)); works just fine.
compare
?print ('(if x>0 then 0))
to
?print ( if x>0 then 0)
one has nil the other $false.
By comparison, the commercial Macsyma gives a "unable to evaluate" error
for
if x>0 then 0.
I have not really checked over the patches, but I suggest you sign them,
in the code.
perhaps cadddr should be fourth? cddddr could be (nthcdr 4 ..)
and also explain the format of mcond with elseif, somewhere.
RJF