From 550d418660a6918df3b81698f264a6f0bdd000ce Mon Sep 17 00:00:00 2001 From: Marius Date: Tue, 10 Jul 2012 00:00:17 +0300 Subject: beta 2012.07.09 22:35 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4138 -> 4141 bytes tex/context/base/context-version.png | Bin 106297 -> 106426 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/mult-low.lua | 2 +- tex/context/base/pack-rul.mkiv | 4 +- tex/context/base/page-ini.mkiv | 6 +- tex/context/base/page-lin.mkiv | 110 ++++++++++++++------- tex/context/base/page-mul.mkiv | 4 +- tex/context/base/page-txt.mkvi | 2 +- tex/context/base/status-files.pdf | Bin 24476 -> 24462 bytes tex/context/base/status-lua.pdf | Bin 179530 -> 179532 bytes tex/context/base/syst-aux.mkiv | 29 ++++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 112 insertions(+), 55 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index b6bed9fad..c4d52b313 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.07.09 20:28} +\newcontextversion{2012.07.09 22:35} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 95914c866..b07d17585 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.07.09 20:28} +\newcontextversion{2012.07.09 22:35} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index c8c4aa513..eaef9c1e7 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index a2ff996ee..164b0508b 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 0f9619140..af6e0d1df 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2012.07.09 20:28} +\edef\contextversion{2012.07.09 22:35} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 3157107ef..1bd5703f3 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2012.07.09 20:28} +\edef\contextversion{2012.07.09 22:35} %D For those who want to use this: diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua index 571c4e48f..a32d4fe31 100644 --- a/tex/context/base/mult-low.lua +++ b/tex/context/base/mult-low.lua @@ -197,7 +197,7 @@ return { "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", - "doifdimensionelse", "doifnumberelse", + "doifdimensionelse", "doifnumberelse", "doifnumber", "doifnotnumber", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifinstringelse", "doifassignmentelse", diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv index 330e153bc..c3ac12b1b 100644 --- a/tex/context/base/pack-rul.mkiv +++ b/tex/context/base/pack-rul.mkiv @@ -1382,8 +1382,8 @@ \else \pack_framed_finish_c \fi\fi\fi - \ifconditional\boxcontentneedsprocessing - \mkdoprocessboxcontents\b_framed_normal + \ifconditional\page_postprocessors_needed_box + \page_postprocessors_linenumbers_box\b_framed_normal \fi \else \pack_framed_finish_c diff --git a/tex/context/base/page-ini.mkiv b/tex/context/base/page-ini.mkiv index d1b39399a..43967cb76 100644 --- a/tex/context/base/page-ini.mkiv +++ b/tex/context/base/page-ini.mkiv @@ -56,9 +56,9 @@ \newbox\pagebox -\ifx\mkprocesscolumncontents\undefined\let\mkprocesscolumncontents\gobbleoneargument\fi -\ifx\mkprocesspagecontents \undefined\let\mkprocesspagecontents \gobbleoneargument\fi -\ifx\mkprocessboxcontents \undefined\let\mkprocessboxcontents \gobbleoneargument\fi +\ifdefined\page_postprocessors_column \else \let\page_postprocessors_column\gobbleoneargument \fi +\ifdefined\page_postprocessors_page \else \let\page_postprocessors_page \gobbleoneargument \fi +\ifdefined\page_postprocessors_box \else \let\page_postprocessors_box \gobbleoneargument \fi %D Floats. diff --git a/tex/context/base/page-lin.mkiv b/tex/context/base/page-lin.mkiv index a26fc2c74..d8aaa2e7e 100644 --- a/tex/context/base/page-lin.mkiv +++ b/tex/context/base/page-lin.mkiv @@ -58,22 +58,22 @@ \let\makelinenumber\gobblesevenarguments % used at lua end -\newconditional\boxcontentneedsprocessing +\newconditional\page_postprocessors_needed_box -\def\mkdoprocesspagecontents #1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \zerocount} -\def\mkdoprocessboxcontents #1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \zerocount} -\def\mkdoprocessdeepboxcontents#1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \plusone } -\def\mkdoprocesscolumncontents #1{\page_lines_add_numbers_to_box{#1}\currentcolumn\nofcolumns\zerocount} +\unexpanded\def\page_postprocessors_linenumbers_page #1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \zerocount} +\unexpanded\def\page_postprocessors_linenumbers_box #1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \zerocount} +\unexpanded\def\page_postprocessors_linenumbers_deepbox#1{\page_lines_add_numbers_to_box{#1}\plusone \plusone \plusone } +\unexpanded\def\page_postprocessors_linenumbers_column #1{\page_lines_add_numbers_to_box{#1}\currentcolumn\nofcolumns\zerocount} \def\page_lines_parameters_regular - {continue = "\linenumberingparameter\c!continue", + {continue = "\ifnum\c_page_lines_mode=\zerocount\v!yes\else\v!no\fi", start = \number\linenumberingparameter\c!start, step = \number\linenumberingparameter\c!step, method = "\linenumberingparameter\c!method", tag = "\currentlinenumbering"} \def\page_lines_parameters_update - {continue = "\linenumberingparameter\c!continue"} + {continue = "\ifnum\c_page_lines_mode=\zerocount\v!yes\else\v!no\fi"} \def\page_lines_start_define {\setxvalue{\??linenumberinginstance\currentlinenumbering}{\ctxcommand{registerlinenumbering({\page_lines_parameters_regular})}}} @@ -141,7 +141,7 @@ \c!location=\v!left, \c!style=, \c!color=, - \c!width=2em, + \c!width=2\emwidth, \c!left=, \c!right=, \c!command=, @@ -179,38 +179,82 @@ \expandafter\let\csname\??linennumberingalternative\v!flushright\endcsname \plustwo \expandafter\let\csname\??linennumberingalternative\v!auto \endcsname \plusfive +% \startlinenumbering[|continue|settings|name] +% \startlinenumbering[name][|continue|settings] + \unexpanded\def\startlinenumbering {\dodoubleempty\page_lines_start} -\def\page_lines_start[#1][#2]% todo: c!continue +\def\page_lines_start % we stay downward compatible {\begingroup - \c_page_lines_mode\plusone \ifsecondargument - \edef\currentlinenumbering{#1}% - \doifassignmentelse{#2} - {\setupcurrentlinenumbering[#2]} - {\doifnumberelse{#2}% downward compatible - {\setcurrentlinenumberingparameter\c!start{#2}}% - {\doif{#2}\v!continue - {\letcurrentlinenumberingparameter\c!continue\v!yes - \c_page_lines_mode\zerocount}}}% + \expandafter\page_lines_start_two \else\iffirstargument - \doifnumberelse{#1}% downward compatible - {\let\currentlinenumbering\empty - \setcurrentlinenumberingparameter\c!start{#1}}% - {\doifelse{#1}\v!continue - {\let\currentlinenumbering\empty - \letcurrentlinenumberingparameter\c!continue\v!yes - \c_page_lines_mode\zerocount} - {\edef\currentlinenumbering{#1}}}% - \fi\fi - \doif{\linenumberingparameter\c!continue}\v!yes - {\c_page_lines_mode\zerocount}% - \numberinglinestrue + \doubleexpandafter\page_lines_start_one + \else + \doubleexpandafter\page_lines_start_zero + \fi\fi} + +\def\page_lines_start_zero[#1][#2]% + {\edef\m_argument{\linenumberingparameter\c!continue}% + \ifx\m_argument\v!continue + \c_page_lines_mode\zerocount + \else + \c_page_lines_mode\plusone + \fi + \page_lines_start_followup} + +\def\page_lines_start_one[#1][#2]% [continue||settings] % historic + {\edef\m_argument{#1}% + \ifx\m_argument\v!continue + \c_page_lines_mode\zerocount + \let\currentlinenumbering\empty + \else + \c_page_lines_mode\plusone + \ifx\m_argument\v!empty + \let\currentlinenumbering\empty + \else + \doifassignmentelse{#1} + {\let\currentlinenumbering\empty + \setupcurrentlinenumbering[#1]} + {\doifnumberelse\m_argument + {\let\currentlinenumbering\empty + \letlinenumberingparameter\c!start\m_argument} + {\let\currentlinenumbering\m_argument}}% + \fi + \edef\m_argument{\linenumberingparameter\c!continue}% + \ifx\m_argument\v!continue + \c_page_lines_mode\zerocount + \fi + \fi + \page_lines_start_followup} + +\def\page_lines_start_two[#1][#2]% [tag][continue||settings] + {\edef\currentlinenumbering{#1}% + \edef\m_argument{#2}% + \ifx\m_argument\v!continue + \c_page_lines_mode\zerocount + \else + \c_page_lines_mode\plusone + \ifx\m_argument\v!empty \else + \doifassignmentelse{#2} + {\setupcurrentlinenumbering[#2]} + {\doifnumber\m_argument + {\letlinenumberingparameter\c!start\m_argument}}% + \fi + \edef\m_argument{\linenumberingparameter\c!continue}% + \ifx\m_argument\v!continue + \c_page_lines_mode\zerocount + \fi + \fi + \page_lines_start_followup} + +\def\page_lines_start_followup + {\numberinglinestrue \the\beforeeverylinenumbering - \globallet\mkprocesspagecontents \mkdoprocesspagecontents - \globallet\mkprocesscolumncontents\mkdoprocesscolumncontents - \global\settrue\boxcontentneedsprocessing % see core-rul.mkiv + \globallet\page_postprocessors_page \page_postprocessors_linenumbers_page + \globallet\page_postprocessors_column\page_postprocessors_linenumbers_column + \global\settrue\page_postprocessors_needed_box % see core-rul.mkiv \ifcase\c_page_lines_mode\relax \page_lines_start_update % continue \or diff --git a/tex/context/base/page-mul.mkiv b/tex/context/base/page-mul.mkiv index 2e661f3b7..300ab7720 100644 --- a/tex/context/base/page-mul.mkiv +++ b/tex/context/base/page-mul.mkiv @@ -463,13 +463,13 @@ \setfalse\someprecolumncontent % will be set elsewhere \else \settrue\someprecolumncontent - \mkprocessboxcontents\precolumnbox + \page_postprocessors_box\precolumnbox \fi \forgetall \setmulticolumnsout \setmaxcolumndimensions \dohandleallcolumns - {\mkprocesscolumncontents\currentcolumnbox}% + {\page_postprocessors_column\currentcolumnbox}% \dohandleallcolumns {\page_marks_synchronize_column\plusone\nofcolumns\mofcolumns\currentcolumnbox}% \postprocesscolumns diff --git a/tex/context/base/page-txt.mkvi b/tex/context/base/page-txt.mkvi index 504527a0f..c6ef366d3 100644 --- a/tex/context/base/page-txt.mkvi +++ b/tex/context/base/page-txt.mkvi @@ -847,7 +847,7 @@ \kern\dimexpr\leftmarginwidth+\leftmargindistance\relax \fi \endgroup - \mkprocesspagecontents{#2}% + \page_postprocessors_page{#2}% \settextpagecontent\b_page_layouts_element{#1}{#2}% \page_backgrounds_add_to_text\b_page_layouts_element \page_grids_add_to_box\b_page_layouts_element diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 966f28c40..e734d8a6c 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 5c97ea52a..b27731a99 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index 74dd076f7..0571fd00f 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -1321,20 +1321,19 @@ \fi} %D \macros -%D {doifnumberelse} +%D {doifnumberelse,doifnumber,doifnotnumber} %D -%D The next macro executes a command depending of the outcome -%D of a test on numerals. This is probably one of the fastest -%D test possible, exept from a less robust 10||step -%D \type{\if}||ladder or some tricky \type{\lcode} checking. +%D The next macro executes a command depending of the outcome of a test on +%D numerals. This is probably one of the fastest test possible, exept from +%D a less robust 10||step \type {\if}||ladder or some tricky \type {\lcode} +%D checking. %D %D \starttyping %D \doifnumberelse {string} {then ...} {else ...} %D \stoptyping %D -%D The macro accepts \type{123}, \type{abc}, \type{{}}, -%D \type{\getal} and \type{\the\count...}. This macro is a -%D rather dirty one. +%D The macro accepts \type {123}, \type {abc}, \type {{}}, \type {\getal} and +%D \type {\the\count...}. This macro is a rather dirty one. \def\doifnumberelse#1% does not accept counters (fully expandable) {\ifcase0\ifcase1#1\or\or\or\or\or\or\or\or\or\else1\fi\space @@ -1343,6 +1342,20 @@ \expandafter\firstoftwoarguments \fi} +\def\doifnumber#1% + {\ifcase0\ifcase1#1\or\or\or\or\or\or\or\or\or\else1\fi\space + \expandafter\firstofoneargument + \else + \expandafter\gobbleoneargument + \fi} + +\def\doifnotnumber#1% + {\ifcase0\ifcase1#1\or\or\or\or\or\or\or\or\or\else1\fi\space + \expandafter\gobbleoneargument + \else + \expandafter\firstofoneargument + \fi} + %D \macros %D {makerawcommalist, %D rawdoinsetelse, diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 5d8f36906..046b1404b 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 07/09/12 20:28:02 +-- merge date : 07/09/12 22:35:28 do -- begin closure to overcome local limits and interference -- cgit v1.2.3