Skip to content

fix: report column for multiline lookahead matches - #3506

Open
leroiu wants to merge 2 commits into
BurntSushi:masterfrom
leroiu:fix/3503-multiline-lookahead-column
Open

fix: report column for multiline lookahead matches#3506
leroiu wants to merge 2 commits into
BurntSushi:masterfrom
leroiu:fix/3503-multiline-lookahead-column

Conversation

@leroiu

@leroiu leroiu commented Aug 7, 2026

Copy link
Copy Markdown

When a multiline regex uses a zero-width lookahead whose content spans more than MAX_LOOK_AHEAD bytes beyond the match boundary, the re-search in record_matches fails to find the match again and the printer drops the column number entirely.

Insert a synthetic match covering the whole match range when the re-search yields no matches in multiline mode, so column reporting and other match-granularity output remain consistent.

Closes #3503

Tests

  • cargo test -p grep-printer
  • cargo test -p grep-searcher

AI Disclosure

The fix was produced with the assistance of an AI coding agent. I have reviewed and understood the change as the contributor.

leroiu added 2 commits August 7, 2026 21:07
When a multiline regex uses a zero-width lookahead whose content spans
more than MAX_LOOK_AHEAD bytes beyond the match boundary, the re-search
in record_matches fails to find the match again and the printer falls
back to sink_fast_multi_line, which drops the column number entirely.

Insert a synthetic match covering the whole match range when the
re-search yields no matches in multiline mode, so column reporting and
other match-granularity output remain consistent.

Closes BurntSushi#3503
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing column number for a multi-line pattern in a lookahead segment

1 participant