Parentheses for grouping don't work in 1.4.1.867b (x64)

Found a bug in "Everything"? report it here
Post Reply
franl
Posts: 1
Joined: Sat Apr 15, 2017 2:47 pm

Parentheses for grouping don't work in 1.4.1.867b (x64)

Post by franl »

I'm using Everything 1.4.1.867b (x64). I checked the checkbox General > Search > Allow round bracket grouping, but if I search for ".(txt|jpg)" (without the quotes, of course), it finds nothing. But if I use angle brackets instead of parentheses, it finds all files with ".txt" or ".jpg" in their name: ".<txt|jpg>".

Am I misunderstanding the meaning of that options checkbox?

Sorry if this is a known issue, but I did not see it in the 1.4 known issues announcement post.
--
franl
therube
Posts: 4580
Joined: Thu Sep 03, 2009 6:48 pm

Re: Parentheses for grouping don't work in 1.4.1.867b (x64)

Post by therube »

Appears that ".(" is causing everything up to the | to be ignored, & further the search term ends up being everything after "|", literally, so, "jpg)".

No idea why that is happening?


Anyhow, I believe the ext: function is more efficient, so, ext:txt;jpg
void
Developer
Posts: 15096
Joined: Fri Oct 16, 2009 11:31 pm

Re: Parentheses for grouping don't work in 1.4.1.867b (x64)

Post by void »

Currently "(" must appear after a space or operator to start a group.
Otherwise, when "(" is included immediately after text, it is treated as a literal "("

Also note in .<txt|jpg> the "<" is a term terminator (the single . is treated as a term), so this would search for:
. AND <txt|jpg>

"(" is not considered a term terminator so you can search for a literal "(" when included with text, eg: abc(123)foo would search for this entire string and does not split it up into 3 groups as < and > would.

The same applies to literal operators "OR", "AND" and "NOT", these do not break the current term, eg: bORderlands does not search for b OR derlands. Whereas b|derlands would.

A ")" is treated as a literal ")" if a group has not been started with "<" or "(".
Post Reply