aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuescript/yue_compiler.cpp2
-rw-r--r--src/yuescript/yuescript.h6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp
index 9e778d7..8ec131f 100644
--- a/src/yuescript/yue_compiler.cpp
+++ b/src/yuescript/yue_compiler.cpp
@@ -5117,7 +5117,7 @@ private:
5117 newArgs.emplace_back(_parser.toString(argsDef->varArg)); 5117 newArgs.emplace_back(_parser.toString(argsDef->varArg));
5118 } 5118 }
5119 } 5119 }
5120 std::string macroCodes = "_ENV=yue:require('yue'),<index>:_G,<newindex>:(k,v)=>_G[k]=v\n("s + join(newArgs, ","sv) + ")->"s + _parser.toString(macroLit->body); 5120 std::string macroCodes = "_ENV=require('yue').macro_env\n("s + join(newArgs, ","sv) + ")->"s + _parser.toString(macroLit->body);
5121 auto chunkName = "=(macro "s + macroName + ')'; 5121 auto chunkName = "=(macro "s + macroName + ')';
5122 pushCurrentModule(); // cur 5122 pushCurrentModule(); // cur
5123 int top = lua_gettop(L) - 1; 5123 int top = lua_gettop(L) - 1;
diff --git a/src/yuescript/yuescript.h b/src/yuescript/yuescript.h
index 97ebdef..f6d12dc 100644
--- a/src/yuescript/yuescript.h
+++ b/src/yuescript/yuescript.h
@@ -225,4 +225,10 @@ yue.pcall = yue_call
225yue.require = yue_require 225yue.require = yue_require
226yue.p = p 226yue.p = p
227yue.traceback = yue_traceback 227yue.traceback = yue_traceback
228yue.macro_env = setmetatable({yue = yue}, {
229 __index = _G,
230 __newindex = function(_, k, v)
231 _G[k] = v
232 end
233})
228)yuescript_codes"; 234)yuescript_codes";