Bugs in tex-mcond



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