Mercurial > hg-stable
changeset 44908:f90957c947f4
grep: don't go in an infinite loop when given empty regex
Differential Revision: https://phab.mercurial-scm.org/D8543
author | Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> |
---|---|
date | Sun, 17 May 2020 12:52:43 -0400 |
parents | 7e7080ab8ba8 |
children | 8d552701806d |
files | mercurial/commands.py tests/test-grep.t |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Sun May 17 12:49:12 2020 -0400 +++ b/mercurial/commands.py Sun May 17 12:52:43 2020 -0400 @@ -3428,8 +3428,11 @@ m = regexp.search(self.line, p) if not m: break - yield m.span() - p = m.end() + if m.end() == p: + p += 1 + else: + yield m.span() + p = m.end() matches = {} copies = {}
--- a/tests/test-grep.t Sun May 17 12:49:12 2020 -0400 +++ b/tests/test-grep.t Sun May 17 12:52:43 2020 -0400 @@ -660,7 +660,7 @@ $ echo 'added, missing' > added-missing; hg add added-missing; rm added-missing $ echo 'untracked' > untracked $ hg rm old - $ hg grep '[^Z]' + $ hg grep '' added:added new:something else new:modified