diff options
| author | Li Jin <dragon-fly@qq.com> | 2025-01-29 12:20:12 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2025-01-29 12:20:21 +0800 |
| commit | 8a771320fa37d6069a1ef4a9ac30ac6243149e26 (patch) | |
| tree | dcf65dae13d916eac17b34696d603e80e50a281f /src | |
| parent | 891992d0580c1b6959535450cd79f2df1407ac93 (diff) | |
| download | yuescript-8a771320fa37d6069a1ef4a9ac30ac6243149e26.tar.gz yuescript-8a771320fa37d6069a1ef4a9ac30ac6243149e26.tar.bz2 yuescript-8a771320fa37d6069a1ef4a9ac30ac6243149e26.zip | |
Fixed issue #183 and issue #185.
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuescript/yue_compiler.cpp | 4 | ||||
| -rw-r--r-- | src/yuescript/yuescript.h | 27 |
2 files changed, 14 insertions, 17 deletions
diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 2c0b0f9..eb12b3f 100644 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp | |||
| @@ -75,7 +75,7 @@ static std::unordered_set<std::string> Metamethods = { | |||
| 75 | "close"s // Lua 5.4 | 75 | "close"s // Lua 5.4 |
| 76 | }; | 76 | }; |
| 77 | 77 | ||
| 78 | const std::string_view version = "0.26.1"sv; | 78 | const std::string_view version = "0.26.2"sv; |
| 79 | const std::string_view extension = "yue"sv; | 79 | const std::string_view extension = "yue"sv; |
| 80 | 80 | ||
| 81 | class CompileError : public std::logic_error { | 81 | class CompileError : public std::logic_error { |
| @@ -7078,7 +7078,7 @@ private: | |||
| 7078 | } else { | 7078 | } else { |
| 7079 | for (const auto& exp : tmp) { | 7079 | for (const auto& exp : tmp) { |
| 7080 | _buf << exp << " == "sv << varName; | 7080 | _buf << exp << " == "sv << varName; |
| 7081 | if (exp != tmp.back()) { | 7081 | if (&exp != &tmp.back()) { |
| 7082 | _buf << " or "sv; | 7082 | _buf << " or "sv; |
| 7083 | } | 7083 | } |
| 7084 | } | 7084 | } |
diff --git a/src/yuescript/yuescript.h b/src/yuescript/yuescript.h index f6d12dc..ebe90cb 100644 --- a/src/yuescript/yuescript.h +++ b/src/yuescript/yuescript.h | |||
| @@ -164,23 +164,20 @@ local function yue_traceback(err, level) | |||
| 164 | stp.simplified = yue.options.simplified | 164 | stp.simplified = yue.options.simplified |
| 165 | return stp.stacktrace(err, level) | 165 | return stp.stacktrace(err, level) |
| 166 | end | 166 | end |
| 167 | local function yue_require(name) | ||
| 168 | insert_loader() | ||
| 169 | local success, res = xpcall(function() | ||
| 170 | return require(name) | ||
| 171 | end, function(err) | ||
| 172 | return yue_traceback(err, 3) | ||
| 173 | end) | ||
| 174 | if success then | ||
| 175 | return res | ||
| 176 | else | ||
| 177 | print(res) | ||
| 178 | return nil | ||
| 179 | end | ||
| 180 | end | ||
| 181 | setmetatable(yue, { | 167 | setmetatable(yue, { |
| 182 | __call = function(self, name) | 168 | __call = function(self, name) |
| 183 | return self.require(name) | 169 | insert_loader() |
| 170 | local success, res = xpcall(function() | ||
| 171 | return require(name) | ||
| 172 | end, function(err) | ||
| 173 | return yue_traceback(err, 3) | ||
| 174 | end) | ||
| 175 | if success then | ||
| 176 | return res | ||
| 177 | else | ||
| 178 | print(res) | ||
| 179 | return nil | ||
| 180 | end | ||
| 184 | end | 181 | end |
| 185 | }) | 182 | }) |
| 186 | local function dump(what) | 183 | local function dump(what) |
