I guess there's misunderstanding here. Yes, if you bring in new helpers
that solely are used with your feature, then it that feature patch (and
I found DaveM commenting specifically this point I think), or right
beforehand with a clear note that it will be used in the subsequent patch.
But if there are uses in the existing code without any of your changes,
add the helpers and convert existing callers in a single go without doing
some other things (preferrably convert all callers, not just those you
intend to touch -- there is nothing extraordinary in this, other people do
the same kind of cleaning up work while they go, so please don't find that
this is something we try to force specifically for you :-)). ...Therefore
each change becomes rather self-sufficient to understand and review. There
was serious problems in your series in this as I constantly had to jump
between 3 patches to see what you said (changed) in the other. But also,
please don't make this an over-statement, I'd still occassionally have to
do that "patch hopping" even if nicely split (so this is not something to
be turned into all in a single patch statement :-)).
On positive side, there certainly has been clear progress already, as
patches 1 and 2 were quite nice already (except for some weird local
initializer order change which I could sort of "tolerate" but I didn't
find any particular reason why those had to be switched around.
And, one thing to not be afraid is making many short patches (nor long
one either). So if a self-contained change is a small one do it such and
no more. ...It is often so that you will be doing many relatively small
changes first to support the actual large one, and those small changes
might actually not end up being that small in lines if there are e.g.
multiple callsites converted but nevertheless they often are rather
simple, so that a quick browsing will already be enough to reveal that it
is ok (like in the MSS define change you made).
Only if the large patch is only for a single logical change. A
syntax cleanup, literal cleanup, cleanup to use helpers and a feature
patch are not logically same changes, and thus should be separated.
It's like you have already being doing for a part of the changes. Many
times the cleanup things are even such that they would be beneficial even
without any feature addition (but nobody has just done them so far).
--
i.