Taylor Blau <me@xxxxxxxxxxxx> writes: > case GREP_NODE_NOT: > - h = !match_expr_eval(x->u.unary, bol, eol, ctx, 0); > + /* > + * Upon visiting a GREP_NODE_NOT, imatch and match become > + * swapped. > + */ > + h = !match_expr_eval(x->u.unary, bol, eol, ctx, icol, col, 0); A minor nit, but the comment talks about something that are different from the variable names; perhaps you called col/icol with different names in an earlier incarnation of this patch?