Trim comments that restate or argue

The operand order was written out in three places; it now lives at calcVars,
which fixes it, and the other two point there. Dropped the note explaining
why ')' is not reserved, which said what the set is not rather than what it
is, and shortened reservedList's doc to less than its body. The note on held
now states where it reaches instead of arguing against a design this repo no
longer contains.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
M
2026-08-31 13:43:19 +02:00
committed by lilleman-tw
parent 1b5e928d4f
commit 909596ec2d
3 changed files with 6 additions and 10 deletions
+3 -4
View File
@@ -138,8 +138,8 @@ func expand(s *session, t *template) string {
var b strings.Builder
b.Grow(t.grow)
// One draw per held name, for this expansion only: a nested template and each
// repeat iteration get their own, since each is its own expansion. held stays a
// local: nothing hands it to a builtin, so it and its maps never leave the stack.
// repeat iteration get their own, since each is its own expansion. held reaches
// no further than readField, which keeps it and its maps on the stack.
var held *draws
if len(t.held) > 0 {
held = &draws{
@@ -157,8 +157,7 @@ func expand(s *session, t *template) string {
case 'f':
b.WriteString(readField(s, t, held, o.arms[s.IntN(len(o.arms))]))
case 'b':
// A calc's operands are read here, in the order its expression first
// names them, so the value it computes is the value the format showed.
// Read in the order calcVars fixed, which is what op.operands holds.
var operands []string
if len(o.operands) > 0 {
operands = make([]string, len(o.operands))