all repos — min @ 5f77cc666774f93d4cec814cfd7416d40bbf71d0

A small but practical concatenative programming language.

Fixes
h3rald h3rald@h3rald.com
Sun, 16 Jun 2024 18:35:11 +0200
commit

5f77cc666774f93d4cec814cfd7416d40bbf71d0

parent

876bb15d4ea2631fc0c4a5c90ebdce3ff826b8a5

1 files changed, 4 insertions(+), 2 deletions(-)

jump to
M minpkg/core/interpreter.nimminpkg/core/interpreter.nim

@@ -197,11 +197,13 @@ proc apply*(i: In, op: MinOperator, sym = "") {.effectsOf: op.} =

if op.kind == minProcOp: if not op.mdl.isNil and not op.mdl.scope.isNil: # Capture closures at module level + let origScope = i.scope let origParentScope = i.scope.parent let origMdlParentScope = op.mdl.scope.parent - i.scope.parent = op.mdl.scope - i.scope.parent.parent = origParentScope + i.scope = op.mdl.scope + i.scope.parent = origScope op.prc(i) + i.scope = origScope i.scope.parent = origParentScope op.mdl.scope.parent = origMdlParentScope else: