(flet ((replace-all (fun)
(let ((start 0))
(declare (index start))
- (dolist (buffer (nreverse prev))
+ (setf prev (nreverse prev))
+ (dolist (buffer prev)
(funcall fun buffer start)
(incf start (length buffer)))
(funcall fun this start)
(incf start (length this))
(dolist (buffer next)
(funcall fun buffer start)
- (incf start (length buffer))))))
+ (incf start (length buffer)))
+ ;; Hack: erase the pointers to strings, to make it less
+ ;; likely that the conservative GC will accidentally
+ ;; retain the buffers.
+ (fill prev nil)
+ (fill next nil))))
(macrolet ((frob (type)
`(replace-all (lambda (buffer from)
(declare (type ,type result)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.17.16"
+"1.0.17.17"