- (decf word-offset)
- (loop
- (when (< word-offset first-word)
- (return-from ,name nil))
- (setf word (get-word sap word-offset))
- (unless (zerop word)
- (when (= word-offset first-word)
- (setf word (logand word start-mask)))
- (unless (zerop word)
- (found (end-bit word) word-offset)))
- (decf word-offset)))
- ;; Front to back
- (let* ((sap (vector-sap vector))
- (word-offset first-word)
- (word (logand start-mask (get-word sap word-offset))))
- (declare (word word)
- (index word-offset))
+ (decf word-offset)))
+ ;; Front to back
+ (let* ((word-offset first-word)
+ (word (logand start-mask (get-word word-offset))))
+ (declare (word word)
+ (index word-offset))
+ (unless (zerop word)
+ (when (= word-offset last-word)
+ (setf word (logand word end-mask)))
+ (unless (zerop word)
+ (found (start-bit word) word-offset)))
+ (incf word-offset)
+ (loop
+ (when (> word-offset last-word)
+ (return-from ,name nil))
+ (setf word (get-word word-offset))