diff options
author | Luigi Scarso <luigi.scarso@gmail.com> | 2019-03-16 14:22:44 +0000 |
---|---|---|
committer | Luigi Scarso <luigi.scarso@gmail.com> | 2019-03-16 14:22:44 +0000 |
commit | 090dff7b31108a1b2c2d7f11967cb414e9d5ac48 (patch) | |
tree | 772251ef37c388a42e2d798ff3c28caf61622b01 | |
parent | eb9deda90c9e0256f62b40599dd5661370d46abf (diff) |
Additional wrapping of local boxes; updated luatex manual.
git-svn-id: svn://tug.org/texlive/trunk@50412 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/web2c/luatexdir/lang/texlang.c | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatex_svnversion.h | 2 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/tex/maincontrol.c | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex-enhancements.tex | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex-introduction.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex-nodes.tex | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex-style.tex | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex-tex.tex | 22 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex.pdf | bin | 1529094 -> 1559350 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/luatex/base/luatex.tex | 2 |
10 files changed, 40 insertions, 19 deletions
diff --git a/Build/source/texk/web2c/luatexdir/lang/texlang.c b/Build/source/texk/web2c/luatexdir/lang/texlang.c index 04f96660f5e..323d27c5865 100644 --- a/Build/source/texk/web2c/luatexdir/lang/texlang.c +++ b/Build/source/texk/web2c/luatexdir/lang/texlang.c @@ -944,6 +944,9 @@ void hnj_hyphenation(halfword head, halfword tail) halfword s, r = head, wordstart = null, save_tail1 = null, left = null, right = null; halfword expstart = null; boolean compound_hyphen = compound_hyphen_mode_par; + /*tex Let's play safe: */ + if (tail == null) + return; /*tex This first movement assures two things: @@ -969,7 +972,8 @@ void hnj_hyphenation(halfword head, halfword tail) r = find_next_wordstart(r,first_language,strict_bound); if (r == null) return; - assert(tail != null); + if (tail == null) + return; save_tail1 = vlink(tail); s = new_penalty(0,word_penalty); couple_nodes(tail, s); diff --git a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h index df3f66dae7f..a087bc9827a 100644 --- a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 7112 +#define luatex_svn_revision 7116 diff --git a/Build/source/texk/web2c/luatexdir/tex/maincontrol.c b/Build/source/texk/web2c/luatexdir/tex/maincontrol.c index 2768bff72a2..ef5fb64d601 100644 --- a/Build/source/texk/web2c/luatexdir/tex/maincontrol.c +++ b/Build/source/texk/web2c/luatexdir/tex/maincontrol.c @@ -2176,10 +2176,20 @@ void build_local_box(void) p = vlink(head); pop_nest(); if (p != null) { - /*tex Somehow |filtered_hpack| goes beyond the first node so we loose it. */ - new_hyphenation(p, null); + /*tex + Somehow |filtered_hpack| goes beyond the first node so we loose it. + */ + /*tex + There is no need for |new_hyphenation(p, null);| here as we're in + an |\hbox|. + */ (void) new_ligkern(p, null); p = lua_hpack_filter(p, 0, additional, local_box_group, -1, null); + /*tex + We really need something packed so we play safe! This feature is inherited + but could have been delegated to a callback anyway. + */ + p = hpack(p, 0, additional, -1); } if (kind == 0) eq_define(local_left_box_base, box_ref_cmd, p); diff --git a/Master/texmf-dist/doc/luatex/base/luatex-enhancements.tex b/Master/texmf-dist/doc/luatex/base/luatex-enhancements.tex index b04a6e29cfe..d6651507a26 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex-enhancements.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex-enhancements.tex @@ -61,7 +61,11 @@ chapters on fonts and math we discuss a few more new ones. There are three new primitives to test the version of \LUATEX:
\unexpanded\def\VersionHack#1% otherwise different luatex and luajittex runs
- {\cldcontext{(string.gsub(string.match("\luatexbanner","(.+)\letterpercent("),"jit",""))}}
+ {\ctxlua{%
+ local banner = "\luatexbanner"
+ local banner = string.match(banner,"(.+)\letterpercent(") or banner
+ context(string.gsub(banner ,"jit",""))%
+ }}
\starttabulate[|l|l|pl|]
\DB primitive \BC value
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-introduction.tex b/Master/texmf-dist/doc/luatex/base/luatex-introduction.tex index 0930c532bdf..c03725357b5 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex-introduction.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex-introduction.tex @@ -163,7 +163,7 @@ Luigi Scarso \starttabulate[|||]
\NC Version \EQ \currentdate \NC \NR
\NC \LUATEX \EQ \cldcontext{LUATEXENGINE} %
- \cldcontext{LUATEXVERSION} / %
+ \cldcontext{"\letterpercent 0.2f",LUATEXVERSION} / %
\cldcontext{LUATEXFUNCTIONALITY}
\NC \NR
\NC \CONTEXT \EQ MkIV \contextversion \NC \NR
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex b/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex index 573bfd8d80d..1b8de8d7673 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex-nodes.tex @@ -2305,8 +2305,8 @@ consistency. You can of course always define additional accessors using \type \def\supported#1#2#3%
{\NC \type{#1}
- \NC \ifx#2\yes\libidx{node} {#1}\fi #2
- \NC \ifx#3\yes\libidx{node.direct}{#1}\fi #3 \NC
+ \NC \ifx#2\yes\lix{node} {#1}\fi #2
+ \NC \ifx#3\yes\lix{node.direct}{#1}\fi #3 \NC
\NR}
\starttabulate[|l|c|c|]
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-style.tex b/Master/texmf-dist/doc/luatex/base/luatex-style.tex index f176afab7d2..502e894a8ce 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex-style.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex-style.tex @@ -436,6 +436,7 @@ \unexpanded\def\lib #1{\doifmode{*bodypart}{\expanded{\libraryindex{\currentlibraryindex+#1}}\type{\currentlibraryindex.#1}}}
\unexpanded\def\libindex#1{\doifmode{*bodypart}{\expanded{\libraryindex{\currentlibraryindex+#1}}}}
\unexpanded\def\libidx#1#2{\doifmode{*bodypart}{\expanded{\libraryindex{#1+#2}}\type{#1.#2}}}
+\unexpanded\def\lix #1#2{\doifmode{*bodypart}{\expanded{\libraryindex{#1+#2}}}}
% \setstructurepageregister[][keys:1=,entries:1=]
diff --git a/Master/texmf-dist/doc/luatex/base/luatex-tex.tex b/Master/texmf-dist/doc/luatex/base/luatex-tex.tex index 6b1ba1689b0..894227661ba 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex-tex.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex-tex.tex @@ -1277,11 +1277,12 @@ tex.cprint(12,"12: $&{\\foo}") tex.print("\\par") -- other characters tex.cprint(14,"12: $&{\\foo}") tex.print("\\par") -- comment triggers
\stopfunctioncall
-\subsubsection{\type {write}, \type {twrite}, \type {nwrite}}
+% \subsubsection{\type {write}, \type {twrite}, \type {nwrite}}
+\subsubsection{\type {write}}
\libindex{write}
-\libindex{twrite}
-\libindex{nwrite}
+% \libindex{twrite}
+% \libindex{nwrite}
\startfunctioncall
tex.write(<string> s, ...)
@@ -1301,10 +1302,10 @@ If there is a table argument instead of a list of strings, this has to be a consecutive array of strings to print (the first non-string value will stop the
printing process).
-The functions \type {twrite} and \type {nwrite} can be used to write a token or
-node back to \TEX\, possibly intermixed with regular strings that will be
-tokenized. You have to make sure that you pass the right data because sometimes
-\TEX\ has expectations that need to be met.
+% The functions \type {twrite} and \type {nwrite} can be used to write a token or
+% node back to \TEX\, possibly intermixed with regular strings that will be
+% tokenized. You have to make sure that you pass the right data because sometimes
+% \TEX\ has expectations that need to be met.
\stopsubsection
@@ -1440,10 +1441,9 @@ line of error help. In case of an error the \type {show_context} function will show the current
context where we're at (in the expansion).
-\subsubsection{\type {run}, \type {runtoks}, \type {finish}}
+\subsubsection{\type {run}, \type {finish}}
\libindex{run}
-\libindex{runtoks}
\libindex{finish}
These two functions start the interpretations and force its end. A runs normally
@@ -1454,6 +1454,8 @@ pushed back into the input. This all means that the \TEX\ scanner is constantly pushing and popping input states, but in the end after all the action is done
returns to the main loop.
+\subsubsection{\type {runtoks}}
+
Because of the fact that \TEX\ is in a complex dance of expanding, dealing with
fonts, typesetting paragraphs, messing around with boxes, building pages, and so
on, you cannot easily run a nested \TEX\ run (read nested main loop). However,
@@ -1473,7 +1475,7 @@ tex.runtoks(<lua function>) When the \prm {tracingnesting} parameter is set to a value larger than~2 some
information is reported about the state of the local loop.
-\subsubsection{\type {run}, \type {runtoks}, \type {finish}}
+\subsubsection{\type {forcehmode}}
\libindex{forcehmode}
diff --git a/Master/texmf-dist/doc/luatex/base/luatex.pdf b/Master/texmf-dist/doc/luatex/base/luatex.pdf Binary files differindex dd73cae76fc..9ea3b0bdb5d 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex.pdf +++ b/Master/texmf-dist/doc/luatex/base/luatex.pdf diff --git a/Master/texmf-dist/doc/luatex/base/luatex.tex b/Master/texmf-dist/doc/luatex/base/luatex.tex index 61c075243d8..2d1d4efec66 100644 --- a/Master/texmf-dist/doc/luatex/base/luatex.tex +++ b/Master/texmf-dist/doc/luatex/base/luatex.tex @@ -62,7 +62,7 @@ \startdocument
[manual=Lua\TeX,
- status=experimental,
+ status=stable,
version=1.10]
\startnotmode[*export]
|