Thread (2 messages) flat view 2 messages, 2 authors, 2021-01-24

Re: [PATCH v3 2/4] grep/pcre2: simplify boolean spaghetti

From: Junio C Hamano <hidden>
Date: 2021-01-24 05:36:28

Ævar Arnfjörð Bjarmason  [off-list ref] writes:
    NOT(A && B) is Equivalent to (NOT(A) OR NOT(B))
At this level, however, the left one looks much simpler than the
right one ;-)

 	if (!opt->ignore_locale && is_utf8_locale() && has_non_ascii(p->pattern) &&
-	    !(!opt->ignore_case && (p->fixed || p->is_fixed)))
+	    (opt->ignore_case || !(p->fixed || p->is_fixed)))
 		options |= PCRE2_UTF;
In the context of this expression, well, I guess the rewritten one
is probably simpler but can we explain the whole condition in fewer
than three lines?  With or without the rewrite, it still looks too
complicated to me.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help