From 3876cbbeeed2999d5cca0a09a58042040b987271 Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Thu, 19 Jul 2012 15:09:00 +0200
Subject: beta 2012.07.19 15:09

---
 tex/context/base/attr-ini.mkiv                     |  12 +++---
 tex/context/base/catc-def.mkiv                     |   7 ++--
 tex/context/base/colo-ext.mkiv                     |   8 ----
 tex/context/base/cont-new.mkii                     |   2 +-
 tex/context/base/cont-new.mkiv                     |   2 +-
 tex/context/base/context-version.pdf               | Bin 4087 -> 4085 bytes
 tex/context/base/context-version.png               | Bin 106646 -> 105861 bytes
 tex/context/base/context.mkii                      |   2 +-
 tex/context/base/context.mkiv                      |   2 +-
 tex/context/base/grph-raw.mkiv                     |   2 +-
 tex/context/base/math-def.mkiv                     |   5 ++-
 tex/context/base/scrn-fld.mkvi                     |   4 +-
 tex/context/base/scrn-ini.mkvi                     |   8 ++--
 tex/context/base/scrn-wid.mkvi                     |  44 ++++++++++-----------
 tex/context/base/spac-ali.lua                      |   4 +-
 tex/context/base/status-files.pdf                  | Bin 24351 -> 24361 bytes
 tex/context/base/status-lua.pdf                    | Bin 184341 -> 184339 bytes
 tex/context/base/strc-flt.mkvi                     |   2 +-
 tex/context/base/strc-mat.mkiv                     |   2 +-
 tex/context/base/typo-mar.lua                      |   6 +--
 tex/generic/context/luatex/luatex-fonts-merged.lua |   2 +-
 21 files changed, 55 insertions(+), 59 deletions(-)

diff --git a/tex/context/base/attr-ini.mkiv b/tex/context/base/attr-ini.mkiv
index a1550b4be..8a41dd427 100644
--- a/tex/context/base/attr-ini.mkiv
+++ b/tex/context/base/attr-ini.mkiv
@@ -14,8 +14,8 @@
 \writestatus{loading}{ConTeXt Attribute Macros / Initialization}
 
 %D Although it's still somewhat experimental, here we introduce code
-%D related to attributes. Housekeeping will move completely to Lua
-%D and \newattribute will go away.
+%D related to attributes. Housekeeping will move completely to \LUA\
+%D and \type {\newattribute} will go away.
 
 \unprotect
 
@@ -27,14 +27,16 @@
 
 \unexpanded\def\pushattribute#1%
   {\global\advance\csname\??attributestack\string#1\endcsname\plusone
-   \global\expandafter\mathchardef\csname\??attributestack\string#1:\number\csname\??attributestack\string#1\endcsname\endcsname\attribute#1}
+   \expandafter\xdef\csname\??attributestack\string#1:\number\csname\??attributestack\string#1\endcsname\endcsname{\number\attribute#1}}
 
 \unexpanded\def\popattribute#1%
-  {\attribute#1\csname\??attributestack\string#1:\number\csname\??attributestack\string#1\endcsname\endcsname
+  {\attribute#1\csname\??attributestack\string#1:\number\csname\??attributestack\string#1\endcsname\endcsname\relax
    \global\advance\csname\??attributestack\string#1\endcsname\minusone}
 
 \unexpanded\def\installattributestack#1%
-  {\expandafter\newcount\csname\??attributestack\string#1\endcsname}
+  {\ifcsname\??attributestack\string#1\endcsname \else
+     \expandafter\newcount\csname\??attributestack\string#1\endcsname
+   \fi}
 
 \newtoks \attributesresetlist
 
diff --git a/tex/context/base/catc-def.mkiv b/tex/context/base/catc-def.mkiv
index 26e8cb11e..cfbaed171 100644
--- a/tex/context/base/catc-def.mkiv
+++ b/tex/context/base/catc-def.mkiv
@@ -123,7 +123,7 @@
 %D shortcuts to their character representation.
 
 \chardef \^ = \circumflexasciicode
-\chardef \_ = \underscoreasciicode % but way too wide in lm, so ... until that's fixed:
+\chardef \_ = \underscoreasciicode
 \chardef \& = \ampersandasciicode
 \chardef \% = \commentasciicode
 \chardef \# = \hashasciicode
@@ -133,8 +133,9 @@
 \chardef \\ = \backslashasciicode
 \chardef \| = \barasciicode
 
-%def\_{\leavevmode     \kern.06em \vbox{\hrule width.3em}}
-\def\_{\dontleavehmode \kern.06em \vbox{\hrule width.3em}} % this will become a \chardef
+% way too wide in lm, so one can also use:
+%
+% \def\_{\dontleavehmode \kern.06em \vbox{\hrule width.3em}} % this will become a \chardef
 
 %D From now on we can use the protection mechanisms.
 
diff --git a/tex/context/base/colo-ext.mkiv b/tex/context/base/colo-ext.mkiv
index 7920b20fc..8878da485 100644
--- a/tex/context/base/colo-ext.mkiv
+++ b/tex/context/base/colo-ext.mkiv
@@ -29,14 +29,6 @@
 %D
 %D will negate the colors in box zero.
 
-% \unexpanded\def\negatecolorbox#1%
-%   {\setbox#1\hbox
-%      {\startnegative % might change
-%       \startcolor[\s!white]\vrule\s!height\ht#1\s!depth\dp#1\s!width\wd#1\stopcolor
-%       \hskip-\wd#1%
-%       \box#1%
-%       \stopnegative}}
-
 \unexpanded\def\negatecolorbox#1%
   {\setbox#1\hbox
      {\startnegative % might change
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index bed8dbec7..0bf141f24 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.19 12:56}
+\newcontextversion{2012.07.19 15:09}
 
 %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 6513dbae1..330395806 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.19 12:56}
+\newcontextversion{2012.07.19 15:09}
 
 %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 4bae955bf..0a6d80f74 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 d6439c186..ed77f9614 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 4c3d2b8a7..23da48d6d 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.19 12:56}
+\edef\contextversion{2012.07.19 15:09}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 3681b09a0..20a52a603 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.19 12:56}
+\edef\contextversion{2012.07.19 15:09}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/grph-raw.mkiv b/tex/context/base/grph-raw.mkiv
index a40b78455..1c6835564 100644
--- a/tex/context/base/grph-raw.mkiv
+++ b/tex/context/base/grph-raw.mkiv
@@ -50,7 +50,7 @@
         data        = \!!bs#2\!!es,
         colorspace  = "\directdummyparameter\c!color",
         width       = "\directdummyparameter\c!width",
-        height      = "\directdummyparameter\c!height"
+        height      = "\directdummyparameter\c!height",
         xresolution = "\directdummyparameter\c!x",
         yresolution = "\directdummyparameter\c!y",
      }}%
diff --git a/tex/context/base/math-def.mkiv b/tex/context/base/math-def.mkiv
index 0fc8d1b3d..61153cfdd 100644
--- a/tex/context/base/math-def.mkiv
+++ b/tex/context/base/math-def.mkiv
@@ -223,8 +223,9 @@
 \definemathcommand [mathstrut] {\vphantom{(}}
 \definemathcommand [joinrel]   {\mathrel{\mkern-3mu}}
 
-\unexpanded\def\{{\mathortext\lbrace\letterleftbrace }
-\unexpanded\def\}{\mathortext\rbrace\letterrightbrace}
+\unexpanded\def\{{\mathortext\lbrace\letterleftbrace } % or maybe a chardef
+\unexpanded\def\}{\mathortext\rbrace\letterrightbrace} % or maybe a chardef
+\unexpanded\def\|{\mathortext\vert  \letterbar       } % or maybe a chardef
 
 %D The following colon related definitions are provided by Aditya
 %D Mahajan who derived them from \type {mathtools.sty} and \type
diff --git a/tex/context/base/scrn-fld.mkvi b/tex/context/base/scrn-fld.mkvi
index 3528e86fa..a811c6481 100644
--- a/tex/context/base/scrn-fld.mkvi
+++ b/tex/context/base/scrn-fld.mkvi
@@ -616,9 +616,9 @@
        \v!horizontal=>\settrue\fieldishorizontal,
          \v!vertical=>\settrue\fieldisvertical]%
    \ifconditional\fieldisvertical
-     \setupfieldtotalframed[\c!distance=\zeropoint,\c!inbetween=\vskip\@@localoffset,\c!align=\v!right,\c!width=20em]%
+     \setupfieldtotalframed[\c!distance=\zeropoint,\c!inbetween=\vskip\d_framed_local_offset,\c!align=\v!right,\c!width=20em]%
    \else\ifconditional\fieldishorizontal
-     \setupfieldtotalframed[\c!distance=\@@localoffset,\c!inbetween=,\c!align=\c!left,\c!height=10ex]%
+     \setupfieldtotalframed[\c!distance=\d_framed_local_offset,\c!inbetween=,\c!align=\c!left,\c!height=10ex]%
    \else
      \setupfieldtotalframed[\c!distance=\zeropoint,\c!inbetween=,\c!align=\c!left]%
    \fi\fi
diff --git a/tex/context/base/scrn-ini.mkvi b/tex/context/base/scrn-ini.mkvi
index 27d9e89b2..a6cb495ee 100644
--- a/tex/context/base/scrn-ini.mkvi
+++ b/tex/context/base/scrn-ini.mkvi
@@ -144,16 +144,16 @@
      \useinteractionstyleandcolor\c!style\c!color
    \fi}
 
-\unexpanded\def\setlocationcolorspec#1#2% \resolver
+\unexpanded\def\setlocationcolorspecspecified#1#2% \resolver
   {\ifnum#1=\plusone
      \edef\askedcontrastcolor{#2\c!contrastcolor}%
      \ifx\askedcontrastcolor\empty
-       \doactivatecolor{#2\c!color}%
+       \colo_helpers_activate{#2\c!color}%
      \else
-       \doactivatecolor\askedcontrastcolor
+       \colo_helpers_activate\askedcontrastcolor
      \fi
    \else
-     \doactivatecolor{#2\c!color}%
+     \colo_helpers_activate{#2\c!color}%
    \fi}
 
 \unexpanded\def\setlocationcolor     {\setlocationcolorspecified     \referencepagestate}
diff --git a/tex/context/base/scrn-wid.mkvi b/tex/context/base/scrn-wid.mkvi
index 610f1e7b9..f128c171d 100644
--- a/tex/context/base/scrn-wid.mkvi
+++ b/tex/context/base/scrn-wid.mkvi
@@ -421,7 +421,7 @@
    \doifassignmentelse{#title}
      {\setupcurrentcomment[#title]}
      {\setupcurrentcomment[\c!title=#title,#settings]}%
-   \def\scrn_comment_stop{\scrn_comment_inject\egroup}%
+   \unexpanded\def\scrn_comment_stop{\scrn_comment_inject\egroup}%
    \grabbufferdatadirect\v!comment{\e!start\currentcomment}{\e!stop\currentcomment}}
 
 \def\scrn_comment_start_ignore
@@ -432,7 +432,7 @@
 
 \installcorenamespace{commentmethods}
 
-\def\scrn_comment_inject
+\unexpanded\def\scrn_comment_inject
   {\expandcheckedcsname\??commentmethods{\commentparameter\c!method}\v!normal}
 
 %D Beware: comments symbols don't scale in acrobat (cf. spec but somewhat
@@ -476,40 +476,40 @@
    \wd\b_scrn_comment_link\currentcommentwidth
    \ht\b_scrn_comment_link\currentcommentheight
    \dp\b_scrn_comment_link\currentcommentdepth
-   \scrn_comment_place}
+   \expandcheckedcsname\??commentlocation{\commentparameter\c!location}\s!unknown}
 
 \setvalue{\??commentmethods\v!hidden}%
   {}
 
 % todo: dedicated margin classes
 
-\unexpanded\def\scrn_comment_place
-  {\hbox{\expandcheckedcsname\??commentlocation{\commentparameter\c!location}\s!unknown}}
+\setvalue{\??commentlocation\v!inmargin   }{\inmargin     {\box\b_scrn_comment_link}}
+\setvalue{\??commentlocation\v!leftedge   }{\inleftedge   {\box\b_scrn_comment_link}}
+\setvalue{\??commentlocation\v!rightedge  }{\inrightedge  {\box\b_scrn_comment_link}}
+\setvalue{\??commentlocation\v!leftmargin }{\inleftmargin {\box\b_scrn_comment_link}}
+\setvalue{\??commentlocation\v!rightmargin}{\inrightmargin{\box\b_scrn_comment_link}}
+\setvalue{\??commentlocation\v!high       }{\high         {\box\b_scrn_comment_link}}
 
-\setvalue{\??commentlocation\v!inmargin   }{\inmargin     }
-\setvalue{\??commentlocation\v!leftedge   }{\inleftedge   }
-\setvalue{\??commentlocation\v!rightedge  }{\inrightedge  }
-\setvalue{\??commentlocation\v!leftmargin }{\inleftmargin }
-\setvalue{\??commentlocation\v!rightmargin}{\inrightmargin}
-\setvalue{\??commentlocation\v!high       }{\high}
-\setvalue{\??commentlocation\v!none       }{\scrn_comment_collect}
-\setvalue{\??commentlocation\s!unknown    }{\scrn_comment_flush_collect}
-
-\unexpanded\def\scrn_comment_flush_collect
-  {\ifvoid\b_scrn_comment_collect\else
-     \box\b_scrn_comment_collect
-   \fi}
-
-\def\scrn_comment_collect#content%
+\setvalue{\??commentlocation\v!none}%
   {\global\setbox\b_scrn_comment_collect\hbox\bgroup
      \ifvoid\b_scrn_comment_collect\else
        \box\b_scrn_comment_collect
        \hskip\commentparameter\c!distance
      \fi
-     #content%
+     \box\b_scrn_comment_link
    \egroup}
 
-\let\placecomments\scrn_comment_flush_collect
+\setvalue{\??commentlocation\s!unknown}%
+  {\ifvoid\b_scrn_comment_collect\else
+     \box\b_scrn_comment_collect
+   \fi}
+
+\unexpanded\def\scrn_comment_collect
+
+\unexpanded\def\placecomments
+  {\ifvoid\b_scrn_comment_collect\else
+     \box\b_scrn_comment_collect
+   \fi}
 
 \definecomment[comment]
 
diff --git a/tex/context/base/spac-ali.lua b/tex/context/base/spac-ali.lua
index 7ce108172..998df3aa6 100644
--- a/tex/context/base/spac-ali.lua
+++ b/tex/context/base/spac-ali.lua
@@ -77,12 +77,12 @@ local function handler(head,leftpage,realpageno)
                             action = leftpage and 2 or 1
                         end
                         if action == 1 then
-                            current.list = hpack_nodes(concat_nodes(current.list,new_stretch(3)),current.width,"exactly")
+                            current.list = hpack_nodes(concat_nodes{current.list,new_stretch(3)},current.width,"exactly")
                             if trace_realign then
                                 report_realign("flush left: align %s, page %s, realpage %s",align,pageno,realpageno)
                             end
                         elseif action == 2 then
-                            current.list = hpack_nodes(concat_nodes(new_stretch(3),current.list),current.width,"exactly")
+                            current.list = hpack_nodes(concat_nodes{new_stretch(3),current.list},current.width,"exactly")
                             if trace_realign then
                                 report_realign("flush right: align %s, page %s, realpage %s",align,pageno,realpageno)
                             end
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 893b7bab8..abb54ac7e 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 684b971c1..7807d9756 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/strc-flt.mkvi b/tex/context/base/strc-flt.mkvi
index 6c56495b5..ea0036e6b 100644
--- a/tex/context/base/strc-flt.mkvi
+++ b/tex/context/base/strc-flt.mkvi
@@ -678,7 +678,7 @@
      \doifinset\v!fit \floatlocation
        {\global\d_page_sides_topskip   \zeropoint
         \global\d_page_sides_bottomskip\zeropoint
-        \global\floatsideskip          \zeropoint}%
+        \global\d_strc_floats_margin   \zeropoint}%
    \else
      \processallactionsinset
        [\floatlocation]
diff --git a/tex/context/base/strc-mat.mkiv b/tex/context/base/strc-mat.mkiv
index 4f282e703..734a17733 100644
--- a/tex/context/base/strc-mat.mkiv
+++ b/tex/context/base/strc-mat.mkiv
@@ -803,7 +803,7 @@
 \unexpanded\def\placenamedformula
   {\dosingleempty\strc_formulase_place_named}
 
-\def\strc_formulase_place_named[#1]#2%
+\def\strc_formulase_place_named
   {\iffirstargument
      \expandafter\strc_formulase_place_named_yes
    \else
diff --git a/tex/context/base/typo-mar.lua b/tex/context/base/typo-mar.lua
index 65438de16..9252ef874 100644
--- a/tex/context/base/typo-mar.lua
+++ b/tex/context/base/typo-mar.lua
@@ -450,7 +450,7 @@ local function realign(current,candidate)
         end
     end
 
-    current.list = hpack_nodes(concat_nodes(anchornode,new_kern(-delta),current.list,new_kern(delta)))
+    current.list = hpack_nodes(concat_nodes{anchornode,new_kern(-delta),current.list,new_kern(delta)})
     current.width = 0
 end
 
@@ -493,7 +493,7 @@ local function markovershoot(current)
     v_anchors = v_anchors + 1
     cache[v_anchors] = stacked
     local anchor = new_latelua(format("typesetters.margins.ha(%s)",v_anchors)) -- todo: alleen als offset > line
-    current.list = hpack_nodes(concat_nodes(anchor,current.list))
+    current.list = hpack_nodes(concat_nodes{anchor,current.list})
 end
 
 local function getovershoot(location)
@@ -627,7 +627,7 @@ local function inject(parent,head,candidate)
     elseif head.id == whatsit_code and head.subtype == localpar_code then
         -- experimental
         if head.dir == "TRT" then
-            box.list = hpack_nodes(concat_nodes(new_kern(candidate.hsize),box.list,new_kern(-candidate.hsize)))
+            box.list = hpack_nodes(concat_nodes{new_kern(candidate.hsize),box.list,new_kern(-candidate.hsize)})
         end
         insert_node_after(head,head,box)
     else
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 7fe581243..9f64ade0c 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/19/12 12:56:56
+-- merge date  : 07/19/12 15:09:36
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3