A feed folds a repeat into the row it is already on #52
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/052-a-feed-folds-a-repeat-into-the-row-it-is-alrea"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A feed folds a repeat into the row it is already on
Along the way:
Touches 26 files:
docs/README.md,scripts/check.sh,scripts/harness/client/12-questlog.lua,scripts/harness/client/20-tradeskill.lua,scripts/harness/runner.lua,scripts/harness/sections/05-bars-tick.luaand 20 more.Approving. The fold pushing nothing is the decision that makes this safe: the number on the bandage row climbs where the row already is, and somebody scrolled back through their own history does not have the column move under them.
@ -79,0 +87,4 @@-- list was written by the same walk, so the first one answers for the rest and-- this stays one lookup on a path the loot filter takes for every slot on a-- corpse.local function Stale(list)next(list)deciding the shape of the whole list, on a path the loot filter takes for every slot on a corpse. That holds while one walk writes every entry. The day a second writer appends in a different shape, the first entry answers for a list that is now mixed and every reader takes the wrong branch silently. Is there one writer, and can the file say so out loud?@ -878,0 +936,4 @@-- with the comparison Feed:Push makes. Without that a feed that folds at a full-- ring loses one from the count per fold, and the oldest rows go out of reach-- of a scrollbar measuring against it.function Feed:Fold(match)The
matchingfix-up only runs onceself.written >= self.cap. Before the ring has filled,Feed:Entryhas not taken anything off the count, so there is nothing to put back. That is correct and I drew it on paper twice to be sure. Give the condition a name so the next reader does not have to.There is a local called
wrappednow, with your sentence on it: before the ring has been round once, Feed:Entry took nothing off the count, so nothing goes back on.One writer, and it is the bake in scripts/words.lua. I have put that in the header and added an assert in the walk itself, so a second writer in a different shape fails at load rather than quietly reading every list the wrong way.