summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/context/lua/mtxrun.lua4
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua4
-rw-r--r--scripts/context/stubs/unix/mtxrun4
-rw-r--r--tex/context/base/colo-ini.mkiv16
-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.pdfbin4145 -> 4143 bytes
-rw-r--r--tex/context/base/context-version.pngbin106504 -> 105858 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/data-res.lua4
-rw-r--r--tex/context/base/pack-rul.mkiv233
-rw-r--r--tex/context/base/status-files.pdfbin24488 -> 24462 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin181589 -> 181592 bytes
-rw-r--r--tex/context/base/strc-not.mkvi15
-rw-r--r--tex/context/base/syst-gen.mkii5
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
17 files changed, 199 insertions, 96 deletions
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index 12ee56f74..031d91a85 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -12936,8 +12936,8 @@ function resolvers.resetextrapath()
end
function resolvers.registerextrapath(paths,subpaths)
- paths = paths and settings_to_array(paths)
- subpaths = subpaths and settings_to_array(subpaths)
+ paths = settings_to_array(paths)
+ subpaths = settings_to_array(subpaths)
local ep = instance.extra_paths or { }
local oldn = #ep
local newn = oldn
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index 12ee56f74..031d91a85 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -12936,8 +12936,8 @@ function resolvers.resetextrapath()
end
function resolvers.registerextrapath(paths,subpaths)
- paths = paths and settings_to_array(paths)
- subpaths = subpaths and settings_to_array(subpaths)
+ paths = settings_to_array(paths)
+ subpaths = settings_to_array(subpaths)
local ep = instance.extra_paths or { }
local oldn = #ep
local newn = oldn
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index 12ee56f74..031d91a85 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -12936,8 +12936,8 @@ function resolvers.resetextrapath()
end
function resolvers.registerextrapath(paths,subpaths)
- paths = paths and settings_to_array(paths)
- subpaths = subpaths and settings_to_array(subpaths)
+ paths = settings_to_array(paths)
+ subpaths = settings_to_array(subpaths)
local ep = instance.extra_paths or { }
local oldn = #ep
local newn = oldn
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index a46555534..6b4f1be10 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -357,16 +357,26 @@
\normalexpanded{\colo_palets_define[#1][\csname\??colorpaletspecification#2\endcsname]}%
\fi}}
-\def\colo_palets_define_one#1#2% get rid of { } in #2
- {\colo_palets_define_two{#1}[#2]}%
+% \def\colo_palets_define_one#1#2% get rid of { } in #2
+% {\colo_palets_define_two{#1}[#2]}%
+
+\def\colo_palets_define_one#1#2% get rid of { }
+ {\doifassignmentelse{#2} % catch empty entries
+ {\colo_palets_define_two{#1}[#2]}
+ {\colo_palets_define_three{#1}{#2}}}
\def\colo_palets_define_two#1[#2=#3]%
{\edef\m_colo_palets_tmp{\ifx\m_colo_palets_tmp\empty\else\m_colo_palets_tmp,\fi#2}%
\colo_palets_define_set{#1}{#2}{#3}}%
+\def\colo_palets_define_three#1#2%
+ {\ifcsname\??colorpaletspecification#2\endcsname
+ \processcommacommand[\csname\??colorpaletspecification#2\endcsname]{\colo_palets_define_one{#1}}%
+ \fi}
+
\let\paletsize\!!zerocount
-\def\getpaletsize[#1]%
+\unexpanded\def\getpaletsize[#1]% only works for valid k=v definitions
{\getcommacommandsize[\csname\??colorpaletspecification#1\endcsname]%
\edef\paletsize{\number\commalistsize}}
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 4b79a732f..75980ba4e 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.06.13 23:46}
+\newcontextversion{2012.06.18 17:11}
%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 8db00b160..67e72221b 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.06.13 23:46}
+\newcontextversion{2012.06.18 17:11}
%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 169d147e4..90f70bdcd 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 bcf424f66..1c34d9d55 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 6230809f5..aaa7046ee 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.06.13 23:46}
+\edef\contextversion{2012.06.18 17:11}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index fd1d6539a..472881e66 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.06.13 23:46}
+\edef\contextversion{2012.06.18 17:11}
%D For those who want to use this:
diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua
index 362cacf58..6515b4ddb 100644
--- a/tex/context/base/data-res.lua
+++ b/tex/context/base/data-res.lua
@@ -679,8 +679,8 @@ function resolvers.resetextrapath()
end
function resolvers.registerextrapath(paths,subpaths)
- paths = paths and settings_to_array(paths)
- subpaths = subpaths and settings_to_array(subpaths)
+ paths = settings_to_array(paths)
+ subpaths = settings_to_array(subpaths)
local ep = instance.extra_paths or { }
local oldn = #ep
local newn = oldn
diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv
index 957b3e32f..16b4460e9 100644
--- a/tex/context/base/pack-rul.mkiv
+++ b/tex/context/base/pack-rul.mkiv
@@ -982,8 +982,6 @@
\def\c!fr!analyze{fr:analyze} % private option
-% we can make macros for the offset, width, and height branches or do an \csname
-
\unexpanded\def\pack_framed_process_indeed
{\d_framed_frameoffset\framedparameter\c!frameoffset
\edef\p_framed_backgroundoffset{\framedparameter\c!backgroundoffset}%
@@ -1038,78 +1036,28 @@
\settrue\c_framed_has_format
\dosetraggedcommand\localformat % not that fast
\fi
- \ifx\localoffset\v!none
- \setfalse\c_framed_has_offset
- \setfalse\c_framed_has_strut
- \setfalse\c_framed_is_overlaid
- \d_framed_local_offset\d_framed_linewidth
- \else\ifx\localoffset\v!overlay
- % \ifx\p_framed_frame\v!no \setfalse\c_framed_has_frame \fi % test first
- \setfalse\c_framed_has_offset
- \setfalse\c_framed_has_strut
- \settrue \c_framed_is_overlaid
- \d_framed_local_offset\zeropoint
-% \else\ifx\localoffset\v!strut
-% \setfalse\c_framed_has_offset
-% \settrue \c_framed_has_strut
-% \settrue \c_framed_is_overlaid
-% \d_framed_local_offset\zeropoint
- \else
- \settrue \c_framed_has_offset
- \settrue \c_framed_has_strut
- \setfalse\c_framed_is_overlaid
- \ifx\localoffset\v!default % new per 2-6-2000
- \let\localoffset\defaultframeoffset
- \letframedparameter\c!offset\defaultframeoffset % brrr
+ \csname\??framedoffsetalternative
+ \ifcsname\??framedoffsetalternative\localoffset\endcsname
+ \localoffset
\else
- \let\defaultframeoffset\localoffset
+ \s!unknown
\fi
- \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax
- \fi\fi % \fi
- \d_framed_height\zeropoint
- \d_framed_width \zeropoint
- \ifx\localwidth\empty % fallback to fit
- \ifconditional\c_framed_has_format
- \settrue\c_framed_has_width
- \d_framed_width\hsize
+ \endcsname
+ \csname\??framedwidthalternative
+ \ifcsname\??framedwidthalternative\localwidth\endcsname
+ \localwidth
\else
- \setfalse\c_framed_has_width
+ \s!unknown
\fi
- \else\ifx\localwidth\v!fit
- \ifconditional\c_framed_has_format
- \settrue\c_framed_has_width
- \d_framed_width\hsize
+ \endcsname
+ \csname\??framedheightalternative
+ \ifcsname\??framedheightalternative\localheight\endcsname
+ \localheight
\else
- \setfalse\c_framed_has_width
+ \s!unknown
\fi
- \else\ifx\localwidth\v!fixed % equals \v!fit but no shapebox
- \ifconditional\c_framed_has_format
- \settrue\c_framed_has_width
- \d_framed_width\hsize
- \else
- \setfalse\c_framed_has_width
- \fi
- \else\ifx\localwidth\v!broad
- \settrue\c_framed_has_width
- \d_framed_width\hsize
- \else\ifx\localwidth\v!local
- \settrue\c_framed_has_width
- \setlocalhsize
- \d_framed_width\localhsize
- \else
- \settrue\c_framed_has_width
- \d_framed_width\localwidth
- \fi\fi\fi\fi\fi
- \ifx\localheight\empty % fallback to fit
- \setfalse\c_framed_has_height
- \else\ifx\localheight\v!fit
- \setfalse\c_framed_has_height
- \else\ifx\localheight\v!broad
- \setfalse\c_framed_has_height
- \else
- \settrue\c_framed_has_height
- \d_framed_height\localheight
- \fi\fi\fi
+ \endcsname
+ % the next check could move to heightalternative
\ifconditional\c_framed_has_height
% obey user set height, also downward compatible
\else
@@ -1132,15 +1080,14 @@
% i.e. disable (colsetbackgroundproblemintechniek)
\advance\d_framed_width -2\d_framed_local_offset
\advance\d_framed_height -2\d_framed_local_offset
- \ifx\localstrut\v!no
- \setfalse\c_framed_has_strut
- \else\ifx\localstrut\v!global
- \setstrut
- \else\ifx\localstrut\v!local
- \setfontstrut
- \else
- \setstrut
- \fi\fi\fi
+ \csname\??framedstrutalternative
+ \ifcsname\??framedstrutalternative\localstrut\endcsname
+ \localstrut
+ \else
+ \s!unknown
+ \fi
+ \endcsname
+ % the next check could move to strutalternative
\ifconditional\c_framed_has_strut
\let\localbegstrut\begstrut
\let\localendstrut\endstrut
@@ -1219,6 +1166,136 @@
\afterassignment\pack_framed_restart
\setbox\b_framed_normal\next}
+% alternatives for width, height, strut and offset
+
+\installcorenamespace{framedwidthalternative}
+\installcorenamespace{framedheightalternative}
+\installcorenamespace{framedstrutalternative}
+\installcorenamespace{framedoffsetalternative}
+
+% widths
+
+\setvalue{\??framedwidthalternative\empty}%
+ {\ifconditional\c_framed_has_format
+ \settrue\c_framed_has_width
+ \d_framed_width\hsize
+ \else
+ \setfalse\c_framed_has_width
+ \d_framed_width\zeropoint
+ \fi}
+
+\setvalue{\??framedwidthalternative\v!fit}%
+ {\ifconditional\c_framed_has_format
+ \settrue\c_framed_has_width
+ \d_framed_width\hsize
+ \else
+ \setfalse\c_framed_has_width
+ \d_framed_width\zeropoint
+ \fi}
+
+\setvalue{\??framedwidthalternative\v!fixed}% equals \v!fit but no shapebox
+ {\ifconditional\c_framed_has_format
+ \settrue\c_framed_has_width
+ \d_framed_width\hsize
+ \else
+ \setfalse\c_framed_has_width
+ \d_framed_width\zeropoint
+ \fi}
+
+\setvalue{\??framedwidthalternative\v!broad}%
+ {\settrue\c_framed_has_width
+ \d_framed_width\hsize}
+
+\setvalue{\??framedwidthalternative\v!max}% idem broad
+ {\settrue\c_framed_has_width
+ \d_framed_width\hsize}
+
+\setvalue{\??framedwidthalternative\v!local}%
+ {\settrue\c_framed_has_width
+ \setlocalhsize
+ \d_framed_width\localhsize}
+
+\setvalue{\??framedwidthalternative\s!unknown}%
+ {\settrue\c_framed_has_width
+ \d_framed_width\localwidth}
+
+% heights
+
+\setvalue{\??framedheightalternative\empty}%
+ {\setfalse\c_framed_has_height
+ \d_framed_height\zeropoint}
+
+\setvalue{\??framedheightalternative\v!fit}%
+ {\setfalse\c_framed_has_height
+ \d_framed_height\zeropoint}
+
+\setvalue{\??framedheightalternative\v!broad}%
+ {\setfalse\c_framed_has_height
+ \d_framed_height\zeropoint}
+
+\setvalue{\??framedheightalternative\v!max}%
+ {\settrue\c_framed_has_height
+ \d_framed_height\vsize}
+
+\setvalue{\??framedheightalternative\s!unknown}%
+ {\settrue\c_framed_has_height
+ \d_framed_height\localheight}
+
+% struts
+
+\setvalue{\??framedstrutalternative\v!no}%
+ {\setfalse\c_framed_has_strut}
+
+\setvalue{\??framedstrutalternative\v!global}%
+ {\setstrut}
+
+\setvalue{\??framedstrutalternative\v!local}%
+ {\setfontstrut}
+
+\setvalue{\??framedstrutalternative\v!yes}%
+ {\setstrut}
+
+\setvalue{\??framedstrutalternative\s!unknown}%
+ {\setstrut}
+
+% offsets
+
+\setvalue{\??framedoffsetalternative\v!none}%
+ {\setfalse\c_framed_has_offset
+ \setfalse\c_framed_has_strut
+ \setfalse\c_framed_is_overlaid
+ \d_framed_local_offset\d_framed_linewidth}
+
+\setvalue{\??framedoffsetalternative\v!overlay}%
+ {% \ifx\p_framed_frame\v!no \setfalse\c_framed_has_frame \fi % test first
+ \setfalse\c_framed_has_offset
+ \setfalse\c_framed_has_strut
+ \settrue \c_framed_is_overlaid
+ \d_framed_local_offset\zeropoint}
+
+% \setvalue{\??framedoffsetalternative\v!strut}%
+% {\setfalse\c_framed_has_offset
+% \settrue \c_framed_has_strut
+% \settrue \c_framed_is_overlaid
+% \d_framed_local_offset\zeropoint}
+
+\setvalue{\??framedoffsetalternative\v!default}% new per 2-6-2000
+ {\settrue \c_framed_has_offset
+ \settrue \c_framed_has_strut
+ \setfalse\c_framed_is_overlaid
+ \let\localoffset\defaultframeoffset
+ \letframedparameter\c!offset\defaultframeoffset % brrr
+ \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax}
+
+\setvalue{\??framedoffsetalternative\s!unknown}%
+ {\settrue \c_framed_has_offset
+ \settrue \c_framed_has_strut
+ \setfalse\c_framed_is_overlaid
+ \let\defaultframeoffset\localoffset
+ \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax}
+
+% so far for alternatives
+
\let\pack_framed_stop_orientation\relax
\def\pack_framed_restart
@@ -1238,7 +1315,7 @@
%D
%D Offset helper (see menus):
-\def\doassigncheckedframeoffset#1#2%
+\def\doassigncheckedframeoffset#1#2% could be a fast \csname .. \endcsname
{\edef\checkedframeoffset{#2}%
#1%
\ifx\checkedframeoffset\empty \zeropoint\else
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 3b5e3291c..6ee3c4f18 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 fc2a6c247..f1e84a241 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-not.mkvi b/tex/context/base/strc-not.mkvi
index 8b3887a81..ce37a5717 100644
--- a/tex/context/base/strc-not.mkvi
+++ b/tex/context/base/strc-not.mkvi
@@ -1713,8 +1713,19 @@
\unexpanded\def\startlocalfootnotes {\startlocalnotes [\v!footnote]} % alleen footnote
\unexpanded\def\stoplocalfootnotes {\stoplocalnotes }
-\def\strc_notes_place_footnotes [#1][#2]{\ifsecondargument\placenotes [#1][#2,\c!height=\textheight]\else\placenotes [#1]\fi}
-\def\strc_notes_place_local_footnotes[#1][#2]{\ifsecondargument\placelocalnotes[#1][#2,\c!height=\textheight]\else\placelocalnotes[#1]\fi}
+\def\strc_notes_place_footnotes[#1][#2]%
+ {\ifsecondargument
+ \placenotes[#1][#2,\c!height=\textheight]%
+ \else
+ \placenotes[#1][\c!height=\textheight]%
+ \fi}
+
+\def\strc_notes_place_local_footnotes[#1][#2]%
+ {\ifsecondargument
+ \placelocalnotes[#1][#2,\c!height=\textheight]%
+ \else
+ \placelocalnotes[#1][\c!height=\textheight]%
+ \fi}
%D Goodies:
%D
diff --git a/tex/context/base/syst-gen.mkii b/tex/context/base/syst-gen.mkii
index bb0f54d11..8b71b77d5 100644
--- a/tex/context/base/syst-gen.mkii
+++ b/tex/context/base/syst-gen.mkii
@@ -657,6 +657,11 @@
\def\resetvalue #1{\expandafter\let\csname#1\endcsname\empty}
\def\ignorevalue#1#2{\expandafter\let\csname#1\endcsname\empty}
+\def\setuvalue #1{\normalprotected\expandafter \def\csname#1\endcsname}
+\def\setuevalue #1{\normalprotected\expandafter\edef\csname#1\endcsname}
+\def\setugvalue #1{\normalprotected\expandafter\gdef\csname#1\endcsname}
+\def\setuxvalue #1{\normalprotected\expandafter\xdef\csname#1\endcsname}
+
%D \macros
%D {globallet,glet}
%D
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index c28cd2a74..864baf31d 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 : 06/13/12 23:46:07
+-- merge date : 06/18/12 17:11:41
do -- begin closure to overcome local limits and interference