diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua index 48bdeeacd..bcff783ca 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/lua_shell.lua @@ -101,7 +101,10 @@ while tty.isAvailable() do if string.sub(command, 1, 1) == "=" then code, reason = load("return " .. string.sub(command, 2), "=stdin", "t", env) else - code, reason = load(command, "=stdin", "t", env) + code, reason = load("return " .. command, "=stdin", "t", env) + if not code then + code, reason = load(command, "=stdin", "t", env) + end end if code then local result = table.pack(xpcall(code, debug.traceback)) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/tty.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/tty.lua index bdfca7144..820585a1f 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/tty.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/tty.lua @@ -32,11 +32,11 @@ function tty.key_down_handler(handler, cursor, char, code) elseif code == keys.enter or code == keys.numpadenter then cursor:move(math.huge) cursor:draw("\n") - if #data > 0 then + if data:find("%S") and data ~= handler[1] then table.insert(handler, 1, data) handler[(tonumber(os.getenv("HISTSIZE")) or 10)+1]=nil - handler[0]=nil end + handler[0]=nil return nil, data .. "\n" elseif code == keys.up or code == keys.down then local ni = handler.index + (code == keys.up and 1 or -1)