draw2d eps file bugs with gcl 5.22.1



On Oct. 16, 2010, Raymond Toy wrote :
------------------------------------------------
>  I don't think GCL can be configured to use a larger value for
>   call-arguments-limit.
-----------------------------------

  Assuming the problem is GCL, how does that explain that
the Windows Maxima ver. 5.21.1 has no problem with my
qdraw example, and Windows Maxima ver. 5.22.2 chokes?
-------------------------------------------------------
>  But I also ran this with cmucl, and as best as I can tell the call to
>  apply in make-scene-2d is never given anything more than 6 elements long
>   (for the example with qdraw that was posted).
--------------------------------------------------------------

The list I am feeding draw2d in my example has 76 elements,
 as shown here:
-------------------------------------

qdraw1 returns a list drlist to qdraw, and I inserted the
debug code
    _len_drlist% : length(drlist),
            display (_len_drlist%),
inside qdraw1.

The run then looks like
-----
Maxima 5.22.1 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
                                  2010-10-16


(%i1) load(draw)$
(%i2) load(qdraw)$
               qdraw(...), qdensity(...), syntax: type qdraw(); 

(%i3) qdraw(xr(-2.8,2.8),yr(-2,2),
            line(-1.5,0,1.5,0,lw(10) ),
             line(-1.5,0,-2,0.866,lw(10)),
             line(1.5,0,2,0.866,lw(10) ),
             ellipse(1.5,0,0.5,0.5,0,60 ),
             ellipse(-1.5,0,0.5,0.5,120,60 ),
             label(["{/Symbol=36 q}",2.1,0.3],
              ["{/Symbol=36 q}",-2.2,0.3],
               ["{/=36 x}",1.5,0.5],["{/=36 x}",-1.6,0.5],
                 ["{/=36 L - 2 x}",-0.5,-0.3]   ),
             vector([-0.8,-0.3],[-0.7,0],hl(0.2) ),
              vector([0.8,-0.3],[0.7,0],hl(0.2) ),
               line(-1.5,0,-1.5,-0.7,lw(2) ),
               line(1.5,0,1.5,-0.7,lw(2) ),
                line(-2.5,0,-1.5,0,lw(2) ),
                line( 1.5,0,2.5,0,lw(2) ),
             pic(eps,"c:/work5/test4"), cut(all) )$


                               _len_drlist% = 76

Maxima encountered a Lisp error:

 Error in APPLY [or a callee]:  Lisps arglist maximum surpassed

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i4) 
---------------------------------------------------

If you know the error is coming from an apply
in make-scene-2d, and know that at most six
list elements are involved, then the fact that
my list  drlist has 76 elements may be irrelevant.


A  smaller qdraw job, again designed to produce an
eps file using 5.22.1, with a 44 element list,
 (restarting maxima)  goes through with no
apply arg complaint, but produces an **empty**
eps file in c:/work5/test4.eps  with 0 bytes.

So there may be more than one problem lurking
in draw2d with ver. 5.22.1.

Here is my small (44 element)  job run:
------------------------------------------
(%i1) load(draw)$
(%i2) load(qdraw)$
               qdraw(...), qdensity(...), syntax: type qdraw(); 

(%i3) qdraw(xr(0,2.8),yr(0,2),
             line(0,0,2.8,0,lw(2)),
             line(0,0,2,2,lc(blue),lw(8) ),
           ellipse(0,0,1,1,0,45 ),
           arrowhead(0.707,0.707,135,0.15),
   label(["{/=36 {/Symbol q   \\254 }  The Incline Angle}",1,0.4]),
            cut(all),
           pic(eps,"c:/work5/test4" ) );
                               _len_drlist% = 44

(%o3)       [gr2d(points, points, ellipse, points, points, label)]
------------------------------------------------------------------
Result:  file test4.eps with zero bytes.



Ted Woollett