* enhancement: test-suite results are colorized, failures in red, unexpected
success in green. Works on Windows and on terminals with ANSI escape code
support. Can be disabled with --no-color.
+ * optimization: SB-CONCURRENCY:QUEUE implementation is more efficient.
+ (thanks to James M. Lawrence)
* bug fix: no more unused variable style warnings from RESTART-CASE
macroexpansion (lp#1113859)
* bug fix: no more unused variable style warnings when loading
(return (values value t)))))))))
(defun try-walk-queue (fun queue)
+ ;; This isn't /quite/ as bad as it looks. We're in danger of needing
+ ;; to restart only as long as we're close to the head of the queue.
(let ((node (queue-head queue)))
(loop
(let ((value (car node)))
(defun list-queue-contents (queue)
"Returns the contents of QUEUE as a list without removing them from the
-QUEUE. Mainly useful for manual examination of queue state, as the list
-may be out of date by the time it is returned."
+QUEUE. Mainly useful for manual examination of queue state, as the list may be
+out of date by the time it is returned, and concurrent dequeue operations may
+in the worse case force the queue-traversal to be restarted several times."
(tagbody
:retry
(collect ((result))