summaryrefslogtreecommitdiff
path: root/systems/doc
diff options
context:
space:
mode:
Diffstat (limited to 'systems/doc')
-rw-r--r--systems/doc/luatex/luatex-fontloader.tex2
-rw-r--r--systems/doc/luatex/luatex-languages.tex2
-rw-r--r--systems/doc/luatex/luatex-lua.tex78
-rw-r--r--systems/doc/luatex/luatex-nodes.tex20
-rw-r--r--systems/doc/luatex/luatex-tex.tex17
-rw-r--r--systems/doc/luatex/luatex.pdfbin1775307 -> 1780325 bytes
6 files changed, 96 insertions, 23 deletions
diff --git a/systems/doc/luatex/luatex-fontloader.tex b/systems/doc/luatex/luatex-fontloader.tex
index 1e12b61f11..055228bcda 100644
--- a/systems/doc/luatex/luatex-fontloader.tex
+++ b/systems/doc/luatex/luatex-fontloader.tex
@@ -306,7 +306,7 @@ the documentation are not yet finished):
\starttabulate[|l|l|p|]
\DB key \BC type \NC explanation \NC \NR
\TB
-\NC \type{table_version} \NC number \NC indicates the metrics version (currently~0.3)\NC \NR
+\NC \type{table_version} \NC string \NC indicates the metrics version (currently~0.3)\NC \NR
\NC \type{fontname} \NC string \NC \POSTSCRIPT\ font name\NC \NR
\NC \type{fullname} \NC string \NC official (human-oriented) font name\NC \NR
\NC \type{familyname} \NC string \NC family name\NC \NR
diff --git a/systems/doc/luatex/luatex-languages.tex b/systems/doc/luatex/luatex-languages.tex
index 573727a66e..875094721d 100644
--- a/systems/doc/luatex/luatex-languages.tex
+++ b/systems/doc/luatex/luatex-languages.tex
@@ -140,7 +140,7 @@ hyphenation happens is (normally) when the paragraph or a horizontal box is
constructed. When \prm {savinghyphcodes} was zero when the language got
initialized you start out with nothing, otherwise you already have a set.
-When a \lpr {hjcode} is greater than 0 but less than 32 is indicates the
+When a \lpr {hjcode} is greater than 0 but less than 32 it indicates the
to be used length. In the following example we map a character (\type {x}) onto
another one in the patterns and tell the engine that \type {œ} counts as one
character. Because traditionally zero itself is reserved for inhibiting
diff --git a/systems/doc/luatex/luatex-lua.tex b/systems/doc/luatex/luatex-lua.tex
index 94dead9e14..eefdf4425b 100644
--- a/systems/doc/luatex/luatex-lua.tex
+++ b/systems/doc/luatex/luatex-lua.tex
@@ -88,6 +88,8 @@ consequence. The following command|-|line options are understood:
\NC \type{--[no-]mktex=FMT} \NC disable/enable \type {mktexFMT} generation with \type {FMT} is
\type {tex} or \type {tfm} \NC \NR
\NC \type{--nosocket} \NC disable the \LUA\ socket library \NC\NR
+\NC \type{--no-socket} \NC disable the \LUA\ socket library \NC\NR
+\NC \type{--socket} \NC enable the \LUA\ socket library \NC\NR
\NC \type{--output-comment=STRING} \NC use \type {STRING} for \DVI\ file comment instead of date (no
effect for \PDF) \NC \NR
\NC \type{--output-directory=DIR} \NC use \type {DIR} as the directory to write files to \NC \NR
@@ -147,7 +149,8 @@ in the following order:
\startitem
First, it will parse the command line as usual, but it will only interpret a
small subset of the options immediately: \type {--safer}, \type {--nosocket},
- \type {--[no-]shell-escape}, \type {--enable-write18}, \type
+ \type {--no-socket},
+ \type {--socket}, \type {--[no-]shell-escape}, \type {--enable-write18}, \type
{--disable-write18}, \type {--shell-restricted}, \type {--help}, \type
{--version}, and \type {--credits}.
\stopitem
@@ -169,7 +172,8 @@ in the following order:
\starttabulate[|c|l|]
\DB library \BC functions \NC \NR
\TB
- \NC \type {os} \NC \type {execute} \type {exec} \type {spawn} \type {setenv}
+ \NC \type {os} \NC \type {execute} \type {exec} \type{kpsepopen}
+ \type {spawn} \type {setenv}
\type {rename} \type {remove} \type {tmpdir} \NC \NR
\NC \type {io} \NC \type {popen} \type {output} \type {tmpfile} \NC \NR
\NC \type {lfs} \NC \type {rmdir} \type {mkdir} \type {chdir} \type {lock}
@@ -181,6 +185,9 @@ in the following order:
Furthermore, it disables loading of compiled \LUA\ libraries and it makes
\type {io.open()} fail on files that are opened for anything besides reading.
+
+ Finally, it disables the \type {socket} library unconditionally (but not the
+ \type {mime} library which is always available).
\stopitem
\startitem
@@ -193,13 +200,25 @@ in the following order:
os.setlocale(nil,nil)
\stoptyping
- The \type {--nosocket} option makes the socket library unavailable, so that \LUA\
- cannot use networking.
+ The \type {--nosocket} or \type {--no-socket} option makes the socket library
+ unavailable, so that \LUA\ cannot use networking;
+ \type {--socket} option makes the socket library available.
The switches \type {--[no-]shell-escape}, \type {--[enable|disable]-write18}, and
\type {--shell-restricted} have the same effects as in \PDFTEX, and additionally
- make \type {io.popen()}, \type {os.execute}, \type {os.exec} and \type {os.spawn}
- adhere to the requested option.
+ make \type {io.popen()}, \type {os.execute}, \type {os.exec}, \type {os.kpsepopen}
+ and \type {os.spawn} adhere to the requested option.
+
+ By default
+ the socket library is not enabled: one can enable it with with \type {--socket}
+ or with \type {--shell-escape} (but without \type {--shell-restricted})
+ and disable it with \type {--nosocket} (or \type {--no-socket})
+ or unconditionally with \type {--safer}.
+
+ In case of conflictual options, the most restrictive wins.
+
+ The \type{mime} library is always available.
+
\stopitem
\startitem
@@ -319,8 +338,8 @@ of the module itself).
\startsubsection[title={Executing programs}]
-In keeping with the other \TEX|-|like programs in \TEXLIVE, the two \LUA\ functions
-\type {os.execute} and \type {io.popen}, as well as the two new functions \type
+In keeping with the other \TEX|-|like programs in \TEXLIVE, the \LUA\ functions
+\type {os.execute}, \type{os.kpsepopen} and \type {io.popen}, as well as the two new functions \type
{os.exec} and \type {os.spawn} that are explained below, take the value of \type
{shell_escape} and|/|or \type {shell_escape_commands} in account. Whenever
\LUATEX\ is run with the assumed intention to typeset a document (and by that we
@@ -432,12 +451,19 @@ used as building blocks for other helpers.
\startsubsection[title={Extra \type {os} library functions}]
-The \type {os} library has a few extra functions and variables: \libidx {os}
-{selfdir}, \libidx {os} {exec}, \libidx {os} {spawn}, \libidx {os} {setenv},
-\libidx {os} {env}, \libidx {os} {gettimeofday}, \libidx {os} {times}, \libidx
-{os} {tmpdir}, \libidx {os} {type}, \libidx {os} {name} and \libidx {os} {uname},
+The \type {os} library has a few extra functions and
+variables: \libidx {os} {selfdir}, \libidx {os} {exec},
+\libidx {os} {kpsepopen},
+\libidx {os} {socketgettime}, \libidx {os} {socketsleep},
+\libidx {os} {spawn}, \libidx {os} {setenv},
+\libidx {os} {env}, \libidx {os} {gettimeofday}, \libidx {os} {times},
+\libidx {os} {sleep}, \libidx {os} {tmpdir}, \libidx {os} {type},
+\libidx {os} {name} and \libidx {os} {uname},{os} {uname},
that we will discuss here.
+
+
+
\startitemize
\startitem
@@ -496,6 +522,18 @@ that we will discuss here.
\stopitem
\startitem
+ \type {os.kpsepopen(commandline,[opt])} is similar to \type {io.popen}
+ but with a preliminary check of the commandline;
+ if the check is ok then the return value is the same as in \type{io.popen};
+ Otherwise it will return the two values \type {nil} and \type {error}.
+\stopitem
+
+\startitem
+ \type {os.socketgettime} and \type {os.socketsleep} are the same as for
+ \type{socket.gettime} and \type{socket.sleep} but they are always available.
+\stopitem
+
+\startitem
\type {os.spawn(commandline)} is a returning version of \type {os.exec},
with otherwise identical calling conventions.
@@ -522,19 +560,29 @@ that we will discuss here.
\stopitem
\startitem
- \type {os.times()}returns the current process times according to \ the
+ \type {os.times()}returns the current process times according to the
\UNIX\ C library function \quote {times}. This function is not available on
the \MSWINDOWS\ and \SUNOS\ platforms, so do not use this function for
portable documents.
\stopitem
\startitem
- \type {os.tmpdir()} creates a directory in the \quote {current directory}
+ \type {os.sleep(interval[, unit])} suspends the execution of the current run for
+ a given number of seconds. If the optional argument \type {unit} is present, the
+ function waits \type {interval / units} seconds. \type {os.sleep(1, 1000)}
+ for example pauses the program for one millisecond.
+\stopitem
+
+\startitem
+ \type {os.tmpdir([template])} creates a directory in the \quote {current directory}
with the name \type {luatex.XXXXXX} where the \type {X}-es are replaced by a
unique string. The function also returns this string, so you can \type
{lfs.chdir()} into it, or \type {nil} if it failed to create the directory.
The user is responsible for cleaning up at the end of the run, it does not
- happen automatically.
+ happen automatically. You can also use your own \type {template} for the name
+ of the temporary folder. However, the passed string must end with six capital
+ \type {X}-es. For example, the template \type {tmp.XXXXXX} could result in the
+ folder name \type {tmp.vX3gPo}.
\stopitem
\startitem
diff --git a/systems/doc/luatex/luatex-nodes.tex b/systems/doc/luatex/luatex-nodes.tex
index 42a4aedc72..a57ed98b2d 100644
--- a/systems/doc/luatex/luatex-nodes.tex
+++ b/systems/doc/luatex/luatex-nodes.tex
@@ -2334,21 +2334,26 @@ consistency. You can of course always define additional accessors using \type
\supported {fields} \yes \nop
\supported {find_attribute} \yes \yes
\supported {first_glyph} \yes \yes
+\supported {fix_node_lists} \yes \nop
\supported {flatten_discretionaries} \yes \yes
\supported {flush_list} \yes \yes
\supported {flush_node} \yes \yes
+\supported {flush_properties_table} \yes \yes
\supported {free} \yes \yes
\supported {get_attribute} \yes \yes
+\supported {get_properties_table} \yes \yes
\supported {get_synctex_fields} \nop \yes
\supported {getattributelist} \nop \yes
\supported {getboth} \yes \yes
\supported {getbox} \nop \yes
\supported {getchar} \yes \yes
\supported {getcomponents} \nop \yes
+\supported {getdata} \nop \yes
\supported {getdepth} \nop \yes
\supported {getdirection} \nop \yes
\supported {getdir} \nop \yes
\supported {getdisc} \yes \yes
+\supported {getexpansion} \nop \yes
\supported {getfam} \nop \yes
\supported {getfield} \yes \yes
\supported {getfont} \yes \yes
@@ -2369,13 +2374,13 @@ consistency. You can of course always define additional accessors using \type
\supported {getsubtype} \yes \yes
\supported {getsub} \nop \yes
\supported {getsup} \nop \yes
-\supported {getdata} \nop \yes
\supported {getwhd} \yes \yes
\supported {getwidth} \nop \yes
\supported {has_attribute} \yes \yes
\supported {has_field} \yes \yes
\supported {has_glyph} \yes \yes
\supported {hpack} \yes \yes
+\supported {hyphenating} \nop \yes
\supported {id} \yes \nop
\supported {insert_after} \yes \yes
\supported {insert_before} \yes \yes
@@ -2388,10 +2393,11 @@ consistency. You can of course always define additional accessors using \type
\supported {last_node} \yes \yes
\supported {length} \yes \yes
\supported {ligaturing} \yes \yes
+\supported {make_extensible} \yes \nop
\supported {mlist_to_hlist} \yes \nop
\supported {new} \yes \yes
\supported {next} \yes \nop
-\supported {prepend_prevdepth} \nop \yes
+\supported {prepend_prevdepth} \yes \yes
\supported {prev} \yes \nop
\supported {protect_glyphs} \yes \yes
\supported {protect_glyph} \yes \yes
@@ -2399,20 +2405,22 @@ consistency. You can of course always define additional accessors using \type
\supported {rangedimensions} \yes \yes
\supported {remove} \yes \yes
\supported {set_attribute} \yes \yes
+\supported {set_properties_mode} \yes \yes
\supported {set_synctex_fields} \nop \yes
\supported {setattributelist} \nop \yes
\supported {setboth} \nop \yes
\supported {setbox} \nop \yes
\supported {setchar} \nop \yes
\supported {setcomponents} \nop \yes
+\supported {setdata} \nop \yes
\supported {setdepth} \nop \yes
\supported {setdirection} \nop \yes
\supported {setdir} \nop \yes
\supported {setdisc} \nop \yes
+\supported {setexpansion} \nop \yes
\supported {setfam} \nop \yes
\supported {setfield} \yes \yes
\supported {setfont} \nop \yes
-\supported {setexpansion} \nop \yes
\supported {setglue} \yes \yes
\supported {setheight} \nop \yes
\supported {setkern} \nop \yes
@@ -2443,6 +2451,7 @@ consistency. You can of course always define additional accessors using \type
\supported {traverse_char} \yes \yes
\supported {traverse_glyph} \yes \yes
\supported {traverse_id} \yes \yes
+\supported {traverse_list} \nop \yes
\supported {traverse} \yes \yes
\supported {types} \yes \nop
\supported {type} \yes \nop
@@ -2451,6 +2460,7 @@ consistency. You can of course always define additional accessors using \type
\supported {unset_attribute} \yes \yes
\supported {usedlist} \yes \yes
\supported {uses_font} \yes \yes
+\supported {values} \yes \nop
\supported {vpack} \yes \yes
\supported {whatsits} \yes \nop
\supported {write} \yes \yes
@@ -2490,9 +2500,9 @@ number, for a glue, kern, hlist, vlist, rule and math nodes as well as glyph
nodes (although this last one is not used in native \SYNCTEX).
\startfunctioncall
-node.set_synctex_fields(<integer> f, <integer> l)
+node.direct.set_synctex_fields(<integer> n, <integer> f, <integer> l)
<integer> f, <integer> l =
- node.get_synctex_fields(<node> n)
+ node.direct.get_synctex_fields(<integer> n)
\stopfunctioncall
Of course you need to know what you're doing as no checking on sane values takes
diff --git a/systems/doc/luatex/luatex-tex.tex b/systems/doc/luatex/luatex-tex.tex
index f8c3d5ac63..4752c25157 100644
--- a/systems/doc/luatex/luatex-tex.tex
+++ b/systems/doc/luatex/luatex-tex.tex
@@ -96,7 +96,7 @@ If you want to unset a \LUA\ name, you can assign \type {nil} to it. The functio
accessors are:
\startfunctioncall
-lua.setluaname(<string> s,<number> n])
+lua.setluaname(<number> n, <string> s)
<string> s = lua.getluaname(<number> n)
\stopfunctioncall
@@ -2854,6 +2854,21 @@ Returns the kpathsea version string.
\stopsubsection
+\startsubsection[title={\type {check_permission}}]
+
+\libindex{check\_permission}
+
+Checks if the \type{filename} can be executed or not.
+Returns \type{1}, \type{filename} or a safe cmd alternative if it can be executed,
+otherwise returns \type{0} and an error message.
+
+\startfunctioncall
+<string> res, cmd = kpse.check_permission(filename)
+\stopfunctioncall
+
+\stopsubsection
+
+
\stopsection
\stopchapter
diff --git a/systems/doc/luatex/luatex.pdf b/systems/doc/luatex/luatex.pdf
index efd2d01178..cfb9e734a7 100644
--- a/systems/doc/luatex/luatex.pdf
+++ b/systems/doc/luatex/luatex.pdf
Binary files differ