diff options
Diffstat (limited to 'tex/context/base/mult-cld.lua')
-rw-r--r-- | tex/context/base/mult-cld.lua | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua index 24660b3a4..08446a7ca 100644 --- a/tex/context/base/mult-cld.lua +++ b/tex/context/base/mult-cld.lua @@ -148,17 +148,6 @@ function context.popcatcodes() contentcatcodes = currentcatcodes end -function context.unprotect() - insert(catcodestack,currentcatcodes) - currentcatcodes = prtcatcodes - contentcatcodes = currentcatcodes -end - -function context.protect() - currentcatcodes = remove(catcodestack) or currentcatcodes - contentcatcodes = currentcatcodes -end - function tex.fprint(...) -- goodie texsprint(currentcatcodes,format(...)) end @@ -397,6 +386,25 @@ local defaultcaller = caller setmetatable(context, { __index = indexer, __call = caller } ) +-- now we tweak unprotect and protect + +function context.unprotect() + -- at the lua end + insert(catcodestack,currentcatcodes) + currentcatcodes = prtcatcodes + contentcatcodes = currentcatcodes + -- at the tex end + flush("\\unprotect") +end + +function context.protect() + -- at the tex end + flush("\\protect") + -- at the lua end + currentcatcodes = remove(catcodestack) or currentcatcodes + contentcatcodes = currentcatcodes +end + -- logging local trace_stack = { } |