The following two examples from grid:map.lisp produce an error on clisp/cygwin
;;; Extract the diagonal, inject into a vector of length 6, with the ;;; first three elements set to a default value (map-grid :source *array-3-4-double-float* :source-affi (affi:diagonal (affi *array-3-4-double-float*)) :destination-affi (affi:make-affi '(6) 3) :default-value -77.7d0)
;;; Extract the diagonal, inject at index 3 into a vector of length 6, ;;; adding to the vector elements (map-grid :source *array-3-4-double-float* :source-affi (affi:diagonal (affi *array-3-4-double-float*)) :destination-affi (affi:make-affi '(6) 3) :default-value -77.7d0 :combination-function '+)
The reported error is:
ROW-MAJOR-AREF: index NIL for #2A((#1=0.0d0 1.0d0 2.0d0 3.0d0) (10.0d0 11.0d0 12.0d0 13.0d0) (20.0d0 21.0d0 22.0d0 23.0d0)) is not of type `(INTEGER 0 (,ARRAY-DIMENSION-LIMIT)) [Condition of type SIMPLE-TYPE-ERROR]
I can make it work by using the destination-affi (make-affi '(3)), but not (make-affi '(4)) or larger.
Mirko