diff options
author | Marius <mariausol@gmail.com> | 2012-07-06 20:20:17 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-07-06 20:20:17 +0300 |
commit | 692440a8ee220c4de7523016ce42b763f358ee5d (patch) | |
tree | 97e7b3bd824ed75e832a5b4b1debcd9e9a2f5dae /tex/context/base/core-sys.mkiv | |
parent | ca6b262c6f0f7a7f0fa46f4d0941cf10ce423b92 (diff) | |
download | context-692440a8ee220c4de7523016ce42b763f358ee5d.tar.gz |
beta 2012.07.06 19:11
Diffstat (limited to 'tex/context/base/core-sys.mkiv')
-rw-r--r-- | tex/context/base/core-sys.mkiv | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/tex/context/base/core-sys.mkiv b/tex/context/base/core-sys.mkiv index 66f2a4380..5a92ebf4f 100644 --- a/tex/context/base/core-sys.mkiv +++ b/tex/context/base/core-sys.mkiv @@ -150,14 +150,34 @@ %D But anyway, in \MKIV\ we avoid most of the complications anyway as we %D deal with much at the \LUA\ end. -\def\complexstart[#1]{\bgroup\getvalue{\e!start#1}} -\def\complexstop [#1]{\getvalue{\e!stop #1}\egroup} - -\let\simplestart\bgroup -\let\simplestop \egroup - -\definecomplexorsimple\start -\definecomplexorsimple\stop +\unexpanded\def\start + {\dosingleempty\syst_start} + +\def\syst_start + {\bgroup + \iffirstargument + \expandafter\syst_start_yes + \else + \expandafter\syst_start_nop + \fi} + +\def\syst_start_yes[#1]% + {\edef\m_syst_start_stop{#1}% + \ifx\m_syst_start_stop\empty + \let\syst_stop_indeed\donothing + \else\ifcsname\e!start\m_syst_start_stop\endcsname + \let\expandafter\syst_stop_indeed\csname\e!stop\m_syst_start_stop\endcsname + \csname\e!start\currentstartstop\expandafter\expandafter\expandafter\endcsname + \else + \let\syst_stop_indeed\donothing + \fi\fi} + +\def\syst_start_nop[#1]% + {\let\syst_stop_indeed\donothing} + +\unexpanded\def\stop + {\syst_stop_indeed + \egroup} % \c!before \c!after \c!inbetween \c!commands \c!style \c!color |