summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.sty')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty30
1 files changed, 27 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index bc61531bafb..b4d8860a7a4 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -33,7 +33,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2019/05/04 3.31 The Babel package]
+\ProvidesPackage{babel}[2019/06/03 3.32 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -138,6 +138,22 @@
\fi}%
\expandafter\bbl@replace@aux#1#2\bbl@nil#2%
\edef#1{\the\toks@}}
+\expandafter\def\expandafter\bbl@parsedef\detokenize{macro:}#1->#2\relax{%
+ \def\bbl@tempa{#1}%
+ \def\bbl@tempb{#2}}
+\def\bbl@sreplace#1#2#3{%
+ \begingroup
+ \expandafter\bbl@parsedef\meaning#1\relax
+ \def\bbl@tempc{#2}%
+ \edef\bbl@tempc{\expandafter\strip@prefix\meaning\bbl@tempc}%
+ \def\bbl@tempd{#3}%
+ \edef\bbl@tempd{\expandafter\strip@prefix\meaning\bbl@tempd}%
+ \bbl@exp{\\\bbl@replace\\\bbl@tempb{\bbl@tempc}{\bbl@tempd}}%
+ \bbl@exp{%
+ \endgroup
+ \\\makeatletter % "internal" macros with @ are assumed
+ \\\scantokens{\def\\#1\bbl@tempa{\bbl@tempb}}%
+ \catcode64=\the\catcode64\relax}} % Restore @
\def\bbl@exp#1{%
\begingroup
\let\\\noexpand
@@ -187,6 +203,8 @@
\bbl@languages
\fi
\ifodd\bbl@engine
+ % Harftex is evolving, so the callback is not harcoded, just in case
+ \def\bbl@harfpreline{Harf pre_linebreak_filter callback}%
\def\bbl@activate@preotf{%
\let\bbl@activate@preotf\relax % only once
\directlua{
@@ -219,13 +237,19 @@
Babel.pre_otfload_v,
'Babel.pre_otfload_v',
luatexbase.priority_in_callback('pre_linebreak_filter',
- 'luaotfload.node_processor') or nil)
+ '\bbl@harfpreline')
+ or luatexbase.priority_in_callback('pre_linebreak_filter',
+ 'luaotfload.node_processor')
+ or nil)
%
luatexbase.add_to_callback('hpack_filter',
Babel.pre_otfload_h,
'Babel.pre_otfload_h',
luatexbase.priority_in_callback('hpack_filter',
- 'luaotfload.node_processor') or nil)
+ '\bbl@harfpreline')
+ or luatexbase.priority_in_callback('hpack_filter',
+ 'luaotfload.node_processor')
+ or nil)
}}
\let\bbl@tempa\relax
\@ifpackagewith{babel}{bidi=basic}%