# HG changeset patch # User Kim Alvefur # Date 1628686559 -7200 # Node ID ddb87df3de302fc0fefdd086db6c64e221621081 # Parent 7d29167bfcc366bbce207a7c3bc0358222382874 mod_admin_shell: Keep unrestricted environment for session lifetime Makes it so that global values set in the environment are kept longer than within one line, and thus can be used until the session ends. They still don't pollute the global environment, which is an error anyway. Thanks phryk for noticing. diff -r 7d29167bfcc3 -r ddb87df3de30 plugins/mod_admin_shell.lua --- a/plugins/mod_admin_shell.lua Thu Jul 29 20:16:11 2021 +0200 +++ b/plugins/mod_admin_shell.lua Wed Aug 11 14:55:59 2021 +0200 @@ -135,8 +135,12 @@ return; end + if useglobalenv and not session.globalenv then + session.globalenv = redirect_output(_G, session); + end + local chunkname = "=console"; - local env = (useglobalenv and redirect_output(_G, session)) or session.env or nil + local env = (useglobalenv and session.globalenv) or session.env or nil -- luacheck: ignore 311/err local chunk, err = envload("return "..line, chunkname, env); if not chunk then