-
preload: a bank named 808bd killed the whole plan, and the checker said ok · 3b518774
Last night's WORD fix made five banks visible for the first time — 808bd, 808cy, 808hc, 808sd, 90s_synatm — and the emitter wrote them as `\808bd`. A SuperCollider bare symbol cannot start with a digit, so preload.scd died at parse time and warmed 0 banks where it had warmed 132 the day before: ERROR: syntax error, unexpected NAME, expecting ']' [ \808bd, 25, ".../Dirt-Samples/808bd" ], ERROR: Command line parse failed One bad row costs the whole file, and nothing in the rig says so — with doNotReadYet restored to true, all 132 banks just fall back to lazy reads. It was only visible in the boot journal. Quoting is the fix: '808bd' and \808bd are the same symbol, and only names that need quoting get one, so an existing plan diffs by exactly the broken rows. Now 137/137 banks warm in 3.8 s. Fixing it exposed the second half. The row shape had four readers and writers — emit_sc, check-preload's union_plan, and its banks()/bank_counts() shell greps for `[ \name`, which cannot match a quoted row. So the checker reported ok on a plan genuinely short by five banks: want came out 132 instead of 137. A checker that cannot read what the emitter writes is worse than no checker, so all four now go through plan_row / plan_row_name / plan_rows, and the shape is written down once. 43 new tests, and they were watched failing: with the quoting reverted, 21 of them break and check-preload goes blind again.PLN (Algolia) authored3b518774
×