Am 12.12.23 um 21:09 schrieb Jeff King: > On Tue, Dec 12, 2023 at 05:17:47PM +0000, AtariDreams via GitGitGadget wrote: > >> diff --git a/diff.c b/diff.c >> index 2c602df10a3..91842b54753 100644 >> --- a/diff.c >> +++ b/diff.c >> @@ -1191,7 +1191,7 @@ static void mark_color_as_moved(struct diff_options *o, >> &pmb_nr); >> >> if (contiguous && pmb_nr && moved_symbol == l->s) >> - flipped_block = (flipped_block + 1) % 2; >> + flipped_block ^= 1; >> else >> flipped_block = 0; > > This one I do not see any problem with changing, though I think it is a > matter of opinion on which is more readable (I actually tend to think of > "x = 0 - x" as idiomatic for flipping). Did you mean "x = 1 - x"? x 0 - x 1 - x -- ----- ----- -1 +1 +2 0 0 +1 +1 -1 0 I don't particular like this; it repeats x and seems error-prone. ;-) I agree with your assessment of the other three cases in the patch. Can we salvage something from this bikeshedding exercise? I wonder if it's time to use the C99 type _Bool in our code. It would allow documenting that only two possible values exist in cases like the one above. That would be even more useful for function returns, I assume. René