Split the expansion's hold from the group's, and read a table's row from where the table is entered

This commit is contained in:
2026-09-28 23:09:13 +02:00
committed by Lillem4n
parent 88f762077f
commit 194f194f81
7 changed files with 63 additions and 47 deletions
+3
View File
@@ -263,6 +263,9 @@ func recordOf(n node) (*template, []Column, error) {
// over sc's hold; a table's columns read the row pinned there.
func renderRecord(s *session, t *template, columns []Column, sc renderScope) *Record {
sc = sc.in(t)
if t.table != nil {
sc = sc.at(t.table.pinnedRow, &sc.hold().pins)
}
r := &Record{columns: append([]Column(nil), columns...)}
for i := range r.columns {
column := renderLeaf(s, t.fields[r.columns[i].Name], sc)