Changeset 14788


Ignore:
Timestamp:
May 7, 2011, 8:34:15 AM (8 years ago)
Author:
gb
Message:

In SOME-XX-MULTI, traverse the list of sequences in a way that
doesn't require us to try to find the current sequence via MEMQ;
this could affect the wrong sequence if some sequences shared
structure (and wasn't the smartest thing to do even if they didn't.)
Fixes ticket:859.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/sequences.lisp

    r14373 r14788  
    600600                                               (length seq)))))
    601601  (dotimes (index min-vector-length)
    602     (dolist (one-seq sequences)
     602    (do* ((sequences sequences (cdr sequences))
     603          (one-seq (car sequences) (car sequences)))
     604         ((null sequences))
     605      (declare (list sequences))
    603606      (%rplaca cur-slice
    604607               (if (vectorp one-seq)
     
    606609                   (if one-seq
    607610                       (progn
    608                          (%rplaca (memq one-seq sequences) (cdr one-seq))
     611                         (setf (car sequences) (cdr one-seq))
    609612                         (%car one-seq))
    610613                       (return-from some-xx-multi at-end))))
Note: See TracChangeset for help on using the changeset viewer.