Xml.free gives back a parsed tree's records and lists (never its strings) and the parser's cursor is freed; ludic.ui frees a template's XML once built, sel_parse's and ex_parse's readers, lss_rule's declarations holder, and px_cmp no longer makes a list of its operators per call

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-29 00:11:40 +03:00
parent 3816d9924b
commit 7b20f305ff
8 changed files with 40 additions and 8 deletions

View file

@ -62,6 +62,7 @@ function ex_parse(src: string, err: []string) -> UiExpr {
rd_ws(r)
if r.err == "" and r.i < len(r.s) { rd_fail(r, "the end") }
if r.err != "" { push(err, r.err) }
unsafe { free(r) } # the reader only: what the expression keeps is copied out
return e
}
# text with {holes}: a literal when it has none, the expression itself when it is one hole and