summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2012-05-18 23:50:00 +0200
committerHans Hagen <pragma@wxs.nl>2012-05-18 23:50:00 +0200
commit2895f6edd9f6692d7941a84e30ca06254338dfa8 (patch)
tree8c848c8151e5bd5de1d3ff00953061fc06ac4810 /tex/context/base
parentfeb79ebf08de695a49daa0e7bfe0b991b81fd3e2 (diff)
downloadcontext-2895f6edd9f6692d7941a84e30ca06254338dfa8.tar.gz
beta 2012.05.18 23:50
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/colo-ini.mkiv36
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4076 -> 4074 bytes
-rw-r--r--tex/context/base/context-version.pngbin105890 -> 106092 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/luat-mac.lua18
-rw-r--r--tex/context/base/mlib-run.lua6
-rw-r--r--tex/context/base/pack-rul.mkiv1
-rw-r--r--tex/context/base/page-box.mkvi2
-rw-r--r--tex/context/base/page-imp.mkiv28
-rw-r--r--tex/context/base/s-pre-06.tex1
-rw-r--r--tex/context/base/spac-ver.mkiv2
-rw-r--r--tex/context/base/status-files.pdfbin24332 -> 24314 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin178785 -> 178785 bytes
-rw-r--r--tex/context/base/strc-ref.mkvi38
-rw-r--r--tex/context/base/strc-ren.mkiv30
-rw-r--r--tex/context/base/supp-tpi.mkii2
-rw-r--r--tex/context/base/type-imp-latinmodern.mkiv2
20 files changed, 112 insertions, 62 deletions
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index 164b39262..21d70decb 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -702,6 +702,42 @@
"#5",false,\iffreezecolors true\else false\fi)}% not global
\unexpanded\setvalue{#1}{\colo_helpers_activate{#1}}}
+%D Here is a more efficient helper for pgf:
+%D
+%D \starttying
+%D \startluacode
+%D function commands.pgfxcolorspec(ca) -- {}{}{colorspace}{list}
+%D local cv = attributes.colors.values[ca]
+%D if cv then
+%D local model = cv[1]
+%D if model == 2 then
+%D context("{}{}{gray}{%1.3f}",cv[2])
+%D elseif model == 3 then
+%D context("{}{}{rgb}{%1.3f,%1.3f,%1.3f}",cv[3],cv[4],cv[5])
+%D elseif model == 4 then
+%D context("{}{}{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",cv[6],cv[7],cv[8],cv[9])
+%D else
+%D context("{}{}{gray}{%1.3f}",cv[2])
+%D end
+%D else
+%D context("{}{}{gray}{0}")
+%D end
+%D end
+%D \stopluacode
+%D
+%D \def\pgfutil@registercolor#1%
+%D {\setevalue{\string\color@#1}{\noexpand\xcolor@\ctxcommand{pgfxcolorspec(\thecolorattribute{#1})}}}
+%D
+%D \definecolor [darkblue] [r=0,g=0,b=0.5]
+%D
+%D \starttikzpicture
+%D \fill [blue] (0,0) circle(1);
+%D \fill [darkblue] (0,0) circle(1);
+%D \stoptikzpicture
+%D \stoptyping
+%D
+%D \stopmode
+
%D \macros
%D {doifcolorelse, doifcolor}
%D
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 400df7282..165cf971f 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.05.14 16:00}
+\newcontextversion{2012.05.18 23:50}
%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 772d5780a..b6532341c 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.05.14 16:00}
+\newcontextversion{2012.05.18 23:50}
%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 69902446d..a85b09e0b 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 044c6d782..65df0f2da 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index 5ab89d934..a3abacbe7 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.05.14 16:00}
+\edef\contextversion{2012.05.18 23:50}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index fcbe7872c..755d807ee 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -23,7 +23,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.05.14 16:00}
+\edef\contextversion{2012.05.18 23:50}
%D For those who want to use this:
diff --git a/tex/context/base/luat-mac.lua b/tex/context/base/luat-mac.lua
index 75d52781c..f8f87a25a 100644
--- a/tex/context/base/luat-mac.lua
+++ b/tex/context/base/luat-mac.lua
@@ -14,12 +14,6 @@ if not modules then modules = { } end modules ['luat-mac'] = {
--
-- \def\foo#1{\expandafter\normaldef\csname#1\endcsname}
--- todo:
---
--- \def\dosomething#content{%%%<= fine with “#1”
--- % { %%% Open unbalanced brace breaks macros.
--- }
-
local P, V, S, R, C, Cs, Cmt, Carg = lpeg.P, lpeg.V, lpeg.S, lpeg.R, lpeg.C, lpeg.Cs, lpeg.Cmt, lpeg.Carg
local lpegmatch, patterns = lpeg.match, lpeg.patterns
@@ -116,7 +110,7 @@ local always = patterns.alwaysmatched
local commenttoken = P("%")
local crorlf = S("\n\r")
-local commentline = commenttoken * ((Carg(1) * C((1-crorlf)^0))/function(strip,s) return strip and "" or s end)
+----- commentline = commenttoken * ((Carg(1) * C((1-crorlf)^0))/function(strip,s) return strip and "" or s end)
local commentline = commenttoken * ((1-crorlf)^0)
local leadingcomment = (commentline * crorlf^1)^1
local furthercomment = (crorlf^1 * commentline)^1
@@ -166,6 +160,7 @@ local grammar = { "converter",
+ V("texcode")
+ V("braced")
+ furthercomment
+ + leadingcomment -- new per 2012-05-15 (message on mailing list)
+ nobrace
)^0
-- * rightbrace^-1, -- the -1 catches errors
@@ -291,7 +286,14 @@ end
-- {\normalexpanded{\def\noexpand\next#content\expandafter\noexpand\csname stop#name\endcsname}{#name : #content}%
-- \next}
-- ]]))
-
+--
+-- print(macros.preprocessed([[
+-- \def\dosomething#content{%%% {{
+-- % { }{{ %%
+-- \bgroup\italic#content\egroup
+-- }
+-- ]]))
+--
-- Just an experiment:
--
-- \catcode\numexpr"10FF25=\commentcatcode %% > 110000 is invalid
diff --git a/tex/context/base/mlib-run.lua b/tex/context/base/mlib-run.lua
index f42b53594..59dc88b90 100644
--- a/tex/context/base/mlib-run.lua
+++ b/tex/context/base/mlib-run.lua
@@ -148,7 +148,7 @@ if mplibone then
local preamble = [[
boolean mplib ; mplib := true ;
string mp_parent_version ; mp_parent_version := "%s" ;
- input %s ; dump ;
+ input "%s" ; dump ;
]]
metapost.parameters = {
@@ -244,7 +244,7 @@ else
local preamble = [[
boolean mplib ; mplib := true ;
let dump = endinput ;
- input %s ;
+ input "%s" ;
]]
function metapost.load(name)
@@ -257,7 +257,7 @@ else
if not mpx then
result = { status = 99, error = "out of memory"}
else
- result = mpx:execute(format(preamble, file.addsuffix(name,"mp")))
+ result = mpx:execute(format(preamble, file.addsuffix(name,"mp"))) -- addsuffix is redundant
end
stoptiming(mplib)
metapost.reporterror(result)
diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv
index f65641b96..d7e41dd70 100644
--- a/tex/context/base/pack-rul.mkiv
+++ b/tex/context/base/pack-rul.mkiv
@@ -803,6 +803,7 @@
{\bgroup
\advance\framednesting\plusone
\expandafter\let\csname\??ol:\the\framednesting\s!parent\endcsname\??ol
+ \iffirstargument\secondargumenttrue\fi % dirty trick
\pack_framed_process[\??ol:\the\framednesting][#1]%
\bgroup}
diff --git a/tex/context/base/page-box.mkvi b/tex/context/base/page-box.mkvi
index 42db40e5f..58a5627cb 100644
--- a/tex/context/base/page-box.mkvi
+++ b/tex/context/base/page-box.mkvi
@@ -166,6 +166,8 @@
% backgroundoffset=10mm,background=color,backgroundcolor=red]
% \starttext \dorecurse{10}{\input tufte \par} \stoptext
+% best use private variables
+
\newconditional\c_page_boxes_clip_print \settrue\c_page_boxes_clip_print
\def\page_boxes_apply_clip_print_left % box
diff --git a/tex/context/base/page-imp.mkiv b/tex/context/base/page-imp.mkiv
index 71c30a7e1..9d0f722fe 100644
--- a/tex/context/base/page-imp.mkiv
+++ b/tex/context/base/page-imp.mkiv
@@ -560,18 +560,23 @@
\def\handlearrangedpageTWOUP
{\splitoffarrangedpagesTWO
+ \ht\arrangedpageA\paperheight
+ \ht\arrangedpageB\paperheight
\ifconditional\arrangedswapstate
\global\setbox\arrangedpageA\hbox
- {\page_boxes_apply_clip_print_left \arrangedpageA\box\arrangedpageA
- \page_boxes_apply_clip_print_right\arrangedpageB\box\arrangedpageB}%
+ {\page_boxes_apply_clip_print_left \arrangedpageA
+ \box\arrangedpageA
+ \page_boxes_apply_clip_print_right\arrangedpageB
+ \box\arrangedpageB}%
\setfalse\arrangedswapstate
\else
\global\setbox\arrangedpageA\hbox
- {\page_boxes_apply_clip_print_left \arrangedpageB\box\arrangedpageB
- \page_boxes_apply_clip_print_right\arrangedpageA\box\arrangedpageA}%
+ {\page_boxes_apply_clip_print_left \arrangedpageB
+ \box\arrangedpageB
+ \page_boxes_apply_clip_print_right\arrangedpageA
+ \box\arrangedpageA}%
\settrue\arrangedswapstate
\fi
- \ht\arrangedpageA\paperheight
\global\setbox\arrangedpageB\box\scratchbox}
\def\handlearrangedpageTWODOWN
@@ -580,13 +585,17 @@
\ht\arrangedpageB\paperheight
\ifconditional\arrangedswapstate
\global\setbox\arrangedpageA\vbox
- {\offinterlineskip\vskip\paperheight
- \box\arrangedpageA\box\arrangedpageB}%
+ {\offinterlineskip
+ \vskip\paperheight
+ \box\arrangedpageA
+ \box\arrangedpageB}%
\setfalse\arrangedswapstate
\else
\global\setbox\arrangedpageA\vbox
- {\offinterlineskip\vskip\paperheight
- \box\arrangedpageB\box\arrangedpageA}%
+ {\offinterlineskip
+ \vskip\paperheight
+ \box\arrangedpageB
+ \box\arrangedpageA}%
\settrue\arrangedswapstate
\fi
\global\setbox\arrangedpageB\box\scratchbox}
@@ -616,6 +625,7 @@
{\offinterlineskip
\unvbox\arrangedpageB
\allowbreak
+ \setbox#1\vbox{\box#1}% really needed in order to keep real dimensions
\ht#1\onepoint
\dp#1\zeropoint
\vbox{\box#1}}}
diff --git a/tex/context/base/s-pre-06.tex b/tex/context/base/s-pre-06.tex
index 21e7236e7..47948262c 100644
--- a/tex/context/base/s-pre-06.tex
+++ b/tex/context/base/s-pre-06.tex
@@ -120,7 +120,6 @@
\defineoverlay [Joke] [\useMPgraphic{background}]
\startuseMPgraphic{background}
- input mp-tool ;
width := \overlaywidth ;
height := \overlayheight ;
picture p ; p := char 79 infont "\truefontname{Regular}" scaled 1 ;
diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv
index 23229b650..72ee80d4f 100644
--- a/tex/context/base/spac-ver.mkiv
+++ b/tex/context/base/spac-ver.mkiv
@@ -563,7 +563,7 @@
\blank[\v!white,\the\d_spac_lines_correction_before]% \blank[\v!white]\dotopbaselinecorrection
\fi
\nointerlineskip % new
- \dontleavehmode
+ \noindent % not just \dontleavehmode (MKII compatible)
\box\scratchbox
\endgraf
\blank[\the\d_spac_lines_correction_after]% \dobotbaselinecorrection
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 071753577..9327292a4 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index fd66c594f..38c7dde20 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-ref.mkvi b/tex/context/base/strc-ref.mkvi
index d3c932598..161502c9b 100644
--- a/tex/context/base/strc-ref.mkvi
+++ b/tex/context/base/strc-ref.mkvi
@@ -821,23 +821,30 @@
%D shows one of: \hbox {$^\goforwardcharacter$
%D $^\gobackwardcharacter$ $^\gonowherecharacter$}, depending
%D on the direction to go.
+%D
+%D \starttyping
+%D ... \somewhere{backward text}{forward text}[someref] ...
+%D ... \atpage[someref] ...
+%D \stoptyping
% 0 = unknown
% 1 = same
% 2 = before
% 3 = after
-% \def\strc_references_by_reference_page_state#unknown#before#current#after%
-% {\ifcase\referencepagestate\relax#unknown\or#current\or#before\or#after\fi}
-%
-% this fails in an expansion as the \relax stays, so we need:
-
\def\strc_references_by_reference_page_state#unknown#before#current#after%
{\ifcase\referencepagestate\space#unknown\or#current\or#before\or#after\fi}
+% \unexpanded\def\somewhere#backward#foreward#dummy[#label]% #dummy gobbles space around #foreward
+% {\doifreferencefoundelse{#label}% usage needs checking (useless)
+% {\goto{\strc_references_by_reference_page_state{#label}{#backward}{}{#foreward}}[#label]}
+% {[#label]}}
+%
+% better:
+
\unexpanded\def\somewhere#backward#foreward#dummy[#label]% #dummy gobbles space around #foreward
- {\doifreferencefoundelse{#label}% usage needs checking (useless)
- {\goto{\strc_references_by_reference_page_state{#label}{#backward}{}{#foreward}}[#label]}
+ {\doifreferencefoundelse{#label}%
+ {\strc_references_by_reference_page_state{#label}{\goto{#backward}[#label]}{}{\goto{#foreward}[#label]}}
{[#label]}}
\unexpanded\def\atpage[#label]% todo
@@ -1518,23 +1525,6 @@
%D The previous definitions are somewhat obsolete so we don't
%D use it here.
-%D A still very rudimentary|/|experimental forward|/|backward
-%D reference mechanism is provided by the macro \type{\atpage}:
-%D
-%D \starttyping
-%D ... \somewhere{backward text}{forward text}[someref] ...
-%D ... \atpage[someref] ...
-%D \stoptyping
-%D
-%D In future versions there will be more sophisticated
-
-% 0 = no page reference
-% 1 = same page
-% 2 = preceding page
-% 3 = following page
-% 4 = backward, same page (todo)
-% 5 = forward, same page (todo)
-
%D We can cross link documents by using:
%D
%D \showsetup{coupledocument}
diff --git a/tex/context/base/strc-ren.mkiv b/tex/context/base/strc-ren.mkiv
index 543c55fff..b2d23c108 100644
--- a/tex/context/base/strc-ren.mkiv
+++ b/tex/context/base/strc-ren.mkiv
@@ -462,17 +462,27 @@
\fi
#2}}
+% \unexpanded\def\placeheadmarginalternative#1#2%
+% {\vbox
+% {\localheadsetup
+% \begstrut % use one \strut here!
+% \dontleavehmode % in case there is no strut, else side effects with llap
+% \ifconditional\headshownumber
+% \llap{\hbox{\hfill{#1}\hskip\localheadskip\hskip\leftmargindistance}}% introduces whitespace
+% % maybe better:
+% % \inleftmargin{\hbox{\hss{#1}\hskip\localheadskip}}%
+% \fi
+% {#2}}}
+
\unexpanded\def\placeheadmarginalternative#1#2%
- {\vbox
- {\localheadsetup
- \begstrut % use one \strut here!
- \dontleavehmode % in case there is no strut, else side effects with llap
- \ifconditional\headshownumber
- \llap{\hbox{\hfill{#1}\hskip\localheadskip\hskip\leftmargindistance}}% introduces whitespace
- % maybe better:
- % \inleftmargin{\hbox{\hss{#1}\hskip\localheadskip}}%
- \fi
- {#2}}}
+ {\vbox
+ {\localheadsetup
+ \begstrut % use one \strut here!
+ \dontleavehmode % in case there is no strut, else side effects with llap
+ \ifconditional\headshownumber
+ \llap{\hbox{\hfill{#1}\hskip\dimexpr\localheadskip+\doifoddpageelse\leftmargindistance\rightmargindistance\relax}}% introduces whitespace
+ \fi
+ {#2}}}
\defineheadplacement[\v!inmargin][\v!vertical]#1#2{\placeheadmarginalternative{#1}{#2}}
\defineheadplacement[\v!margin] [\v!vertical]#1#2{\placeheadmarginalternative{#1}{#2}}
diff --git a/tex/context/base/supp-tpi.mkii b/tex/context/base/supp-tpi.mkii
index 16e423596..dc230563b 100644
--- a/tex/context/base/supp-tpi.mkii
+++ b/tex/context/base/supp-tpi.mkii
@@ -118,7 +118,7 @@
\aftergroup\stopTPICspecials
\resetMPdrawing
\startMPdrawing
- input mp-tool.mp;
+ input mp-tool.mpii ;
pair p[];
\stopMPdrawing}
diff --git a/tex/context/base/type-imp-latinmodern.mkiv b/tex/context/base/type-imp-latinmodern.mkiv
index a9fddad7d..f5a32fad1 100644
--- a/tex/context/base/type-imp-latinmodern.mkiv
+++ b/tex/context/base/type-imp-latinmodern.mkiv
@@ -217,7 +217,7 @@
%D It doesn't hurt to have these, at least for the moment (can go to type-imp-symbol)
-\definefontsynonym [ZapfDingbats] [\s!file:uzdr] [\s!goodies=dingbats]
+\definefontsynonym [ZapfDingbats] [\s!file:uzdr] [\s!features=dingbats] % [\s!goodies=dingbats]
%definefontsynonym [MartinVogel] [\s!file:marvosym.ttf]
%definefontsynonym [RalfSmithFormalScript] [\s!file:rsfs10]