summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/buff-ini.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/buff-ini.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/buff-ini.mkiv47
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