On Thu, Aug 23, 2018 at 5:16 PM Jeff King <peff@xxxxxxxx> wrote: > > On Thu, Aug 23, 2018 at 08:06:37PM -0400, Jeff King wrote: > > > This almost works: > > > > @@ > > expression a, b; > > statement s; > > @@ > > - if (oidcmp(a, b)) s > > + if (!oideq(a, b)) s > > > > [...] > > > So I really do want some way of saying "all of the block, no matter what > > it is". Or of leaving it out as context. > > Aha. The magic invocation is: > > @@ > expression a, b; > statement s; > @@ > - if (oidcmp(a, b)) > + if (!oideq(a, b)) > s > > I would have expected that you could replace "s" with "...", but that > does not seem to work. > > -Peff Odd... What about.. - if (oidcmp(a,b)) + if(!oideq(a,b)) { ... } Or maybe you need to use something like <... - if (oidcmp(a,b)) + if (!oideq(a,b)) ...> Hmm. Yea, semantic patches are a bit confusing overall sometimes. But it looks like you got something which works? Thanks, Jake