Hello,
thanks for detailing the observation -
On Fri, 07 Jan 2011 22:58:24 +0100, Hans Hagen
On 7-1-2011 9:32, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
- Modes are accessible by tex.modes[<a-mode>].
indeed
- - tex.modes are 'false' by default. I.e. they are not 'nil' but 'false', even if not specified on the command line. (tex.mode.__newindex predefined to this purpose?)
indeed
- There is no table of arguments or variables being passed by --arguments="ARG=arg" or by --variable="VAR=var" from the command line.
indeed (--arguments is an old mechanism and mkii compatible)
- All arguments passed to the command line are accessible by document.arguments. Unfortunately, when repeating an arg, only the last is accessible, e.g.
context.exe t.mkiv --arguments="ARG1=arg1" --arguments="ARG2=arg2"
indeed, so one can easily overload
You're right, good feature.
will cause that only (string) "ARG2=arg2" will be in document.arguments.arguments.
as mentioned by someone already, use "a=1,b=2,c=3"
- - That means also that not splitting to key-value pair is not performed by default (document.arguments.arguments is still "ARG2=arg2", no splitting to document.arguments.arguments.ARG2 to be "arg2" is not done).
indeed, although they are split and assigned at the tex end
So, an earlier splitting may be performed by something like for a in document.arguments:gmatch("([^,]+)") do local k, v = a:match("(.*)=(.*)") document.arguments[k] = v end Best regards, Lukas
- Not only predefined options/switches, but all args passed by command line are accessible by document.arguments. I.e. it's possible to call
context.exe t.mkiv --myvar=MYVAR
right, but make sure to use a prefix so that there is no confusion (myvarone myvartwo etc)
and later it's possible to get "MYVAR" from document.arguments.myvar.
Let's check the call:
context.exe t.mkiv --arguments=AAA=aaa --mode=MMM --arguments=BBB=bbb --myvar=MYVAR
Hans