LPoint
LPoint

Reputation: 21

ql:quickload evaluates to: Error: Attempt to do an array operation on nil which is not an array

On ACL, Windows, (ql:quickload "vecto") evaluates to: "Error: Attempt to do an array operation on nil which is not an array." :zoo brings:

(error type-error :datum ...) ->(ql-cdb::add-record #(49 97 109) #(49 97 109 ...) ...)

This for each module loaded with quickload.

In cdb.lisp of quicklisp I added the let-clause below, because map-into does provide "nil" instead of the array:

(defclass cdb-writer ()
  ((buckets
    :initarg :buckets
    :accessor buckets)
   (end-of-records-position
    :initarg :end-of-records-position
    :accessor end-of-records-position)
   (output
    :initarg :output
    :accessor output))
  (:default-initargs
      :end-of-records-position 2048
   ;;         (map-into (make-array 256) (lambda () (make-instance 'hash-table-bucket))) evals to nil not to the array
   :buckets (let ((a (make-array 256)))
              (map-into a
                (lambda () (make-instance 'hash-table-bucket)))
            a)))

Now it works. Quicklisp downloaded by "quicklisp.lisp" from here: https://www.quicklisp.org/beta/

Is there a patch?

Upvotes: 1

Views: 40

Answers (0)

Related Questions