summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-fnt.mkiv12
-rw-r--r--tex/context/base/page-mar.mkiv2
-rw-r--r--tex/context/base/strc-mar.lua16
-rw-r--r--tex/context/base/strc-mar.mkiv5
-rw-r--r--tex/context/base/supp-box.mkiv19
-rw-r--r--tex/context/base/syst-aux.mkiv1
-rw-r--r--tex/context/base/syst-ext.mkii8
-rw-r--r--tex/generic/context/luatex-fonts-merged.lua2
10 files changed, 44 insertions, 25 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index d767b1f03..4e4c99cb6 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2010.12.13 22:59}
+\newcontextversion{2010.12.18 21:03}
%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.tex b/tex/context/base/context.tex
index dfecbb321..339fa0460 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2010.12.13 22:59}
+\edef\contextversion{2010.12.18 21:03}
%D For those who want to use this:
diff --git a/tex/context/base/core-fnt.mkiv b/tex/context/base/core-fnt.mkiv
index b48eddad4..4d19ff39e 100644
--- a/tex/context/base/core-fnt.mkiv
+++ b/tex/context/base/core-fnt.mkiv
@@ -151,18 +151,6 @@
\fi}
%D \macros
-%D {shiftedword, shiftedwords}
-%D
-%D Used as \type {\shiftedwords {10pt} {some text}} this macro will
-%D move
-
-% \def\shiftedword#1% #2%
-% {\raise#1\hbox} % {#2}} % officially: {\ifdim#1>\zeropoint\raise\else\lower\fi#1\hbox{#2}}
-
-% \def\shiftedwords#1#2%
-% {\processisolatedwords{#2}{\shiftedword{#1}}}
-
-%D \macros
%D {low, high, lohi, hilo}
%D
%D Although \TEX\ is pretty well aware of super- and
diff --git a/tex/context/base/page-mar.mkiv b/tex/context/base/page-mar.mkiv
index 12814ffbf..c260b0eda 100644
--- a/tex/context/base/page-mar.mkiv
+++ b/tex/context/base/page-mar.mkiv
@@ -18,7 +18,7 @@
%D TODO: use parents etc
-\writestatus{loading}{ConTeXt Page Macros / Maginal Things}
+\writestatus{loading}{ConTeXt Page Macros / Marginal Things}
\unprotect
diff --git a/tex/context/base/strc-mar.lua b/tex/context/base/strc-mar.lua
index 7db26b10e..fad713400 100644
--- a/tex/context/base/strc-mar.lua
+++ b/tex/context/base/strc-mar.lua
@@ -98,6 +98,14 @@ local function sweep(head,first,last)
last = a
end
elseif id == hlist_code or id == vlist_code then
+ local a = hasattribute(n,a_marks)
+ if not a then
+ -- next
+ elseif first == 0 then
+ first, last = a, a
+ elseif a > last then
+ last = a
+ end
local list = n.list
if list then
first, last = sweep(list, first, last)
@@ -432,12 +440,12 @@ end
local methods = { }
-local function doresolve(name,range,swap,df,dl,strict)
- local range = ranges[range] or ranges[v_page]
+local function doresolve(name,rangename,swap,df,dl,strict)
+ local range = ranges[rangename] or ranges[v_page]
local first, last = range.first, range.last
if trace_marks_get then
report_marks("resolve: name=%s, range=%s, swap=%s, first=%s, last=%s, df=%s, dl=%s, strict=%s",
- name,range,tostring(swap or false),first,last,df,dl,tostring(strict or false))
+ name,rangename,tostring(swap or false),first,last,df,dl,tostring(strict or false))
end
if swap then
first, last = last + df, first + dl
@@ -468,7 +476,7 @@ local function fetched(name,range,method)
elseif value == "" then
report_marks("nothing fetched: name=%s, range=%s, method=%s",name,range,method)
else
- report_marks("marking fetched: name=%s, range=%s, method=%s, value=%s",name,range,method)
+ report_marks("marking fetched: name=%s, range=%s, method=%s, value=%s",name,range,method,value)
end
return value or ""
end
diff --git a/tex/context/base/strc-mar.mkiv b/tex/context/base/strc-mar.mkiv
index a7458f2d8..abec8d201 100644
--- a/tex/context/base/strc-mar.mkiv
+++ b/tex/context/base/strc-mar.mkiv
@@ -36,7 +36,10 @@
%D with \MKII\ or previous \MKIV\ implementations but in practice this
%D is not a real problem. It's also easier now to extend this mechanism.
-\definesystemattribute[marks]
+% if global has side effects we will need to nil it selectively
+% and optionally enable it in for instance postponed content
+
+\definesystemattribute [marks] [global]
\let\currentmarking\empty
diff --git a/tex/context/base/supp-box.mkiv b/tex/context/base/supp-box.mkiv
index 78fd93b12..2860c7556 100644
--- a/tex/context/base/supp-box.mkiv
+++ b/tex/context/base/supp-box.mkiv
@@ -1298,6 +1298,8 @@
%D
%D \typebuffer \blank \getbuffer \blank
+% todo: provide variant with #1 picked up as box
+
\def\processisolatedchars#1#2%
{\dontleavehmode
\begingroup
@@ -1312,6 +1314,23 @@
\ctxlua{commands.applytowords(\number\scratchbox,"\strippedcsname#2",true)}%
\endgroup}
+\unexpanded\def\processwords#1%
+ {\processisolatedwords{#1}\processword}
+
+\let\processword\relax
+
+%D The better variant:
+
+\def\applytocharacters#1%
+ {\dontleavehmode
+ \dowithnextbox{\ctxlua{commands.applytochars(\number\nextbox,"\strippedcsname#1",true)}}%
+ \normalhbox}
+
+\def\applytowords#1%
+ {\dontleavehmode
+ \dowithnextbox{\ctxlua{commands.applytowords(\number\nextbox,"\strippedcsname#1",true)}}%
+ \normalhbox}
+
%D \macros
%D {sbox}
%D
diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv
index 27dfe9594..497520723 100644
--- a/tex/context/base/syst-aux.mkiv
+++ b/tex/context/base/syst-aux.mkiv
@@ -6977,6 +6977,7 @@
\def\doprocesswords#1 #2\od
{\doifsomething{#1}{\processword{#1} \doprocesswords#2 \od}}
+% {\doifsomething{\detokenize{#1}}{\processword{#1} \doprocesswords#2 \od}} % to be tested
\def\processwords#1%
{\doprocesswords#1 \od}% no \unskip
diff --git a/tex/context/base/syst-ext.mkii b/tex/context/base/syst-ext.mkii
index 745478526..2357e81f1 100644
--- a/tex/context/base/syst-ext.mkii
+++ b/tex/context/base/syst-ext.mkii
@@ -121,21 +121,21 @@
\dodoglobal\@if#1{false}%
\escapechar\scratchcounter}
-%D Also new:
+%D Also:
\def\define#1%
{\ifx#1\undefined
- \expandafter\def
+ \expandafter\long\expandafter\def
\else
\message{[\noexpand#1is already defined]}%
- \expandafter\def\expandafter\gobbleddefinition
+ \expandafter\long\expandafter\def\expandafter\gobbleddefinition
\fi#1}
\def\redefine#1%
{\ifx#1\undefined\else
\message{[\noexpand#1is redefined]}%
\fi
- \def#1}
+ \long\def#1}
% \define\hans{hans}
% \redefine\hans{hans}
diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua
index e2abae9eb..e95f2980a 100644
--- a/tex/generic/context/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 12/13/10 22:59:02
+-- merge date : 12/18/10 21:03:48
do -- begin closure to overcome local limits and interference