fix: pass line ranges as value instead of callback
The callback no longer takes any arguments from the inner function, so we might
as well call it sooner and pass the value instead. Note the value still needs
to be recomputed every iteration to account for the previous iteration's
changes to the file content.
Differential Revision: https://phab.mercurial-scm.org/D6727