Re: [textadept] Loading a lua script

From: Robert <>
Date: Tue, 15 Feb 2011 18:43:34 +0100

On Tue, Jan 25, 2011 at 10:40 PM, Robert <> wrote:
> On Sun, Jan 23, 2011 at 8:04 PM, mitchell <> wrote:
> <snip>
>>> A script "test.lua" can now be run from the command line with
>>> textadept --luaonly test.lua
>> Cool! This can be rather useful.
>>> Does anyone know how I could sandbox this that Textadept's modules
>>> would not be part of the script's environment? I read a bit about
>>> sandboxing and setfenv but haven't found a simple way yet. If this is
>>> possible one could also use Textadept instead of the external Lua
>>> interpreter in the run commands (if there is no Lua installed).
>> I'm not sure that setfenv would work. Other than the obvious '[table] =
>> nil', I don't know how this would be done since most of the initial state is
>> populated in C.
>> mitchell
> Putting this directly in core/args.lua, like
> if (arg[1] == '-l' or arg[1] == '--luaonly') then
>  luaonly(arg[2])
> end
> args.register('-l', '--luaonly', 1, function() end, 'Load lua script and exit')
> with local function luaonly as before there aren't that many things
> loaded, so it would be less effort to delete them (or not necessary) -
> plus starting the script here (before loading all other Textadept
> modules) makes it feel as fast as using the standard Lua interpreter.
> Robert
How about the attached patch? If not for core I'd put it on the wiki.
I changed the arg positions so that they make sense for an external
script and removed
gui and new_buffer. The rest seems not to be so dangerous.


Received on Tue 15 Feb 2011 - 12:43:34 EST

This archive was generated by hypermail 2.2.0 : Thu 08 Mar 2012 - 11:59:10 EST