diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/buff-ini.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/buff-ini.mkiv | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/context/base/buff-ini.mkiv b/Master/texmf-dist/tex/context/base/buff-ini.mkiv index 239a274c0a8..7616a1deec9 100644 --- a/Master/texmf-dist/tex/context/base/buff-ini.mkiv +++ b/Master/texmf-dist/tex/context/base/buff-ini.mkiv @@ -34,9 +34,9 @@ \setuvalue{\e!start\v!buffer}% {\begingroup % (3) \obeylines - \dosingleempty\buff_start} + \dodoubleempty\buff_start} -\def\buff_start[#1]% +\def\buff_start[#1][#2]% {\buff_start_indeed{}{#1}{\e!start\v!buffer}{\e!stop\v!buffer}} \def\buff_start_indeed#1#2#3#4% \donothing needed ! @@ -163,13 +163,28 @@ % x % \stopbuffer % -% \savebuffer[x][temp.log] +% \savebuffer[x] [temp] % gets name: jobname-temp.tmp +% \savebufferinfile[x][temp.log] % gets name: temp.log + +\installcorenamespace{savebuffer} + +\installsetuponlycommandhandler \??savebuffer {savebuffer} + +\setupsavebuffer + [\c!list=, + \c!file=, + \c!prefix=\v!yes] \unexpanded\def\savebuffer {\dodoubleempty\buff_save} \def\buff_save[#1][#2]% - {\ctxcommand{savebuffer("#1","#2")}} + {\begingroup + \doifassignmentelse{#1} + {\setupcurrentsavebuffer[#1]}% + {\setupcurrentsavebuffer[\c!list={#1},\c!file=#2]}% + \ctxcommand{savebuffer("\directsavebufferparameter\c!list","\directsavebufferparameter\c!file","\directsavebufferparameter\c!prefix")}% + \endgroup} %D Experimental: no expansion of commands in buffer! @@ -199,4 +214,28 @@ \def\getbufferdata[#1]{\buff_get_stored_indeed{#1}} +%D This is a weird one, moved from cont-new. Do we really need it? If not +%D it will go away. + +\bgroup \permitcircumflexescape + +\obeylines % don't remove %'s ! + +\gdef\collapsedspace#1% + {\ifx#1^^M% + \expandafter\collapsedspace + \else + \space + \expandafter#1% + \fi} + +\unexpanded\gdef\collapsespaces + {\prependtoksonce\relax\to\everyeof% + \ignorelines% + \ignoretabs% + \let\obeyedspace\collapsedspace% + \obeyspaces} + +\egroup + \protect \endinput |