diff options
| author | ruki <[email protected]> | 2018-04-11 22:36:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-04-11 09:39:58 +0800 |
| commit | a193fb96aa44c2ba32b18557fabd7d7694ee41eb (patch) | |
| tree | cf1b53816b123762d64d7264c56ad2c827f97466 /xmake/core/base/option.lua | |
| parent | 4b9de4cb6a555c80be771fad26fe4c00ac3f4e2e (diff) | |
improve interpreter tips
Diffstat (limited to 'xmake/core/base/option.lua')
| -rw-r--r-- | xmake/core/base/option.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/xmake/core/base/option.lua b/xmake/core/base/option.lua index a6a87ad7c..520a5f516 100644 --- a/xmake/core/base/option.lua +++ b/xmake/core/base/option.lua @@ -41,13 +41,13 @@ function option._translate(menu) local submenus_all = {} for k, submenu in pairs(menu) do if type(submenu) == "function" then - local _submenus, errors = submenu() - if _submenus then - for k, m in pairs(_submenus) do + local ok, _submenus_or_errors = pcall(submenu) + if ok and _submenus_or_errors then + for k, m in pairs(_submenus_or_errors) do submenus_all[k] = m end else - return false, errors + return false, (_submenus_or_errors or "translate option menu failed!") end else submenus_all[k] = submenu |
