diff options
Diffstat (limited to 'tex/context/base/mkiv/file-mod.mkvi')
-rw-r--r-- | tex/context/base/mkiv/file-mod.mkvi | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/file-mod.mkvi b/tex/context/base/mkiv/file-mod.mkvi index 06c02f0e1..b769b52c5 100644 --- a/tex/context/base/mkiv/file-mod.mkvi +++ b/tex/context/base/mkiv/file-mod.mkvi @@ -73,13 +73,16 @@ \let\currentmoduleparameters\empty \let\currentmodule \s!unknown +\newcount \c_syst_modules_nesting + \newtoks\everysetupmodule \unexpanded\def\startmodule {\doifelsenextoptionalcs\syst_modules_start_yes\syst_modules_start_nop} \def\syst_modules_start_yes[#name]% - {\pushmacro\currentmodule + {\global\advance\c_syst_modules_nesting\plusone + \pushmacro\currentmodule \pushmacro\currentmoduleparameters \def\currentmodule{#name}} @@ -87,8 +90,13 @@ {\syst_modules_start_yes[#name]} \unexpanded\def\stopmodule - {\popmacro\currentmoduleparameters - \popmacro\currentmodule} + {\ifcase\c_syst_modules_nesting + \writestatus\m!system{module wrapping error in '\currentmodule'}% + \else + \popmacro\currentmoduleparameters + \popmacro\currentmodule + \global\advance\c_syst_modules_nesting\minusone + \fi} \unexpanded\def\setupmodule {\dodoubleempty\syst_modules_setup} |