From 090dff7b31108a1b2c2d7f11967cb414e9d5ac48 Mon Sep 17 00:00:00 2001 From: Luigi Scarso Date: Sat, 16 Mar 2019 14:22:44 +0000 Subject: Additional wrapping of local boxes; updated luatex manual. git-svn-id: svn://tug.org/texlive/trunk@50412 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/luatexdir/lang/texlang.c | 6 +++++- Build/source/texk/web2c/luatexdir/luatex_svnversion.h | 2 +- Build/source/texk/web2c/luatexdir/tex/maincontrol.c | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) (limited to 'Build/source/texk/web2c') 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); -- cgit v1.2.3