From 23d49db944011bca3c1b0812fd5f3d354ed33c41 Mon Sep 17 00:00:00 2001
From: Marius <mariausol@gmail.com>
Date: Mon, 19 Sep 2011 13:40:13 +0300
Subject: beta 2011.09.19 12:37

---
 .../data/scite/lexers/scite-context-lexer-tex.lua  |   2 +-
 scripts/context/lua/mtx-scite.lua                  |   4 +++-
 tex/context/base/char-cjk.lua                      |  18 +++++++++++++-
 tex/context/base/char-ini.lua                      |  26 ++++++++++++++-------
 tex/context/base/cont-new.mkii                     |   2 +-
 tex/context/base/cont-new.mkiv                     |   2 +-
 tex/context/base/context-version.pdf               | Bin 4088 -> 4093 bytes
 tex/context/base/context-version.png               | Bin 106395 -> 106215 bytes
 tex/context/base/context.mkii                      |   2 +-
 tex/context/base/context.mkiv                      |   2 +-
 tex/context/base/luat-ini.mkiv                     |   4 ++--
 tex/context/base/mult-prm.mkiv                     |   2 +-
 tex/context/base/sort-lan.lua                      |   3 +--
 tex/context/base/status-files.pdf                  | Bin 23925 -> 23920 bytes
 tex/context/base/status-lua.pdf                    | Bin 162352 -> 162402 bytes
 tex/context/base/strc-flt.mkiv                     |   2 +-
 tex/context/base/syst-aux.mkiv                     |   1 +
 tex/context/interface/cont-cs.xml                  |   2 --
 tex/context/interface/cont-de.xml                  |   2 --
 tex/context/interface/cont-en.xml                  |   2 --
 tex/context/interface/cont-fr.xml                  |   2 --
 tex/context/interface/cont-it.xml                  |   2 --
 tex/context/interface/cont-nl.xml                  |   2 --
 tex/context/interface/cont-pe.xml                  |   2 --
 tex/context/interface/cont-ro.xml                  |   2 --
 tex/generic/context/luatex/luatex-fonts-merged.lua |   2 +-
 26 files changed, 50 insertions(+), 38 deletions(-)

diff --git a/context/data/scite/lexers/scite-context-lexer-tex.lua b/context/data/scite/lexers/scite-context-lexer-tex.lua
index 0866b35b4..cea0aa544 100644
--- a/context/data/scite/lexers/scite-context-lexer-tex.lua
+++ b/context/data/scite/lexers/scite-context-lexer-tex.lua
@@ -357,7 +357,7 @@ local luaenvironment         = P("luacode")
 
 local inlinelua              = P("\\") * (
                                     P("ctx") * ( P("lua") + P("command") )
-                                  + P("cldcontext")
+                                  + P("cld") * ( P("command") + P("context") )
                                )
 
 local startlua               = P("\\start") * Cmt(luaenvironment,startdisplaylua)
diff --git a/scripts/context/lua/mtx-scite.lua b/scripts/context/lua/mtx-scite.lua
index c969f209e..116555e79 100644
--- a/scripts/context/lua/mtx-scite.lua
+++ b/scripts/context/lua/mtx-scite.lua
@@ -180,7 +180,9 @@ scripts.scite = scripts.scite or { }
 local function splitwords(words)
     local w = { }
     for s in string.gmatch(words,"[a-zA-Z\127-255]+") do
-        w[lower(s)] = s
+        if #s > 2 then -- will become option
+            w[lower(s)] = s
+        end
     end
     return w
 end
diff --git a/tex/context/base/char-cjk.lua b/tex/context/base/char-cjk.lua
index 067371c64..b077f4a3e 100644
--- a/tex/context/base/char-cjk.lua
+++ b/tex/context/base/char-cjk.lua
@@ -247,7 +247,7 @@ local hangul_syllable_basetable = {
 local hangul_syllable_metatable = {
     __index = function(t,k)
         local u = t.unicodeslot
-        if k == "fscode" then
+        if k == "fscode" or k == "leadconsonant" then
             return leadconsonant(u)
         elseif k == "decomposed" then
             return { decomposed(u) }
@@ -261,6 +261,22 @@ local hangul_syllable_metatable = {
     end
 }
 
+function characters.remap_hangul_syllabe(t)
+    local tt = type(t)
+    if tt == "number" then
+        return remapped[t] or t
+    elseif tt == "table" then
+        local r = { }
+        for i=1,#t do
+            local ti = t[i]
+            r[i] = remapped[ti] or ti
+        end
+        return r
+    else
+        return t
+    end
+end
+
 local hangul_syllable_extender = function(k,v)
     local t = {
         unicodeslot = k,
diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua
index 6d17a7507..244b8d2a7 100644
--- a/tex/context/base/char-ini.lua
+++ b/tex/context/base/char-ini.lua
@@ -109,11 +109,11 @@ setmetatableindex(data, function(t,k)
     if tk == "string" then
         k = lpegmatch(pattern,k) or utfbyte(k)
         if k then
-            local tk = rawget(t,k)
-            if tk then
-                return tk
+            local v = rawget(t,k)
+            if v then
+                return v
             else
-                -- goes to ranges
+                tk = "number" -- fall through to range
             end
         else
             return private
@@ -125,10 +125,10 @@ setmetatableindex(data, function(t,k)
             if k >= rr.first and k <= rr.last then
                 local extender = rr.extender
                 if extender then
-                    v = extender(k,v)
+                    local v = extender(k,v)
+                    t[k] = v
+                    return v
                 end
-                t[k] = v
-                return v
             end
         end
     end
@@ -743,11 +743,21 @@ setmetatableindex(shchars, function(t,u) if u then local c = data[u] c = c and c
 setmetatableindex(fschars, function(t,u) if u then local c = data[u] c = c and c.fscode c = c and utfstring(c) or (type(u) == "number" and utfchar(u)) or u t[u] = c return c end end)
 
 local decomposed = allocate()  characters.decomposed = decomposed   -- lazy table
+local specials   = allocate()  characters.specials   = specials     -- lazy table
 
 setmetatableindex(decomposed, function(t,u) -- either a table or false
     if u then
         local c = data[u]
-        local s = c and c.decomposed or false
+        local s = c and c.decomposed or false -- could fall back to specials
+        t[u] = s
+        return s
+    end
+end)
+
+setmetatableindex(specials, function(t,u) -- either a table or false
+    if u then
+        local c = data[u]
+        local s = c and c.specials or false
         t[u] = s
         return s
     end
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 95ada7443..1c8b636f1 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{2011.09.18 22:35}
+\newcontextversion{2011.09.19 12:37}
 
 %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 45c97a2ed..13f668a54 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{2011.09.18 22:35}
+\newcontextversion{2011.09.19 12:37}
 
 %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 f81c97e37..766e4e5db 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 df771f0c4..057f1f014 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 00e384030..e9886ee4f 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{2011.09.18 22:35}
+\edef\contextversion{2011.09.19 12:37}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 35e92543f..688343542 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -20,7 +20,7 @@
 %D your styles an modules.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2011.09.18 22:35}
+\edef\contextversion{2011.09.19 12:37}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/luat-ini.mkiv b/tex/context/base/luat-ini.mkiv
index 774762ee7..dfee302ca 100644
--- a/tex/context/base/luat-ini.mkiv
+++ b/tex/context/base/luat-ini.mkiv
@@ -44,8 +44,8 @@
 \long\def\dodostartluacode#1\stopluacode
   {\normalexpanded{\endgroup\noexpand\directlua\zerocount{#1}}}
 
-\unexpanded\def\startlua    {\dostartlua    } % tex catcodes
-\unexpanded\def\startluacode{\dostartluacode} % lua catcodes
+\unexpanded\def\startlua    {\dostartlua    } \let\stoplua    \relax % tex catcodes
+\unexpanded\def\startluacode{\dostartluacode} \let\stopluacode\relax % lua catcodes
 
 %D Some delayed definitions:
 
diff --git a/tex/context/base/mult-prm.mkiv b/tex/context/base/mult-prm.mkiv
index b965c7f05..7e5bc1edd 100644
--- a/tex/context/base/mult-prm.mkiv
+++ b/tex/context/base/mult-prm.mkiv
@@ -54,7 +54,7 @@
         xetex  = table.sorted( table.merged( missing.xetex , { }                              ) ),
     }
 
-    table.remove(primitives.tex,1) -- get rid of \-
+ -- table.remove(primitives.tex,1) -- get rid of \-
 
     io.savedata("mult-prm.lua",table.serialize(primitives,true,{ reduce = true, inline = false }))
 
diff --git a/tex/context/base/sort-lan.lua b/tex/context/base/sort-lan.lua
index e7556c1de..351c73e45 100644
--- a/tex/context/base/sort-lan.lua
+++ b/tex/context/base/sort-lan.lua
@@ -863,8 +863,7 @@ definitions["et"] = {
 local fschars = characters.fschars
 
 local function firstofsplit(first)
-    local fs = fschars[first] or first
- -- print(string.format("%04x %04x",utfbyte(first),utfbyte(fs)))
+    local fs = fschars[first] or first -- leadconsonant
     return fs, fs -- entry, tag
 end
 
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 2acd1ac05..11af3c52f 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 0bd966ab6..b5d01bcb5 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.mkiv b/tex/context/base/strc-flt.mkiv
index 7511a2a79..50a893c67 100644
--- a/tex/context/base/strc-flt.mkiv
+++ b/tex/context/base/strc-flt.mkiv
@@ -127,7 +127,7 @@
 \presetstructurecountersetup\setupcaption\sharedstructurecounterparameter
 
 \appendtoks
-    \let\currenfloat\currentcaption
+    \let\currentfloat\currentfloatcaption
     \dostructurecountersetup\currentfloat\floatcaptionparameter
     \docheckstructurecountersetup\currentfloat
 \to \everysetupfloatcaption
diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv
index 63718babd..3ef9acaaa 100644
--- a/tex/context/base/syst-aux.mkiv
+++ b/tex/context/base/syst-aux.mkiv
@@ -141,6 +141,7 @@
 
 \let\@NX          \noexpand
 \let\@EA          \expandafter
+\def\@EAEA       {\expandafter\expandafter} % can often be avoided
 \let\@EAEAEA      \doubleexpandafter
 \let\@EAEAEAEAEAEA\tripleexpandafter
 
diff --git a/tex/context/interface/cont-cs.xml b/tex/context/interface/cont-cs.xml
index 988f8476e..03e68bbc5 100644
--- a/tex/context/interface/cont-cs.xml
+++ b/tex/context/interface/cont-cs.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="cs" version="2006.08.02">
diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml
index ff375be46..659fdf3f0 100644
--- a/tex/context/interface/cont-de.xml
+++ b/tex/context/interface/cont-de.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="de" version="2006.08.02">
diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml
index 100148f42..46568857a 100644
--- a/tex/context/interface/cont-en.xml
+++ b/tex/context/interface/cont-en.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="en" version="2006.08.02">
diff --git a/tex/context/interface/cont-fr.xml b/tex/context/interface/cont-fr.xml
index d6096aa55..081ea1802 100644
--- a/tex/context/interface/cont-fr.xml
+++ b/tex/context/interface/cont-fr.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="fr" version="2006.08.02">
diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml
index 7675c612c..b739b60cb 100644
--- a/tex/context/interface/cont-it.xml
+++ b/tex/context/interface/cont-it.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="it" version="2006.08.02">
diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml
index a84a88c0e..b3036a5a9 100644
--- a/tex/context/interface/cont-nl.xml
+++ b/tex/context/interface/cont-nl.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="nl" version="2006.08.02">
diff --git a/tex/context/interface/cont-pe.xml b/tex/context/interface/cont-pe.xml
index 94e042012..956087029 100644
--- a/tex/context/interface/cont-pe.xml
+++ b/tex/context/interface/cont-pe.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="pe" version="2006.08.02">
diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml
index 8c12b7c35..d91aa40f1 100644
--- a/tex/context/interface/cont-ro.xml
+++ b/tex/context/interface/cont-ro.xml
@@ -9,8 +9,6 @@
      versions : 2004.11.17 : initial version
                 2006.08.02 : define + resolve
 
-    <lexertest/>ss
-
 -->
 
 <cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context test" language="ro" version="2006.08.02">
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index e4d504969..54d936f87 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  : 09/18/11 22:35:11
+-- merge date  : 09/19/11 12:37:04
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3