Document the fence a calc operand gets, and trim two comments

The one-spelling section described a calc operand only as a route that
renders a level, so a reader could not predict that {..cat.net} beside
{calc(net * 2, 2)} is now a load error with no path token in sight. It says
so, and says what an operand's draw covers and what it leaves free.

Dropped the paragraph in checkBoundLevelsHeld that restated its own first
line and the loop below it, and the escape-analysis note in expand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
M
2026-08-31 14:03:07 +02:00
committed by lilleman-tw
parent 0cee8b2183
commit 7e073462c8
3 changed files with 7 additions and 5 deletions
-3
View File
@@ -44,9 +44,6 @@ func linkRefs(root map[string]node) error {
// format (a token, a calc operand); this settles the rest — a reference, whether it
// sits in that format or in anything the format renders, however deep.
//
// It walks t.held, so it covers both kinds of hold: the level a dotted token reads,
// and the sibling a {calc()} reads.
//
// It runs after checkNoCycles, whose guarantee is what lets the walk terminate.
func checkBoundLevelsHeld(root map[string]node) error {
return walkNodes(root, func(path string, n node) error {