summaryrefslogtreecommitdiffstats
path: root/strudel.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-16 20:08:09 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-16 20:08:09 -0700
commitd74778b6bf799cadf2f8de8b06e6e70e2ea733bb (patch)
tree1ecc732ef39711fe43339286029e41425499a645 /strudel.c
parent193cf80ca30c3f99fba965ed8dade31eddb8e098 (diff)
downloadtxr-d74778b6bf799cadf2f8de8b06e6e70e2ea733bb.tar.gz
txr-d74778b6bf799cadf2f8de8b06e6e70e2ea733bb.tar.bz2
txr-d74778b6bf799cadf2f8de8b06e6e70e2ea733bb.zip
compiler: fix wrong, undersized frame size in closure.
* share/txr/stdlib/compiler.tl (compiler comp-lambda): Frame size can't be calculated from nfixed, because that doesn't account for the extra variables in optional parameters. It can't be calculated from the number of lexical variables either, because parameters that are special variables consume vXXYY frame entries without being counted as lexicals. Rather, the accurate frame size is given to us by the value of the counter in the newly created environment.
Diffstat (limited to 'strudel.c')
0 files changed, 0 insertions, 0 deletions