Jeff King <peff@xxxxxxxx> writes: > On Thu, Jan 16, 2025 at 05:06:37AM -0500, Jeff King wrote: > >> On Thu, Jan 16, 2025 at 04:51:28AM -0500, Jeff King wrote: >> >> > Yet another option in the near term might be storing these ahead-behind >> > bits in the individual atoms. Since the point is to do a single >> > traversal, we'd have to marshal them into a unified data structure at >> > some point. But we already do that! In filter_ahead_behind() we convert >> > the string list into an array (and ironically do not even look at the >> > strings, only their "util" fields). >> > >> > So something like this (only lightly tested) seems to work: >> >> I compiled it without DEVELOPER=1, so I missed a few unused parameters. >> We'd want this on top: > > And one final thought on this approach: if we do want to do it, perhaps > it would make sense to build on top of the patch you sent. I think yours > fixes the bug in a more direct and obvious way, and then my approach > would merely be internal reorganization on top. > > At any rate, here is the is_base conversion for posterity. Looking good. Thanks.