If long lines are matched (e.g. in binary or minified files) then 2 bad things happen...
1) An internal buffer apparently crops each line, before the length of the line grepping is wrapping to (apparently) 2) Subsequent lines which grep has wrapped then show on separate lines
The result is a mess of disjointed output.
It can be fixed very easily by adding this after your grep command...
` | cut -c-80`