amend another Vector tabulate bug

This commit is contained in:
2024-07-18 23:16:24 +01:00
parent 120a84fd28
commit 34139e616b

View File

@@ -1095,20 +1095,22 @@ struct
if Vector.length rightLinesHd > 0 then if Vector.length rightLinesHd > 0 then
let let
val _ = println "996" val _ = println "996"
val lineDeleteEnd = binSearch
(String.size newStr - 1, rightLinesHd)
val lineDeleteStart = val lineDeleteStart =
Vector.length rightLinesHd - lineDeleteEnd forwardBinSearch (newStrStart, rightLinesHd)
val lineDeleteLength = lineDeleteEnd - lineDeleteStart val _ = println ("1100 = " ^ Int.toString newStrStart)
in in
if lineDeleteEnd >= 0 then if lineDeleteStart < Vector.length rightLinesHd then
Vector.tabulate (lineDeleteLength + 1, fn idx => let
val lineDeleteLength =
Vector.length rightLinesHd - lineDeleteStart
val _ = println "1105"
in
Vector.tabulate (lineDeleteLength, fn idx =>
Vector.sub (rightLinesHd, idx + lineDeleteStart) Vector.sub (rightLinesHd, idx + lineDeleteStart)
- newStrStart) - newStrStart)
end
else else
(* Subtract by difference in length, which is same as Vector.fromList []
* newStrStart. *)
Vector.map (fn idx => idx - newStrStart) rightLinesHd
end end
else else
rightLinesHd (* empty vector *) rightLinesHd (* empty vector *)