From 8d8d528d2ad52599f11250cfc567fea4f37f2a8b Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Tue, 12 Jan 2016 17:15:07 +0100 Subject: 2016-01-12 16:26:00 --- tex/context/base/buff-ini.mkii | 348 ----------------------------------------- 1 file changed, 348 deletions(-) delete mode 100644 tex/context/base/buff-ini.mkii (limited to 'tex/context/base/buff-ini.mkii') diff --git a/tex/context/base/buff-ini.mkii b/tex/context/base/buff-ini.mkii deleted file mode 100644 index 7fdb89e45..000000000 --- a/tex/context/base/buff-ini.mkii +++ /dev/null @@ -1,348 +0,0 @@ -%D \module -%D [ file=buff-ini, % was core-buf % blocks are moved to core-blk -%D version=2000.01.05, -%D title=\CONTEXT\ Buffer Macros, -%D subtitle=Buffers, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\writestatus{loading}{ConTeXt Buffer Macros / Buffers} - -\unprotect - -% Helpers: - -\chardef\buffernestmode\plusone % 0: not nested, 1: startbuffer nested, 2: all buffers nested - -\edefconvertedargument\emptybufferline{ } - -\ifx\tmpblocks\undefined \newwrite\tmpblocks \fi - -\newif\iftmpblockstarted - -\long\def\flushbufferline#1% - {\iftmpblockstarted - \ifsegmentatebuffer - \ifemptybufferline - \immediate\write\tmpblocks{\string\stopbufferparagraph }% - \immediate\write\tmpblocks{\string\startbufferparagraph}% - \else - \immediate\write\tmpblocks{#1}% - \fi - \else - \immediate\write\tmpblocks{#1}% - \fi - \else - \doifsomething{#1} - {\tmpblockstartedtrue - \immediate\write\tmpblocks{\string#1}}% - \fi} - -\long\def\processnextbufferlineA#1% - {\relax % checken waarom eerdere macro dit nodig heeft / supp-mps run - \defconvertedargument\next{#1 }% - \doifinstringelse{\delcharacter\letterpercent}{\delcharacter\next} - {\secondoftwoarguments} - {\doifincsnameelse\endofblock\next - {\ifnum\nestedbufferlevel=\zerocount - \expandafter\firstoftwoarguments - \else - \decrement\nestedbufferlevel\relax - \expandafter\secondoftwoarguments - \fi} - {\doifincsnameelse\beginofblock\next - {\increment\nestedbufferlevel\relax - \secondoftwoarguments} - {\secondoftwoarguments}}}} - -\long\def\processnextbufferlineB#1% #2#3% - {\defconvertedargument\next{#1 }% - \ifx\next\emptybufferline - \ifsegmentatebuffer \emptybufferlinetrue \fi - \expandafter\secondoftwoarguments% #3% - \else - \emptybufferlinefalse - \doifinstringelse\endofblock\next - {\expandafter\firstoftwoarguments }% #2} - {\expandafter\secondoftwoarguments}% #3}% - \fi} - -\bgroup -\obeylines -\long\gdef\copybufferline#1 - {\processnextbufferline{#1}\closebufferfile{\flushbufferline{#1}\copybufferline}} -\egroup - -\newif\ifsegmentatebuffer -\newif\ifemptybufferline - -\def\currentbuffer{\jobname} - -\def\setcurrentbuffer#1% - {\doifelsenothing{#1}{\edef\currentbuffer{\jobname}}{\edef\currentbuffer{#1}}} - -\def\resetbuffer - {\dosingleempty\doresetbuffer} - -\def\doresetbuffer[#1]% - {\begingroup - \setcurrentbuffer{#1}% - \unlinkfile{\TEXbufferfile\currentbuffer}% - \endgroup} - -\def\dostartbuffer - {\bgroup - \obeylines % nodig, anders gaat 't fout als direct \starttable (bv) - \doquadrupleempty\dodostartbuffer} - -\def\dodostartbuffer[#1][#2][#3][#4]% upward compatible - {\iffourthargument - \def\next{\dododostartbuffer{#1}{#2}{#3}{#4}}% - \else - \def\next{\dododostartbuffer {}{#1}{#2}{#3}}% - \fi - \next} - -\def\dododostartbuffer#1#2#3#4% - {%\showmessage\m!systems{15}{#2}% - \doifelsevalue{\??bu#1\c!paragraph}\v!yes - {\segmentatebuffertrue} % todo in mkiv - {\doifnumberelse{\getvalue{\??bu#1\c!paragraph}}\segmentatebuffertrue\segmentatebufferfalse}% - \doifvalue{\??bu#1\c!local}\v!yes - {\chardef\buffernestmode\plustwo}% permit nesting - \setcurrentbuffer{#2}% - \doifelsenothing{#4} - {\letbeundefined{\e!stop\v!buffer}% % \let\stopbuffer=\relax % \undefined - \edefconvertedargument\beginofblock{\e!start\v!buffer}% - \edefconvertedargument\endofblock {\e!stop \v!buffer}% - \ifcase\buffernestmode - \let\processnextbufferline\processnextbufferlineB - \else - \let\processnextbufferline\processnextbufferlineA - \fi} - {\letbeundefined{#4}% \letvalue{#4}=\relax % \undefined - \expandafter\defconvertedargument\expandafter\beginofblock\expandafter{\csname#3\endcsname}% we could use defconvertedcommand here (no \expandafter) - \expandafter\defconvertedargument\expandafter\endofblock \expandafter{\csname#4\endcsname}% we could use defconvertedcommand here (no \expandafter) - \ifcase\buffernestmode - \let\processnextbufferline\processnextbufferlineB - \or - \let\processnextbufferline\processnextbufferlineB - \else - \let\processnextbufferline\processnextbufferlineA - \fi}% - \def\closebufferfile - {\ifsegmentatebuffer - \immediate\write\tmpblocks{\string\stopbufferparagraph}% - \fi - \immediate\closeout\tmpblocks - \egroup - \getvalue{#4}}% - \doifelsenothing{#2} - {\edef\bufferfilename{\TEXbufferfile\jobname}}% - {\edef\bufferfilename{\TEXbufferfile{#2}}}% - \immediate\openout\tmpblocks\bufferfilename - \ifsegmentatebuffer - \immediate\write\tmpblocks{\string\startbufferparagraph}% - \fi - \newcounter\nestedbufferlevel - \recatcodeuppercharacterstrue - \setcatcodetable\vrbcatcodes - \obeylines - \copybufferline} - -\letvalue{\e!start\v!buffer}\dostartbuffer - -\let\endbuffer\undefined % to please the dep parser - -\def\setbuffer - {\dosingleempty\dosetbuffer} - -\long\def\dosetbuffer[#1]#2\endbuffer % seldom used so we just pass #2 - {\begingroup - \setcurrentbuffer{#1}% - \edef\bufferfilename{\TEXbufferfile{\currentbuffer}}% - \immediate\openout\tmpblocks\bufferfilename - \defconvertedargument\ascii{#2}% - \immediate\write\tmpblocks{\ascii}% - \immediate\closeout\tmpblocks - \endgroup} - -\def\setupbuffer - {\dodoubleempty\dosetupbuffer} - -\def\dosetupbuffer[#1][#2]% - {\ifsecondargument - \getparameters[\??bu#1][#2]% - \else - \getparameters[\??bu][#1]% - \fi} - -\def\dodefinebuffer[#1][#2]% - {\iffirstargument % else problems - \doglobal\increment\nofdefinedbuffers - \letvalue{\??bu#1\c!number }\nofdefinedbuffers - \letvalue{\??bu#1\c!paragraph}\v!no - \setevalue{\e!start#1}{\noexpand\dostartbuffer[#1][def-\nofdefinedbuffers][\e!start#1][\e!stop#1]}% - \unexpanded\setevalue{\e!get #1}{\noexpand\dogetbuffer [#1][def-\nofdefinedbuffers]}% - \unexpanded\setevalue{\e!type #1}{\noexpand\dotypebuffer [#1][def-\nofdefinedbuffers]}% - \getparameters[\??bu#1][#2]% - \fi} - -\def\definebuffer - {\dodoubleempty\dodefinebuffer} - -\unexpanded\def\getbuffer - {\dodoubleempty\dogetbuffer} - -\def\dogetbuffer[#1][#2]% - {\ifsecondargument - \dodogetbuffer[#1][#2]% - \else - \dodogetbuffer[][#1]% - \fi} - -\def\dogetbufferasis{\readjobfile{\TEXbufferfile{\currentbuffer}}\donothing\donothing}% - -\def\dodogetbuffer[#1][#2]% - {\getvalue{\??bu#1\c!before}% - \dobuffer{16}{#2}\dogetbufferasis - \getvalue{\??bu#1\c!after}} - -\unexpanded\def\typebuffer - {\dodoubleempty\dotypebuffer} - -\def\dogetfilebuffer{\typefile{\TEXbufferfile{\currentbuffer}}} - -\def\dotypebuffer[#1][#2]% - {\iffirstargument - \dobuffer{17}{#1}\dogetfilebuffer - \else - \dobuffer{17}{#2}\dogetfilebuffer - \fi} - -\def\dobuffer#1#2#3% - {\doifelsenothing{#2} - {\dodobuffer#3\jobname} - {\processcommalist[#2]{\dodobuffer#3}}} - -\def\dodobuffer#1#2% command name - {\pushmacro\currentbuffer - \edef\currentbuffer{\ifcsname\??bu#2\c!number\endcsname def-\csname\??bu#2\c!number\endcsname\else#2\fi}% - \beginrestorecatcodes - #1% - \endrestorecatcodes - \popmacro\currentbuffer} - -\def\processTEXbuffer{\getbuffer} % handy - -% seldom used, only in a few projects that demanded more speed - -\def\dostartmemorybuffer - {\dosingleempty\dostartmemorybuffer} - -\long\def\dostartmemorybuffer[#1]#2\stopbuffer - {\setbuffer[#1]#2\endbuffer} - -\let\dostartfilebuffer\startbuffer - -\def\usememorybuffers{\let\startbuffer\dostartmemorybuffer} -\def\usefilebuffers {\let\startbuffer\dostartfilebuffer} - -% this features is soldom used (complex examns where we need to fetch -% special parts of a text -% -% this is not yet supported in mkiv (relatively easy to do but there -% we don't have the par tags but need to grab 'm - -\def\skippedbufferparagraphs{0} - -\let\startbufferparagraph\relax -\let\stopbufferparagraph \par % \relax - -\newcount\currentbufferparagraph - -\def\getbufferparagraphs - {\dodoubleempty\dogetbufferparagraphs} - -\def\dosetbufferoffset#1% - {\doifnumberelse{\getvalue{\??bu#1\c!paragraph}} - {\currentbufferparagraph-\getvalue{\??bu#1\c!paragraph}} - {\currentbufferparagraph \zerocount}% - \relax} - -\def\dogetbufferparagraphs[#1][#2]% - {\iffirstargument - \ifsecondargument - \dosetbufferoffset{#1}% - \doifelse{#2}\v!all - {\def\startbufferparagraph{\normalbufferparagraph{#1}}} - {\def\startbufferparagraph{\filterbufferparagraph{#1}{#2}}}% - \def\stopbufferparagraph{\dostopbufferparagraph{#1}}% - \def\next{\getparagraphedbuffer[#1]}% - \else - \dosetbufferoffset\empty - \def\startbufferparagraph{\filterbufferparagraph{}{#1}}% - \def\stopbufferparagraph{\dostopbufferparagraph{}}% - \def\next{\getparagraphedbuffer[]}% - \fi - \else - \dosetbufferoffset\empty - \def\startbufferparagraph{\normalbufferparagraph{}}% - \def\stopbufferparagraph{\dostopbufferparagraph{}}% - \def\next{\getparagraphedbuffer[]}% - \fi - \next} - -\def\dogetparagraphbuffer{\readjobfile{\TEXbufferfile{\currentbuffer}}\donothing\donothing} - -\def\getparagraphedbuffer[#1]% - {\dobuffer{16}{#1}\dogetparagraphbuffer} - -\def\dostopbufferparagraph#1% - {\getvalue{\??bu#1\c!after}\par} - -\def\dostartbufferparagraph#1% - {\par\getvalue{\??bu#1\c!before}} - -\def\normalbufferparagraph - {\advance\currentbufferparagraph \plusone - \ifnum\currentbufferparagraph>\zerocount - \expandafter\dostartbufferparagraph - \else - \expandafter\gobblebufferparagraph - \fi} - -\def\filterbufferparagraph#1#2% - {\advance\currentbufferparagraph \plusone - \ifcase\currentbufferparagraph - \expandafter\gobblebufferparagraph - \else - \doifinsetelse{\the\currentbufferparagraph}{#2} - {\expandafter\dostartbufferparagraph} - {\expandafter\fakebufferparagraph}% - \fi - {#1}} - -\long\def\gobblebufferparagraph#1#2\stopbufferparagraph - {} - -\def\fakebufferparagraph#1% - {\bgroup - \def\stopbufferparagraph{\dostopbufferparagraph{#1}\egroup\egroup}% - \setbox\scratchbox\vbox\bgroup\dostartbufferparagraph{#1}} - -% definitions - -\definebuffer[\v!hiding] \setupbuffer[\v!hiding][\c!local=\v!yes] - -\setupbuffer - [\c!paragraph=\v!no, - \c!before=, - \c!after=] - -\protect \endinput -- cgit v1.2.3