[luatex] MWE now failing with recent TeX Live update

Arthur Reutenauer arthur.reutenauer at normalesup.org
Fri Mar 18 14:46:38 CET 2016


  Everything Ulrike says is correct, there is just one small detail:

On Fri, Mar 18, 2016 at 10:21:11AM +0100, Ulrike Fischer wrote:
> lua(la)tex doesn't need to preload patterns in the format but can
> load them on-the-fly. That's what the package luatex-hyphen,
> polylgossia and the new babel code are doing.

  Actually luatex-hyphen (part of the hyph-utf8 package) does rely on
some information being dumped in the format; that's what Polyglossia is
using and that's why it can't be used with LuaTeX right now, because the
changes Javier made to hyphen.cfg have removed that information.

> With the base option babel doesn't load much additional code in
> this: only luababel.def and around 30 lines of helper definitions (I
> didn't try to find out if all are necessary):
> 
> \input luababel.def
> 
> \def\bbl at add#1#2{%
>   \@ifundefined{\expandafter\@gobble\string#1}%
>     {\def#1{#2}}%
>     {\expandafter\def\expandafter#1\expandafter{#1#2}}}
> \def\bbl at csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
> \long\def\bbl at afterelse#1\else#2\fi{\fi#1}
> \long\def\bbl at afterfi#1\fi{\fi#1}
> \def\bbl at loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
> \def\bbl at loopx#1#2{\expandafter\bbl at loop\expandafter#1\expandafter{#2}}
> \def\bbl@@loop#1#2#3,{%
>   \ifx\@nnil#3\relax\else
>     \def#1{#3}#2\bbl at afterfi\bbl@@loop#1{#2}%
>   \fi}
> \def\bbl at for#1#2#3{\bbl at loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
> \def\AfterBabelLanguage#1{%
>   \global\expandafter\bbl at add\csname#1.ldf-h@@k\endcsname}%
> \ifx\bbl at languages\@undefined\else
>   \begingroup
>     \catcode`\^^I=12
>     \@ifpackagewith{babel}{showlanguages}{%
>       \begingroup
>         \def\bbl at elt#1#2#3#4{\wlog{#2^^I#1^^I#3^^I#4}}%
>         \wlog{<*languages>}%
>         \bbl at languages
>         \wlog{</languages>}%
>       \endgroup}{}
>   \endgroup
>   \def\bbl at elt#1#2#3#4{%
>     \ifnum#2=\z@
>       \gdef\bbl at nulllanguage{#1}%
>       \def\bbl at elt##1##2##3##4{}%
>     \fi}%
>   \bbl at languages
> \fi

  I'll try to see if dumping that at the top of polyglossia.sty works.

> (But imho it would be better to pack this base code in some
> standalone file. Part of it could probably also go in the format.
> That would make things clearer and better separate "babel core" from
> "babel style".)

  I completely agree with that.  The code related to hyphenation should
be part of hyph-utf8 that already contains all the hyphenation patterns.

	Best,

		Arthur


More information about the luatex mailing list