From 58f82fce8b1f0aa48e3c1acbeed15dee999f51b9 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 27 Jul 2020 17:00:33 +0200 Subject: 2020-07-27 16:24:00 --- tex/context/base/mkiv/spac-par.mkxl | 82 ++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) (limited to 'tex/context/base/mkiv/spac-par.mkxl') diff --git a/tex/context/base/mkiv/spac-par.mkxl b/tex/context/base/mkiv/spac-par.mkxl index b136b5bce..d8abdcfdb 100644 --- a/tex/context/base/mkiv/spac-par.mkxl +++ b/tex/context/base/mkiv/spac-par.mkxl @@ -29,58 +29,53 @@ \installcorenamespace {bparwrap} \installcorenamespace {eparwrap} +\installcorenamespace {parwrapbefore} +\installcorenamespace {parwrapafter} \let\spac_paragraph_wrap\relax +\newcount\c_spac_paragraph_group_level + \protected\def\spac_paragraph_update - {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname + {\c_spac_paragraph_group_level\currentgrouplevel\relax + \ifcsname\??bparwrap\the\c_spac_paragraph_group_level\endcsname \the\lastnamedcs - \wrapuppar{\the\csname\??eparwrap\the\currentgrouplevel\endcsname}% + \wrapuppar{\the\csname\??eparwrap\the\c_spac_paragraph_group_level\endcsname}% \fi} +\protected\def\registerparwrapper {\spac_register_par_wrapper\toksapp\tokspre} +\protected\def\registerparwrapperreverse{\spac_register_par_wrapper\tokspre\toksapp} \protected\def\spac_paragraph_install {\expandafter\newtoks\csname\??bparwrap\the\currentgrouplevel\endcsname \expandafter\newtoks\csname\??eparwrap\the\currentgrouplevel\endcsname} -% \protected\def\registerparwrapper#1#2% -% {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else -% \spac_paragraph_install -% \fi -% \toksapp\csname\??bparwrap\the\currentgrouplevel\endcsname{#1}% -% \tokspre\csname\??eparwrap\the\currentgrouplevel\endcsname{#2}% -% \let\spac_paragraph_wrap\spac_paragraph_update} - -% \protected\def\registerparwrapperreverse#1#2% -% {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else -% \spac_paragraph_install -% \fi -% \tokspre\csname\??bparwrap\the\currentgrouplevel\endcsname{#1}% -% \toksapp\csname\??eparwrap\the\currentgrouplevel\endcsname{#2}% -% \let\spac_paragraph_wrap\spac_paragraph_update} - -\protected\def\registerparwrapper#1#2#3% - {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else - \spac_paragraph_install - \fi - \clf_newparwrapper{#1}% - \toksapp\csname\??bparwrap\the\currentgrouplevel\endcsname{\clf_setparwrapper{#1}#2}% - \tokspre\csname\??eparwrap\the\currentgrouplevel\endcsname{#3}% - \let\spac_paragraph_wrap\spac_paragraph_update} +\def\spac_paragraph_install_pair#1#2#3% + {\expandafter\newtoks \csname\??parwrapbefore#3\endcsname + \expandafter\newtoks \csname\??parwrapafter #3\endcsname + #1\csname\??bparwrap\the\currentgrouplevel\endcsname\expandafter{\expandafter\the\csname\??parwrapbefore#3\endcsname}% + #2\csname\??eparwrap\the\currentgrouplevel\endcsname\expandafter{\expandafter\the\csname\??parwrapafter #3\endcsname}} -\protected\def\registerparwrapperreverse#1#2#3% +\protected\def\spac_register_par_wrapper#1#2#3#4#5% {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else \spac_paragraph_install \fi - \clf_newparwrapper{#1}% - \tokspre\csname\??bparwrap\the\currentgrouplevel\endcsname{\clf_setparwrapper{#1}#2}% - \toksapp\csname\??eparwrap\the\currentgrouplevel\endcsname{#3}% + \ifcsname\??parwrapbefore#3\endcsname \else + \spac_paragraph_install_pair#1#2{#3}% + \fi + #1\csname\??parwrapbefore#3\endcsname{\clf_setparwrapper{#3}#4}% + #2\csname\??parwrapafter #3\endcsname{#5}% + \clf_newparwrapper{#3}% \let\spac_paragraph_wrap\spac_paragraph_update} \protected\def\forgetparwrapper {\csname\??bparwrap\the\currentgrouplevel\endcsname\emptytoks \csname\??eparwrap\the\currentgrouplevel\endcsname\emptytoks} +\protected\def\unregisterparwrapper#1% + {\csname\??parwrapbefore#1\endcsname\emptytoks + \csname\??parwrapafter #1\endcsname\emptytoks} + % \getparwrapper % defined in lua % \lastparwrapper % defined in lua @@ -91,17 +86,22 @@ {\smallinfofont\lastparwrapper{#1}}% \endgroup} -\appendtoks \updateparwrapperindeed \to\everypar -\appendtoks\let\updateparwrapperindeed\relax\to\everyforgetall - -\installtexexperiment - {paragraphs.freeze} - {\setparagraphfreezing - \appendtoksonce\spac_paragraph_wrap \to \everypar - \appendtoksonce\spac_paragraph_freeze\to \everypar} - {\forgetparagraphfreezing - \removetoks \spac_paragraph_wrap \from\everypar - \removetoks \spac_paragraph_freeze\from\everypar} +%appendtoks\updateparwrapperindeed\to\everypar +%appendtoks\spac_paragraph_wrap \to\everypar +%appendtoks\spac_paragraph_freeze \to\everypar + +\setparagraphfreezing + +\appendtoks\let\spac_paragraph_wrap\relax\to\everyforgetall + +% \installtexexperiment +% {paragraphs.freeze} +% {\setparagraphfreezing +% \appendtoksonce\spac_paragraph_wrap \to \everypar +% \appendtoksonce\spac_paragraph_freeze\to \everypar} +% {\forgetparagraphfreezing +% \removetoks \spac_paragraph_wrap \from\everypar +% \removetoks \spac_paragraph_freeze\from\everypar} %D In due time, the code below will be upgraded using the above mechanisms. -- cgit v1.2.3