[armedbear-devel] The value :LONG is not of type (MEMBER NIL :BOOLEAN)

Chun Tian (binghe) binghe.lisp at gmail.com
Mon Mar 21 11:55:03 UTC 2011

Continue narrow down the problem, it's caused by this part in the function:

>      (dotimes (i m)
>        (push (let (record)
>                (dotimes (j r (nreverse record))
>                  (push (pop real-vbs) record)))
>              result-table))

The DOTIMES is the key, my purpose is just loop for m times (m is a positive integer), even I replace it into this form:

(dotimes (j m))

it still fails to load (after compile), but if I use a LOOP instead of DOTIMES, problem solved ...

That's really weird.


Chun Tian (binghe)

在 2011-3-21,19:37, Chun Tian (binghe) 写道:

> Hi, Alesio
> Oh, sorry, maybe I didn't say it clearly, the "Register 4 contains wrong type" is not produced by the file with THREADS:WITH-MUTEX. It's another issue, not relevant to the first post in this mail thread.
> Following function caused the "Register 4 contains wrong type" issue:
> (defun generate-table (vars vbs non-repeaters max-repetitions)
>  (declare (type fixnum non-repeaters max-repetitions))
>  (let* ((var-number (list-length vars))
>         (n (min non-repeaters var-number))
>         (m max-repetitions)
>         (r (max (- var-number n) 0))
>         (real-vbs (mapcar #'(lambda (x) (coerce x 'list))
>                           (coerce vbs 'list)))
>         result-table)
>    ;; non-repeaters
>    (dotimes (i n)
>      (push (pop real-vbs) result-table))
>    ;; table
>    (when (and (plusp m) (plusp r))
>      (dotimes (i m)
>        (push (let (record)
>                (dotimes (j r (nreverse record))
>                  (push (pop real-vbs) record)))
>              result-table)))
>    (values (nreverse result-table)
>            (mapcar #'oid vars))))
> If I temporary disable it by #+ignore or #-abcl, than the whole project compiles with no error any more. I'll try to continue look for which exactly form in this function caused the error.
> Regards,
> Chun Tian (binghe)

More information about the armedbear-devel mailing list