aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/command_entry.lua
diff options
context:
space:
mode:
Diffstat (limited to 'modules/textadept/command_entry.lua')
-rw-r--r--modules/textadept/command_entry.lua7
1 files changed, 3 insertions, 4 deletions
diff --git a/modules/textadept/command_entry.lua b/modules/textadept/command_entry.lua
index b574f9dd..3590c2cb 100644
--- a/modules/textadept/command_entry.lua
+++ b/modules/textadept/command_entry.lua
@@ -27,10 +27,10 @@ local env = setmetatable({}, {
-- Execute a Lua command.
events.connect(events.COMMAND_ENTRY_COMMAND, function(command)
- local f, err = loadstring(command)
+ local f, err = load(command, nil, 'bt', env)
if err then error(err) end
gui.command_entry.focus() -- toggle focus to hide
- setfenv(f, env)()
+ f()
events.emit(events.UPDATE_UI)
end)
@@ -41,8 +41,7 @@ events.connect(events.COMMAND_ENTRY_KEYPRESS, function(code)
elseif keys.KEYSYMS[code] == '\t' then
local substring = gui.command_entry.entry_text:match('[%w_.:]+$') or ''
local path, o, prefix = substring:match('^([%w_.:]-)([.:]?)([%w_]*)$')
- local f, err = loadstring('return ('..path..')')
- if type(f) == "function" then setfenv(f, env) end
+ local f, err = load('return ('..path..')', nil, 'bt', env)
local ok, tbl = pcall(f)
local cmpls = {}
prefix = '^'..prefix