On Tue, Sep 21, 2021 at 12:42:05AM -0400, Jeff King wrote: > On Tue, Sep 21, 2021 at 12:22:45AM -0400, Taylor Blau wrote: > > > On Mon, Sep 20, 2021 at 11:48:09PM -0400, Jeff King wrote: > > > When showing lines via grep (or looking for funcnames), we call > > > show_line() on a multi-line buffer. It finds the end of line and marks > > > it with a NUL. However, we don't need to do so, as the resulting line is > > > only used along with its "eol" marker: > > > > > > - we pass both to next_match(), which takes care to look at only the > > > bytes we specified > > > > Thinking aloud, next_match() calls match_next_pattern() which takes eol > > as non-const and passes it to match_one_pattern(). And that calls > > strip_timestamp(), which would be non-const, were it not the previous > > patch. So I think this conversion is safe. > > To be a little nit-picky: this move would be OK even without the change > to strip_timestamp(). The question is whether any of those sub-calls > actually looks past the "eol" pointer we give it. Right, I wasn't implying that this move was unsafe without the previous patch. Just that without the previous patch, we couldn't make show_line() take a const-pointer to eol. Thanks, Taylor