tab-width = 4 seems consistent with how the rest of the file is formatted. I didn't want to change the spacing in lines not touched by my diff.
I added tests and a change description, and formatted the patch according to the current instructions. I made the patch a bit more minimal. I pruned the part that dealt with adaptive-fill-first-line-regexp didn't work as well as expected, since that didn't work as well as expected (it didn't deal with all the complexity possible with adaptive-fill-function). The updated version at least handles cases where the fill-prefix isn't shorter than the first-line prefix. That allowed me to simplify the code quite a bit, since that makes the previous logic for skipping the exact fill-prefix redundant, fill-move-to-break-point already handles the logic of trying to skip at least one word after the start position passed to it. Please take another look.
You're correct about copyright. I'm doing this for work, copyright is covered by whatever agreements Google has made.