2 question about arrays



>>>>> "Volker" == van Nek <van.Nek at gmx.net> writes:

    Volker> (C8) compile(foo);
    Volker> Compiling gazonk0.lsp.
    Volker> End of Pass 1.  
    Volker> End of Pass 2.  
    Volker> OPTIMIZE levels: Safety=2, Space=3, Speed=2
    Volker> Finished compiling gazonk0.lsp.
    Volker> (D8)                [foo]
    Volker> (C9) foo(test,2,1);
    Volker> Maxima encountered a Lisp error:

    Volker>  not a valid array reference to #2A((0 0) (0 0) (0 1))	???

I think this is a bug in maref1 in src/trans2.lisp.  I think the
method it's using to figure the type of AR is confused wrt to Common
Lisp.  

If I insert a new clause for cond like so:

    (cond
      ((typep ar 'cl:array)
       (apply #'aref ar inds)) ;; <- new stuff
      ((one-of-types .type. (make-array 3))     (apply #'aref ar inds))

the compiled version actually works.

Ray