On Thu, Jun 21, 2018 at 04:45:49PM -0500, Taylor Blau wrote: > > but not this: > > > > $ ./git grep --column -v --not -e scalable --and --not -e fast -- README.md > > README.md:13:Git - fast, scalable, distributed revision control system > > README.md:16:Git is a fast, scalable, distributed revision control system with an > > > > I wasn't sure where we landed in the discussion on "how much crazy stuff > > to support". But AFAIK, the code in this iteration handles every crazy > > case already except this one. If we're going to care about OR, maybe we > > should just cover all cases. > > Good catch. As I understand it, we need to short-circuit AND because an > --invert or a --not above it in the expression tree would cause it to be > turned into an OR by de Morgan's Law, and therefore be susceptible to > the same reasoning that caused me to remove short-circuiting on OR. Right, exactly. > > Unfortunately %z isn't portable. You have to use: > > > > xsnprintf(buf, sizeof(buf), "%"PRIuMAX, (uintmax_t)cno); > > I see. Per your next note, I've changed this to "%"PRIuMAX (and the > appropriate cast into uintmax_t), and will send another patch out in the > future changing it _back_ to "%zu" and figure out how folks feel about > it. That sounds perfect. I think the time may be good for a "%zu" weather-balloon, but it's best not to tangle it up with your other changes. -Peff