The error happens in the function print-oneline. There seems to be a problem if alists are involded. The (loop for (car . cdr) on thing part seems to be problematic. Other kind of lists like plists seem to work fine but alists seem to cause an error.
I have loaded Parachute from Quicklisp.
Let's say that I have something like this.
(defun multi-alist (alist multiply) (mapcar #'(lambda (x) (cons (car x) (* multiply (cdr x)))) alist))
(define-test alist-test (let ((input '((A . 3) (B . 4))) (expected '((A . 6) (B . 8)))) (is equal expected (multi-alist input 2))))
Then,
(test 'alist-test)
passes ok.But, if I do a change and the test fails, then there's an error that happens in the reporting.
(define-test alist-test (let ((input '((A . 3) (B . 4))) (expected '((A . 6) (B . 8)))) (is equal expected (multi-alist input 5))))
It is: "Error: Cannot take CAR of 15."
The error happens in the function
print-oneline
. There seems to be a problem if alists are involded. The(loop for (car . cdr) on thing
part seems to be problematic. Other kind of lists like plists seem to work fine but alists seem to cause an error.