By registering with us, you'll be able to discuss, share and private message with other members of our community.
SignUp Now!If my test is valid, it also recognizes \0 as EOL.Onigmo (used in v32 and earlier, abandoned by the developer) had a non-standard option to recognize CR/LF line endings. Oniguruma only recognizes LF (there is no option for CR/LF).
v:\> echos foo | ffind /k /m /e"o$"
foo
v:\> echo foo | ffind /k /m /e"o\r$"
foo
echos foo | ffind /k /m /e"o\r$"
v:\> echos foo | ffind /k /m /e"o\r*$"
foo
v:\> echo foo | ffind /k /m /e"o\r*$"
foo
v:\> echo %@regex["o$",foo]
1
v:\> echo %@regex["o$",foo%@char[10]]
1
v:\> echo %@regex["o$",foo%@char[13]%@char[10]]
1
v:\> echo %@regex["o$",foo%@char[13]]
1
v:\> echo %@regex["o$",foo]
1
v:\> echo %@regex["o$",foo%@char[10]]
1
v:\> echo %@regex["o$",foo%@char[13]%@char[10]]
0
v:\> echo %@regex["o$",foo%@char[13]]
0
v:\> echo %@regex["o\R",foo]
0
v:\> echo %@regex["o\R",foo%@char[10]]
1
v:\> echo %@regex["o\R",foo%@char[13]%@char[10]]
1
v:\> echo %@regex["o\R",foo%@char[13]]
1
v:\> echos foo | findstr o$
foo
v:\> echos foo^r | findstr o$
foo
v:\> echos foo^r^n | findstr o$
foo
v:\> echos foo^n | findstr o$
v:\>
v:\> echo %@regex["o\r*$",foo]
1
v:\> echo %@regex["o\r*$",foo%@char[10]]
1
v:\> echo %@regex["o\r*$",foo%@char[13]%@char[10]]
1
v:\> echo %@regex["o\r*$",foo%@char[13]]
1
#define USE_CRNL_AS_LINE_TERMINATOR
v:\> echo %@regex["o$",foo]
1
v:\> echo foo | ffind /k /m /e"o$"
foo
Apparently, the fix is to un-comment this line in oniguruma-6.9.9\src\regenc.h, and rebuild the lib and dll.
Code:#define USE_CRNL_AS_LINE_TERMINATOR
Having done that and with my DLL in place, I get expected/desired results.
Code:v:\> echo %@regex["o$",foo] 1 v:\> echo foo | ffind /k /m /e"o$" foo