summaryrefslogtreecommitdiff
path: root/graphics/asymptote/stack.cc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-12-28 03:01:00 +0000
committerNorbert Preining <norbert@preining.info>2021-12-28 03:01:00 +0000
commitecdf859b6ce481abfd530425dcf6f0f764bd0001 (patch)
tree13bc161dc046876ac6c92fce5f9f5034ba9aa573 /graphics/asymptote/stack.cc
parent790995b7e79697514364450bf9c04f1b8d500838 (diff)
CTAN sync 202112280300
Diffstat (limited to 'graphics/asymptote/stack.cc')
-rw-r--r--graphics/asymptote/stack.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/graphics/asymptote/stack.cc b/graphics/asymptote/stack.cc
index a854a9d9ef..7c0d8a9195 100644
--- a/graphics/asymptote/stack.cc
+++ b/graphics/asymptote/stack.cc
@@ -336,8 +336,10 @@ void stack::runWithOrWithoutClosure(lambda *l, vars_t vars, vars_t parent)
/* start the new function */
program::label ip = l->code->begin();
- position& topPos=processData().topPos;
- string& fileName=processData().fileName;
+ processDataStruct& P=processData();
+ position& topPos=P.topPos;
+ string& fileName=P.fileName;
+ unsigned int offset=P.xmapCount;
try {
for (;;) {
@@ -345,7 +347,7 @@ void stack::runWithOrWithoutClosure(lambda *l, vars_t vars, vars_t parent)
curPos = i.pos;
if(curPos.filename() == fileName)
- topPos=curPos;
+ topPos=curPos.shift(offset);
#ifdef PROFILE
prof.recordInstruction();