diff --git a/manual/luatex-introduction.tex b/manual/luatex-introduction.tex index e6025cb36ba6e92e01671eb8d76fe0924f32cfbf..196a9af4ffa17f2085c23bedc705343326650d60 100644 --- a/manual/luatex-introduction.tex +++ b/manual/luatex-introduction.tex @@ -120,8 +120,10 @@ Taco Hoekwater \& Luigi Scarso \starttabulate \NC Version \EQ \currentdate \NC \NR -\NC \LUATEX \EQ Snapshot \number\luatexversion.\luatexrevision \NC \NR -\NC \CONTEXT \EQ \contextversion \NC \NR +\NC \LUATEX \EQ version \cldcontext{status.luatex_version/100}, + revision \cldcontext{status.luatex_revision}, + number \cldcontext{environment.luatexversion} \NC \NR +\NC \CONTEXT \EQ MkIV \contextversion \NC \NR \stoptabulate \stopchapter diff --git a/manual/luatex-tex.tex b/manual/luatex-tex.tex index 017fa711c095196d0a4b8e07866c2909c4f288ae..73e141f4d8ac8fa4a2f6e9ff35c820ecf4fccd74 100644 --- a/manual/luatex-tex.tex +++ b/manual/luatex-tex.tex @@ -99,70 +99,74 @@ The current list is: \starttabulate[|lT|p|] \NC \rmbf key \NC \bf explanation \NC \NR -\NC pdf_gone \NC written \PDF\ bytes \NC \NR -\NC pdf_ptr \NC not yet written \PDF\ bytes \NC \NR +\NC banner \NC terminal display banner \NC \NR +\NC best_page_break \NC the current best break (a node) \NR \NR +\NC buf_size \NC current allocated size of the line buffer \NC \NR +\NC callbacks \NC total number of executed callbacks so far \NC \NR +\NC cs_count \NC number of control sequences \NC \NR +\NC dest_names_size \NC \PDF\ destination table size \NC \NR \NC dvi_gone \NC written \DVI\ bytes \NC \NR \NC dvi_ptr \NC not yet written \DVI\ bytes \NC \NR -\NC total_pages \NC number of written pages \NC \NR -\NC output_file_name \NC name of the \PDF\ or \DVI\ file \NC \NR -\NC log_name \NC name of the log file \NC \NR -\NC banner \NC terminal display banner \NC \NR -\NC var_used \NC variable (one|-|word) memory in use \NC \NR \NC dyn_used \NC token (multi|-|word) memory in use \NC \NR -\NC str_ptr \NC number of strings \NC \NR -\NC init_str_ptr \NC number of \INITEX\ strings \NC \NR -\NC max_strings \NC maximum allowed strings \NC \NR -\NC pool_ptr \NC string pool index \NC \NR -\NC init_pool_ptr \NC \INITEX\ string pool index \NC \NR -\NC pool_size \NC current size allocated for string characters \NC \NR -\NC node_mem_usage \NC a string giving insight into currently used nodes \NC \NR -\NC var_mem_max \NC number of allocated words for nodes \NC \NR -\NC fix_mem_max \NC number of allocated words for tokens \NC \NR +\NC filename \NC name of the current input file \NC \NR \NC fix_mem_end \NC maximum number of used tokens \NC \NR -\NC cs_count \NC number of control sequences \NC \NR -\NC hash_size \NC size of hash \NC \NR -\NC hash_extra \NC extra allowed hash \NC \NR +\NC fix_mem_min \NC minimum number of allocated words for tokens \NC \NR +\NC fix_mem_max \NC maximum number of allocated words for tokens \NC \NR \NC font_ptr \NC number of active fonts \NC \NR +\NC hash_extra \NC extra allowed hash \NC \NR +\NC hash_size \NC size of hash \NC \NR +\NC indirect_callbacks \NC number of those that were themselves a result of other callbacks (e.g. file readers) \NC \NR +\NC ini_version \NC \type {true} if this is an \INITEX\ run \NC \NR +\NC init_pool_ptr \NC \INITEX\ string pool index \NC \NR +\NC init_str_ptr \NC number of \INITEX\ strings \NC \NR \NC input_ptr \NC th elevel of input we're at \NC \NR +\NC inputid \NC numeric id of the current input \NC \NR +\NC largest_used_mark \NC max referenced marks class \NC \NR +\NC lasterrorcontext \NC last error context string (with newlines) \NC \NR +\NC lasterrorstring \NC last \TEX\ error string \NC \NR +\NC lastluaerrorstring \NC last \LUA\ error string \NC \NR +\NC lastwarningstring \NC last warning tag, normally an indication of in what part\NC \NR +\NC lastwarningtag \NC last warning string\NC \NR +\NC linenumber \NC location in the current input file \NC \NR +\NC log_name \NC name of the log file \NC \NR +\NC luabytecode_bytes \NC number of bytes in \LUA\ bytecode registers \NC \NR +\NC luabytecodes \NC number of active \LUA\ bytecode registers \NC \NR +\NC luastate_bytes \NC number of bytes in use by \LUA\ interpreters \NC \NR +\NC luatex_engine \NC the \LUATEX\ engine identifier \NC \NR +\NC luatex_hashchars \NC length to which \LUA\ hashes strings ($2^n$) \NC \NR +\NC luatex_hashtype \NC the hash method used (in \LUAJITTEX) \NC \NR +\NC luatex_revision \NC the \LUATEX\ revision string \NC \NR +\NC luatex_revision \NC the \LUATEX\ revision string \NC \NR +\NC luatex_version \NC the \LUATEX\ version number \NC \NR +\NC max_buf_stack \NC max used buffer position \NC \NR \NC max_in_stack \NC max used input stack entries \NC \NR \NC max_nest_stack \NC max used nesting stack entries \NC \NR \NC max_param_stack \NC max used parameter stack entries \NC \NR -\NC max_buf_stack \NC max used buffer position \NC \NR \NC max_save_stack \NC max used save stack entries \NC \NR -\NC stack_size \NC input stack size \NC \NR +\NC max_strings \NC maximum allowed strings \NC \NR \NC nest_size \NC nesting stack size \NC \NR -\NC param_size \NC parameter stack size \NC \NR -\NC buf_size \NC current allocated size of the line buffer \NC \NR -\NC save_size \NC save stack size \NC \NR +\NC node_mem_usage \NC a string giving insight into currently used nodes \NC \NR \NC obj_ptr \NC max \PDF\ object pointer \NC \NR \NC obj_tab_size \NC \PDF\ object table size \NC \NR -\NC pdf_os_cntr \NC max \PDF\ object stream pointer \NC \NR -\NC pdf_os_objidx \NC \PDF\ object stream index \NC \NR +\NC output_active \NC \type {true} if the \type {\output} routine is active \NC \NR +\NC output_file_name \NC name of the \PDF\ or \DVI\ file \NC \NR +\NC param_size \NC parameter stack size \NC \NR \NC pdf_dest_names_ptr \NC max \PDF\ destination pointer \NC \NR -\NC dest_names_size \NC \PDF\ destination table size \NC \NR +\NC pdf_gone \NC written \PDF\ bytes \NC \NR \NC pdf_mem_ptr \NC max \PDF\ memory used \NC \NR \NC pdf_mem_size \NC \PDF\ memory size \NC \NR -\NC largest_used_mark \NC max referenced marks class \NC \NR -\NC filename \NC name of the current input file \NC \NR -\NC inputid \NC numeric id of the current input \NC \NR -\NC linenumber \NC location in the current input file \NC \NR -\NC lasterrorstring \NC last \TEX\ error string \NC \NR -\NC lastluaerrorstring \NC last \LUA\ error string \NC \NR -\NC lastwarningtag \NC last warning string\NC \NR -\NC lastwarningstring \NC last warning tag, normally an indication of in what part\NC \NR -\NC lasterrorcontext \NC last error context string (with newlines) \NC \NR -\NC luabytecodes \NC number of active \LUA\ bytecode registers \NC \NR -\NC luabytecode_bytes \NC number of bytes in \LUA\ bytecode registers \NC \NR -\NC luastate_bytes \NC number of bytes in use by \LUA\ interpreters \NC \NR -\NC output_active \NC \type {true} if the \type {\output} routine is active \NC \NR -\NC callbacks \NC total number of executed callbacks so far \NC \NR -\NC indirect_callbacks \NC number of those that were themselves - a result of other callbacks (e.g. file readers) \NC \NR -\NC luatex_version \NC the \LUATEX\ version number \NC \NR -\NC luatex_revision \NC the \LUATEX\ revision string \NC \NR -\NC ini_version \NC \type {true} if this is an \INITEX\ run \NC \NR -\NC shell_escape \NC \type {0} means disabled, \type {1} is restricted and - \type {2} means anything is permitted \NC \NR +\NC pdf_os_cntr \NC max \PDF\ object stream pointer \NC \NR +\NC pdf_os_objidx \NC \PDF\ object stream index \NC \NR +\NC pdf_ptr \NC not yet written \PDF\ bytes \NC \NR +\NC pool_ptr \NC string pool index \NC \NR +\NC pool_size \NC current size allocated for string characters \NC \NR +\NC save_size \NC save stack size \NC \NR +\NC shell_escape \NC \type {0} means disabled, \type {1} is restricted and \type {2} means anything is permitted \NC \NR +\NC stack_size \NC input stack size \NC \NR +\NC str_ptr \NC number of strings \NC \NR +\NC total_pages \NC number of written pages \NC \NR +\NC var_mem_max \NC number of allocated words for nodes \NC \NR +\NC var_used \NC variable (one|-|word) memory in use \NC \NR \stoptabulate The error and warning messages can be wiped with the \type {resetmessages} diff --git a/manual/luatex.pdf b/manual/luatex.pdf index 9ec2f5fce5207f7b9cca052a9e52ab88e6b5e405..80b672892462b0f72976e35b39855ee159692ee2 100644 Binary files a/manual/luatex.pdf and b/manual/luatex.pdf differ diff --git a/manual/luatex.tex b/manual/luatex.tex index bc4a4b31efe4df4fe68ee19ecacf806b805aa816..1ccc9b7a59a39552d9eaac9a2a7bafcd5174e6a6 100644 --- a/manual/luatex.tex +++ b/manual/luatex.tex @@ -30,7 +30,7 @@ \startdocument [status=intermediate release, - version=1.0.3] + version=1.0.4] \component luatex-titlepage diff --git a/source/texk/web2c/luatexdir/NEWS b/source/texk/web2c/luatexdir/NEWS index d01f0744a970a8c8e1dda4954c79852cc2c701d7..3bd279cfccfbb2681e0038bd578eb38f27328c6c 100644 --- a/source/texk/web2c/luatexdir/NEWS +++ b/source/texk/web2c/luatexdir/NEWS @@ -1,6 +1,51 @@ This file is in the public domain. +============================================================== +LuaTeX Release 1.0.3 was released 2017021514 +============================================================== + +This is a minor upgrade and probably this version will go on texlive. There are a couple +of fixes and additions. +- We added a few a few more helpers in the pdf namespace (like set|get]gentounicode, + [set|get]omitcidset and set|get]decimaldigits. Some helpers were moved from the tex + to the pdf namespace. + +- We added a build_page_insert callback for inserts so that one can for instance adapt + spacing on demand. + +- On the agenda has been some more control over word start and end in hyphenation and + this is now possible via hyphenationbounds. We also updated the manual with some more + details. + +- An old tracker item with respect to control over spacing around math was revived and + has resulted in mathsurroundmode (one can wonder how useful this is). + +- We improved the resolution detection in included jpeg images. + + +- An ffi library has been added to luatex so that it is more in sync with luajittex. This + permits easy and flexible loading of libraries. Our policy is to make luatex as lean + as possible with no dependencies and this is a step towards that. Eventually we hope + to support all relevant platforms. + +- The glue and skip register accessors have been improved as a step in freeing the user + from glue spec management. + +- We added a few more getters and setters for nodes in order to get a more consistent + set. + +- Irrelevant fields have been removed from the status table and an engine identifier + has been added. + +- Of course there are numerous fixes and improvements but none of these have consequences + for the interfaces. + +- The manual has been updated but will be improved over time. + + + + ============================================================== LuaTeX Release 0.95 for TeX Live 2016 was released 2016042515 ============================================================== diff --git a/source/texk/web2c/luatexdir/lua/lnodelib.c b/source/texk/web2c/luatexdir/lua/lnodelib.c index a6fc98aba17086ee0d1781092bee36e9bd7eebea..dbe195ff2c0d863ed2fa7a23592289b3e41ea318 100644 --- a/source/texk/web2c/luatexdir/lua/lnodelib.c +++ b/source/texk/web2c/luatexdir/lua/lnodelib.c @@ -538,7 +538,7 @@ static int lua_nodelib_direct_getcomponents(lua_State * L) { halfword n = lua_tointeger(L, 1); if ((n) && (type(n) == glyph_node)) { - lua_pushinteger(L, lig_ptr(n)); + nodelib_pushdirect_or_nil(lig_ptr(n)); } else { lua_pushnil(L); } diff --git a/source/texk/web2c/luatexdir/lua/lstatslib.c b/source/texk/web2c/luatexdir/lua/lstatslib.c index 7c6e1bda2b8eddd6005bfe7b87a2fe3a5b5cf0ac..7473ca214a4da8c29904c468cdab7fb77379dee1 100644 --- a/source/texk/web2c/luatexdir/lua/lstatslib.c +++ b/source/texk/web2c/luatexdir/lua/lstatslib.c @@ -116,6 +116,13 @@ static const char *luatexrevision(void) return (const char *) (strrchr(luatex_version_string, '.') + 1); } +static const char *getenginename(void) +{ + return engine_name; +} + + + static lua_Number get_luatexhashchars(void) { return (lua_Number) LUAI_HASHLIMIT; @@ -217,8 +224,6 @@ static lua_Number shell_escape_state(void) } } -static int luastate_max = 1; /* fixed value */ - /* temp, for backward compat */ static int init_pool_ptr = 0; @@ -250,9 +255,10 @@ static struct statistic stats[] = { {"log_name", 'S', (void *) &getlogname}, {"banner", 'S', (void *) &getbanner}, {"luatex_version", 'G', &get_luatexversion}, - {"luatex_revision", 'S', (void *) &luatexrevision}, + {"luatex_revision", 'S', (void *) &luatexrevision}, {"luatex_hashtype", 'S', (void *) &get_luatexhashtype}, {"luatex_hashchars", 'N', &get_luatexhashchars}, + {"luatex_engine", 'S', (void *) &getenginename}, {"ini_version", 'b', &ini_version}, @@ -302,7 +308,6 @@ static struct statistic stats[] = { {"largest_used_mark", 'g', &biggest_used_mark}, {"luabytecodes", 'g', &luabytecode_max}, {"luabytecode_bytes", 'g', &luabytecode_bytes}, - {"luastates", 'g', &luastate_max}, {"luastate_bytes", 'g', &luastate_bytes}, {"callbacks", 'g', &callback_count}, {"indirect_callbacks", 'g', &saved_callback_count}, diff --git a/source/texk/web2c/luatexdir/lua/luatex-api.h b/source/texk/web2c/luatexdir/lua/luatex-api.h index 4ef40be8b71e44ae07f114f38f41ccb94c902104..f7c612ce204d4f180ec3e226a8bda0991ffa8e51 100644 --- a/source/texk/web2c/luatexdir/lua/luatex-api.h +++ b/source/texk/web2c/luatexdir/lua/luatex-api.h @@ -189,6 +189,7 @@ extern int callback_count; extern int saved_callback_count; extern const char *luatex_banner; +extern const char *engine_name; /* luastuff.h */ diff --git a/source/texk/web2c/luatexdir/luatex.c b/source/texk/web2c/luatexdir/luatex.c index 7933d17d6df1faa48c7c0ed43ad4bee73b873ccb..2b924cac350b4f1c8a1a276c7ce4a35de025a284 100644 --- a/source/texk/web2c/luatexdir/luatex.c +++ b/source/texk/web2c/luatexdir/luatex.c @@ -30,7 +30,7 @@ int luatex_version = 100; /* \.{\\luatexversion} */ int luatex_revision = '3'; /* \.{\\luatexrevision} */ -int luatex_date_info = 2017011800; /* the compile date is now hardwired :YEAR MONTH DAY HOUR*/ +int luatex_date_info = 2017021514; /* the compile date is now hardwired :YEAR MONTH DAY HOUR*/ const char *luatex_version_string = "1.0.3"; const char *engine_name = my_name; /* the name of this engine */