summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/spac-par.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/spac-par.mkxl')
-rw-r--r--tex/context/base/mkiv/spac-par.mkxl82
1 files changed, 41 insertions, 41 deletions
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.