@@ -96,7 +96,7 @@ public ScribuntoLuaEngine(WikiPage wp) {
9696 }
9797 }
9898
99- public String invoke (String moduleName , String functionName , Frame parent , Map <String , String > params , boolean trace_calls ) throws ScribuntoException {
99+ public String invoke (String moduleName , String functionName , Frame parent , Map <String , String > params , boolean isSubst , boolean trace_calls ) throws ScribuntoException {
100100 if (debug || trace_calls ) {
101101 System .out .println ("invoke, moduleName=" +moduleName +", functionName=" +functionName );
102102 for (Map .Entry <String ,String > entry : params .entrySet ()) {
@@ -112,7 +112,7 @@ public String invoke(String moduleName, String functionName, Frame parent, Map<S
112112 throw new ScribuntoException (e );
113113 }
114114 }
115- final Frame frame = new Frame (module_label + moduleName , params , parent , true );
115+ final Frame frame = new Frame (module_label + moduleName , params , parent , isSubst );
116116 final LuaValue function = loadFunction (functionName , prototype , frame );
117117
118118 return executeFunctionChunk (function , frame );
@@ -336,7 +336,7 @@ public LuaValue call(LuaValue frameId, LuaValue function, LuaValue args) {
336336 private LuaValue isSubsting () {
337337 return new ZeroArgFunction () {
338338 @ Override public LuaValue call () {
339- return LuaValue .valueOf (true );
339+ return LuaValue .valueOf (getFrameById ( toLuaString ( "current" )). isSubsting () );
340340 }
341341 };
342342 }
0 commit comments