From: <HaJ...@ar...> - 2001-08-30 05:59:51
|
Hello Slava, thank you for your detailed explanation. The pattern .+ works (logically). It was a coincidence that the first replace in selection I tried after installing 3.2 was the described one. So I thought oops, what's that. thanks again -- Hajo > On Wed, Aug 29, 2001 at 02:44:42PM +0200, HaJ...@ar... wrote: > > I found out something more. Maybe that happens in 3.1 too. > > It does. > > > This does not happen always. In the case I described, the search string > > was '(.*)' and the replace string was 'LET $1 value'. > > I know I can do it with the prefix/postfix macro but ... > > The problem is that the first time .* is searched for, the entire line > matches, and the new offset to start from is set to the end of that > line. Then, a second match is searched for, starting from that offset. > But since . doesn't match \n and * matches ZERO or more occurrences, > gnu.regexp is happy to return an empty string as a match. jEdit stops > on an empty string because otherwise it would not know the offset to > search for the next occurrence from, and an infinite loop would result. > > The workaround/solution/fix is to use .+, not .*. + matches on ONE or > more occurrences; which is probably what you intended when you used * > anyway. > > Slava > |