[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63272: 29.0.90; xref fails on long lines
From: |
Juri Linkov |
Subject: |
bug#63272: 29.0.90; xref fails on long lines |
Date: |
Fri, 05 May 2023 20:50:19 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) |
tags 63272 notabug
close 63272 29.0.60
thanks
>> 1. Create a file with a long line, e.g. type
>> a C-u 500000 b c
>> Save the file and commit to git.
>> (long-line-optimizations-p returns t)
>> 2. Try to search a regexp that matches the whole long line, e.g.
>> C-x p g a.*c RET
>> Debugger entered--Lisp error: (error "Stack overflow in regexp matcher")
>
> Isn't that more like a problem with the regexp you entered, or with our
> regexp engine?
>
> E.g. try this:
>
> C-x p g a[^c]*c RET
In the real case the prefix and suffix were unique, so I didn't expect
that in a generated file there was a very long distance between prefix
and suffix. To limit the distance between prefix and suffix I tried:
C-x p g prefix.{0,100}suffix
but xref that uses ripgrep fails to find matches.
So needed to fall back to ripgrep-based rgrep in this case:
M-x rgrep prefix.{0,100}suffix
that works successfully.
It seems the problem is because of different regexp syntax
used by ripgrep and re-search-forward in xref--collect-matches-1.
Since this is a separate problem, I'm closing this one,
then a new feature request could be opened if you want.
bug#63272: 29.0.90; xref fails on long lines, Gregory Heytings, 2023/05/04