Having seen your later examples I agree with you for all the rest of the errors, but I think it’s still easy to look at:
output line
{ range starts here
error: no match found
And think the error applies to the line not to the range.
But then again, this has always been a “no match in what exactly?” sort of error. If we start printing the ranges like you propose, it can say “no match found in range”, the range is marked directly above, and it’s much easier to understand.
output line
{ range starts here
error: no match found in range