diff options
Diffstat (limited to 'tex')
23 files changed, 118 insertions, 96 deletions
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv index e4a9e4046..45fe14633 100644 --- a/tex/context/base/colo-ini.mkiv +++ b/tex/context/base/colo-ini.mkiv @@ -942,20 +942,6 @@ \appendtoks \initializemaintextcolor \to \everyjob \appendtoks \initializemaintextcolor \to \everysetupcolors -% \def\dodefinepaletcolor#1#2#3% -% {\doifassignmentelse{#3}% \definepalet[test][xx={y=.4}] -% {\definecolor[\??pa#1:#2][#3]% -% \iffreezecolors\@EA\setevalue\else\@EA\setvalue\fi{(cs:#1:#2)}{\csname(cs:\??pa#1:#2)\endcsname}% -% \iffreezecolors\@EA\setevalue\else\@EA\setvalue\fi{(ca:#1:#2)}{\csname(ca:\??pa#1:#2)\endcsname}} -% {\ifcsname(cs:#3)\endcsname % \definepalet[test][xx=green] -% \iffreezecolors\@EA\setevalue\else\@EA\setvalue\fi{(cs:#1:#2)}{\csname(cs:#3)\endcsname}% -% \iffreezecolors\@EA\setevalue\else\@EA\setvalue\fi{(ca:#1:#2)}{\csname(ca:#3)\endcsname}% -% \else -% % not entered when making format -% \localundefine{(cs:#1:#2)}% \letvalue{(cs:#1:#2)}\undefined -% \localundefine{(ca:#1:#2)}% \letvalue{(ca:#1:#2)}\undefined -% \fi}} - \def\doinheritdirectcs#1{\csname(cs:\ifcsname(cs:#1)\endcsname#1\fi)\endcsname} \def\doinheritdirectca#1{\csname(ca:\ifcsname(ca:#1)\endcsname#1\fi)\endcsname} \def\doinheritdirectts#1{\csname(ts:\ifcsname(ts:#1)\endcsname#1\fi)\endcsname} diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index a4ab5d51c..67a42198f 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.03.30 11:21} +\newcontextversion{2011.04.03 22:32} %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 2f9375bd0..acc44ba36 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.03.30 11:21} +\newcontextversion{2011.04.03 22:32} %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.mkii b/tex/context/base/context.mkii index 70a7e00d1..dcadc7c69 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.03.30 11:21} +\edef\contextversion{2011.04.03 22:32} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index b6d0771a7..c303419b9 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.03.30 11:21} +\edef\contextversion{2011.04.03 22:32} %D For those who want to use this: diff --git a/tex/context/base/core-ctx.lua b/tex/context/base/core-ctx.lua index 1ee8e9698..e6fb7bb5f 100644 --- a/tex/context/base/core-ctx.lua +++ b/tex/context/base/core-ctx.lua @@ -23,9 +23,9 @@ function commands.loadctxpreplist() islocal = xml.found(x,"ctx:preplist[@local=='yes']") --~ if trace_prepfiles then if islocal then - report_prepfiles("loading ctx log file (local)") -- todo: m!systems + report_prepfiles("loading ctx log file (local)") -- todo: m!system else - report_prepfiles("loading ctx log file (specified)") -- todo: m!systems + report_prepfiles("loading ctx log file (specified)") -- todo: m!system end --~ end for e in xml.collected(x,"ctx:prepfile") do diff --git a/tex/context/base/lang-txt.lua b/tex/context/base/lang-txt.lua index 3ba2d478c..4640ca189 100644 --- a/tex/context/base/lang-txt.lua +++ b/tex/context/base/lang-txt.lua @@ -459,13 +459,13 @@ data.labels={ pl="", pt="", ro="", - ru="наspaceстраницеspace", + ru="на странице ", sk="", sl="na strani ", sv="på sida ", tk="", tr="", - ua="наspaceсторінціspace", + ua="на сторінці ", vi="", }, }, @@ -784,13 +784,13 @@ data.labels={ pl="Ilustracja ", pt="Figura ", ro="Figura ", - ru="Рисунокspace", + ru="Рисунок ", sk="Obrázok ", sl="Slika ", sv="Figur ", tk="Surat", tr="Şekil ", - ua="Малюнокspace", + ua="Малюнок ", vi="Hình ", }, }, @@ -857,13 +857,13 @@ data.labels={ pl="Grafika ", pt="Gráfico ", ro="Graficul ", - ru="Графикspace", + ru="График ", sk="Graf ", sl="Slika ", sv="Grafik ", tk="Grafik", tr="Grafik", - ua="Графикspace", + ua="График ", vi="Đồ thị", }, }, @@ -892,13 +892,13 @@ data.labels={ pl="", pt="", ro="", - ru="см.spaceвыше", + ru="см. выше", sk="", sl="glej zgoraj", sv="se ovan", tk="", tr="", - ua="якspaceпоказаноspaceвище", + ua="як показано вище", vi="", }, }, @@ -926,13 +926,13 @@ data.labels={ pl="", pt="", ro="", - ru="см.spaceниже", + ru="см. ниже", sk="", sl="glej spodaj", sv="se nedan", tk="", tr="", - ua="якspaceпоказаноspaceнижче", + ua="як показано нижче", vi="", }, }, @@ -963,13 +963,13 @@ data.labels={ pl="Intermezzo ", pt="Intermédio ", ro="Intermezzo ", - ru="Вставкаspace", + ru="Вставка ", sk="Intermezzo ", sl="Intermezzo ", sv="Intermezzo ", tk="Arakesme", tr="", - ua="Вставкаspace", + ua="Вставка ", vi="intermezzo", }, }, @@ -1217,13 +1217,13 @@ data.labels={ pl="wiersz ", pt="linha ", ro="linia ", - ru="строкаspace", + ru="строка ", sk="riadok ", sl="vrstica ", sv="rad ", tk="setir", tr="satır ", - ua="рядокspace", + ua="рядок ", vi="dòng ", }, }, @@ -1254,13 +1254,13 @@ data.labels={ pl="wiersze ", pt="linhas ", ro="liniile ", - ru="строкиspace", + ru="строки ", sk="riadky ", sl="vrstice ", sv="rader ", tk="setirler", tr="satırlar ", - ua="рядкиspace", + ua="рядки ", vi="dòng ", }, }, @@ -1613,13 +1613,13 @@ data.labels={ pl="", pt="", ro="", - ru="страницаspace", + ru="страница ", sk="", sl="stran ", sv="Sida ", tk="", tr="", - ua="сторінкаspace", + ua="сторінка ", vi="", }, }, @@ -1650,13 +1650,13 @@ data.labels={ pl="Ustęp ", pt="Parte ", ro="Partea ", - ru="Частьspace", + ru="Часть ", sk="Časť ", sl="Del ", sv="Del ", tk="Bölüm", tr="Cilt ", - ua="Частинаspace", + ua="Частина ", vi="Phần ", }, }, @@ -1760,13 +1760,13 @@ data.labels={ pl="", pt="", ro="", - ru="см.space", + ru="см. ", sk="", sl="glej ", sv="se ", tk="", tr="", - ua="див.space", + ua="див. ", vi="", }, }, @@ -2017,13 +2017,13 @@ data.labels={ pl="Tabela ", pt="Tabela ", ro="Tabelul ", - ru="Таблицаspace", + ru="Таблица ", sk="Tabuľka ", sl="Tabela ", sv="Tabell ", tk="Tablisa", tr="Tablo ", - ua="Таблицяspace", + ua="Таблиця ", vi="Bảng ", }, }, @@ -2167,13 +2167,13 @@ data.labels={ pl="Skrócenie", pt="Abreviaturas", ro="Abrevieri", - ru="Списокspaceсокращений", + ru="Список сокращений", sk="Skratky", sl="Kratice", sv="Förkortningar", tk="Gysgaltmalar", tr="Kısaltmalar", - ua="Перелікspaceскорочень", + ua="Перелік скорочень", vi="Chữ viết tắt", }, }, @@ -2241,13 +2241,13 @@ data.labels={ pl="Ilustracje", pt="Figuras", ro="Figuri", - ru="Списокspaceиллюстраций", + ru="Список иллюстраций", sk="Obrázkov", sl="Slike", sv="Figurer", tk="Suratlar", tr="Şekiller", - ua="Перелікspaceілюстрацій", + ua="Перелік ілюстрацій", vi="Danh sách hình vẽ", }, }, @@ -2278,13 +2278,13 @@ data.labels={ pl="Grafika", pt="Gráficos", ro="Grafice", - ru="Списокspaceграфиков", + ru="Список графиков", sk="Graf", sl="Slike", sv="Grafik", tk="Grafikler", tr="Grafikler", - ua="Перелікspaceграфіков", + ua="Перелік графіков", vi="Đồ thị", }, }, @@ -2315,7 +2315,7 @@ data.labels={ pl="Indeks", pt="Índice", ro="Index", - ru="Алфавитныйspaceуказатель", + ru="Алфавитный указатель", sk="Zoznam", sl="Stvarno kazalo", sv="Sakregister", @@ -2352,13 +2352,13 @@ data.labels={ pl="Intermezza", pt="Intermédios", ro="Intermzzo", - ru="Списокspaceвставок", + ru="Список вставок", sk="Intermezzá", sl="Intermezzi", sv="Intermezzon", tk="Arakesmeler", tr="", - ua="Перелікspaceвставок", + ua="Перелік вставок", vi="Intermezzos", }, }, @@ -2459,13 +2459,13 @@ data.labels={ pl="Tabele", pt="Tabelas", ro="Tabele", - ru="Списокspaceтаблиц", + ru="Список таблиц", sk="Tabuliek", sl="Tabele", sv="Tabeller", tk="Tablisalar", tr="Tablolar", - ua="Перелікspaceтаблиць", + ua="Перелік таблиць", vi="Danh sách bảng", }, }, @@ -2496,13 +2496,13 @@ data.labels={ pl="Jednostki", pt="Unidades", ro="Unități", - ru="Единицыspaceизмерения", + ru="Единицы измерения", sk="Jednotky", sl="Enote", sv="Enheter", tk="Birlikler", tr="Birimler", - ua="Одиниціspaceвиміру", + ua="Одиниці виміру", vi="Đơn vị", }, }, diff --git a/tex/context/base/lpdf-wid.lua b/tex/context/base/lpdf-wid.lua index 48beacfd8..d986e96f6 100644 --- a/tex/context/base/lpdf-wid.lua +++ b/tex/context/base/lpdf-wid.lua @@ -228,9 +228,14 @@ function codeinjections.embedfile(specification) return nil elseif r then return r - elseif not lfs.isfile(filename) then - filestreams[filename] = false - return nil + else + local foundname = resolvers.findbinfile(filename) or "" + if foundname == "" or not lfs.isfile(foundname) then + filestreams[filename] = false + return nil + else + specification.foundname = foundname + end end end local basename = file.basename(filename) @@ -241,7 +246,8 @@ function codeinjections.embedfile(specification) f = pdfimmediateobject("stream",data,a()) specification.data = true -- signal that still data but already flushed else - f = pdfimmediateobject("streamfile",filename,a()) + local foundname = specification.foundname or filename + f = pdfimmediateobject("streamfile",foundname,a()) end local d = pdfdictionary { Type = pdfconstant("Filespec"), @@ -268,9 +274,12 @@ function nodeinjections.attachfile(specification) filename = registered specification.file = registered end - if not lfs.isfile(filename) then + local foundname = resolvers.findbinfile(filename) or "" + if foundname == "" or not lfs.isfile(foundname) then report_attachment("invalid file specification: registered '%s', filename '%s'",registered,filename) - return + return nil + else + specification.foundname = foundname end hash = filename end diff --git a/tex/context/base/m-morse.mkiv b/tex/context/base/m-morse.mkvi index c5e927426..d106acfde 100644 --- a/tex/context/base/m-morse.mkiv +++ b/tex/context/base/m-morse.mkvi @@ -226,11 +226,11 @@ end \def\MorseBetweenCharacters {\kern\MorseWidth} \def\MorseBetweenWords {\hskip3\dimexpr\MorseWidth\relax} \def\MorseSpace {\hskip7\dimexpr\MorseWidth\relax} -\def\MorseUnknown #1{[\detokenize{#1}]} +\def\MorseUnknown #text{[\detokenize{#text}]} -\def\MorseCode #1{\ctxlua{moduledata.morse.tomorse(\!!bs#1\!!es,true)}} -\def\MorseString #1{\ctxlua{moduledata.morse.tomorse(\!!bs#1\!!es)}} -\def\MorseFile #1{\ctxlua{moduledata.morse.filetomorse("#1")}} +\def\MorseCode #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es,true)}} +\def\MorseString #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es)}} +\def\MorseFile #text{\ctxlua{moduledata.morse.filetomorse("#text")}} \def\MorseTable {\ctxlua{moduledata.morse.showtable()}} \let\Morse \MorseString diff --git a/tex/context/base/m-obsolete.mkii b/tex/context/base/m-obsolete.mkii new file mode 100644 index 000000000..a97002cf6 --- /dev/null +++ b/tex/context/base/m-obsolete.mkii @@ -0,0 +1,5 @@ +\unprotect + +\writestatus\m!systems{skipping obsolete module} + +\protect \endinput diff --git a/tex/context/base/m-obsolete.tex b/tex/context/base/m-obsolete.mkiv index 2d4518181..2d4518181 100644 --- a/tex/context/base/m-obsolete.tex +++ b/tex/context/base/m-obsolete.mkiv diff --git a/tex/context/base/mult-aux.lua b/tex/context/base/mult-aux.lua index e16eac670..cbecd2df1 100644 --- a/tex/context/base/mult-aux.lua +++ b/tex/context/base/mult-aux.lua @@ -96,6 +96,18 @@ function namespaces.define(namespace,settings) report_namespaces("installing setup command for '%s' (multiple)",name) end end + local set = ns.set + if set == v_yes then + context.installparametersethandler(self,name) + if trace_namespaces then + report_namespaces("installing set/let/reset command for '%s' (single)",name) + end + elseif set == v_list then + context.installparametersethandler(self,name) + if trace_namespaces then + report_namespaces("installing set/let/reset command for '%s' (multiple)",name) + end + end context.protect() end diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index 4087180c0..1dfe6fb8e 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -216,6 +216,7 @@ % style=yes, % command=yes, % setup=list, +% set=yes, % parent=xy] % % \unprotect diff --git a/tex/context/base/s-fnt-25.mkiv b/tex/context/base/s-fnt-25.mkiv index 36d28bfeb..1f03bab4d 100644 --- a/tex/context/base/s-fnt-25.mkiv +++ b/tex/context/base/s-fnt-25.mkiv @@ -85,7 +85,7 @@ function document.showmathfont(id,slot) local tfmdata = fontdata[id] local characters = tfmdata.characters local sorted = (slot and { slot }) or table.sortedkeys(characters) - local virtual, names = tfmdata.properties.type == "virtual", { } + local virtual, names = tfmdata.properties.virtualized, { } if virtual then for k, v in ipairs(tfmdata.fonts) do local id = v.properties.id diff --git a/tex/context/base/s-inf-01.mkvi b/tex/context/base/s-inf-01.mkvi index 6a031a2ca..4792e739a 100644 --- a/tex/context/base/s-inf-01.mkvi +++ b/tex/context/base/s-inf-01.mkvi @@ -198,7 +198,7 @@ \stoptexdefinition \starttexdefinition StopUp - \par\nointerlineskip\blackrule[height=1pt,width=4em,depth=0pt,color=darkgray] + \par\nointerlineskip\blackrule[height=1pt,width=5em,depth=0pt,color=darkgray] \par\tttf\strut\UpName\par \egroup \ifnum\UpCounter=17 diff --git a/tex/context/base/scrn-fld.mkvi b/tex/context/base/scrn-fld.mkvi index ae2e5541f..764bf2f16 100644 --- a/tex/context/base/scrn-fld.mkvi +++ b/tex/context/base/scrn-fld.mkvi @@ -432,31 +432,38 @@ \setupfieldlabelframed [#tag][\s!parent=\??wl]% \setupfieldcontentframed[#tag][\s!parent=\??wc,#totalsettings]% \else\ifsecondargument - \definefieldcategory[#tag][\s!parent=\??wc#tag,#variant] + \definefieldcategory[#tag][\s!parent=\??wc#tag,#variant] \setupfieldtotalframed [#tag][\s!parent=\??wt]% \setupfieldlabelframed [#tag][\s!parent=\??wl]% \setupfieldcontentframed[#tag][\s!parent=\??wc,#variant]% \fi\fi\fi\fi} -\def\scrn_field_setup_fields[#tag][#totalsettings][#labelsettings][#fieldsettings] +\def\scrn_field_setup_fields[#variant][#totalsettings][#labelsettings][#fieldsettings] {\iffourthargument - \definefieldcategory[#tag][\s!parent=\??wc#tag,#fieldsettings] - \setupfieldtotalframed [#tag][\s!parent=\??wt,#totalsettings]% - \setupfieldlabelframed [#tag][\s!parent=\??wl,#labelsettings]% - \setupfieldcontentframed[#tag][\s!parent=\??wc,#fieldsettings]% + \setupfieldtotalframed [\c!alternative={#variant},#totalsettings]% + \setupfieldlabelframed [#labelsettings]% + \setupfieldcontentframed[#fieldsettings]% \else\ifthirdargument - \definefieldcategory[#tag][\s!parent=\??wc#tag,#fieldsettings] - \setupfieldtotalframed [#tag][\s!parent=\??wt,#totalsettings]% - \setupfieldlabelframed [#tag][\s!parent=\??wl]% - \setupfieldcontentframed[#tag][\s!parent=\??wc,#labelsettings]% + \setupfieldtotalframed [#variant]% + \setupfieldlabelframed [#totalsettings]% + \setupfieldcontentframed[#labelsettings]% \else\ifsecondargument - \definefieldcategory[#tag][\s!parent=\??wc#tag,#fieldsettings] - \setupfieldtotalframed [#tag][\s!parent=\??wt]% - \setupfieldlabelframed [#tag][\s!parent=\??wl]% - \setupfieldcontentframed[#tag][\s!parent=\??wc,#totalsettings]% + \setupfieldtotalframed [#variant]% + \setupfieldcontentframed[#totalsettings]% + \else + \setupfieldtotalframed [#variant]% \fi\fi\fi} -\let\resetfields\relax % no longer supported +% just to get the chain right for no category: + +\definefieldcategory [][\s!parent=\??wc] +\setupfieldtotalframed [][\s!parent=\??wt] +\setupfieldlabelframed [][\s!parent=\??wl] +\setupfieldcontentframed[][\s!parent=\??wc] + +% no longer supported: + +\let\resetfields\relax \def\scrn_field_load_scripts{\useJSscripts[fld]\globallet\scrn_field_load_scripts\relax} diff --git a/tex/context/base/scrn-pag.mkvi b/tex/context/base/scrn-pag.mkvi index a5b4d0dfd..aa1bd6999 100644 --- a/tex/context/base/scrn-pag.mkvi +++ b/tex/context/base/scrn-pag.mkvi @@ -110,7 +110,7 @@ }}% \endgroup} -\let\scrn_canvas_synchronize\scrn_canvas_synchronize_complex +\let\scrn_canvas_synchronize\scrn_canvas_synchronize_simple \appendtoks \ifproductionrun @@ -163,7 +163,7 @@ \edef\currentinteractionscreendelay{\interactionscreenparameter\c!delay}% \ctxcommand{setpagetransition{ n = "\scrn_transitions_list", - delay = "\ifx\currentinteractionscreendelay\v!none 0\else\currentinteractionscreendelay\v!none\fi" + delay = "\ifx\currentinteractionscreendelay\v!none 0\else\currentinteractionscreendelay\fi" }}% \endgroup} diff --git a/tex/context/base/spac-ver.lua b/tex/context/base/spac-ver.lua index 5d016eb7b..842dfe64a 100644 --- a/tex/context/base/spac-ver.lua +++ b/tex/context/base/spac-ver.lua @@ -257,11 +257,11 @@ local function ceiled(n) end end -local function lower(n) +local function floored(n) if n < 0 or n < 0.01 then return 0 else - return floored(n) + return floor(n) end end diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex f9dcd8e01..277169501 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/strc-not.mkiv b/tex/context/base/strc-not.mkiv index 8d3ef7773..29fd3995d 100644 --- a/tex/context/base/strc-not.mkiv +++ b/tex/context/base/strc-not.mkiv @@ -35,11 +35,11 @@ % eraseinsertionbackup % restoreinsertionbackup -\def\savenotedata {\writestatus{todo}{save note data}} -\def\restorenotedata {\writestatus{todo}{restore note data}} -\def\savenotecontent {\writestatus{todo}{save note content}} -\def\restorenotecontent{\writestatus{todo}{restore note content}} -\def\erasenotebackup {\writestatus{todo}{erase note backup}} +\def\savenotedata {} % \writestatus{todo}{save note data}} +\def\restorenotedata {} % \writestatus{todo}{restore note data}} +\def\savenotecontent {} % \writestatus{todo}{save note content}} +\def\restorenotecontent{} % \writestatus{todo}{restore note content}} +\def\erasenotebackup {} % \writestatus{todo}{erase note backup}} % page-set: diff --git a/tex/context/base/type-lua.mkiv b/tex/context/base/type-lua.mkiv index 4abae2295..a6799671e 100644 --- a/tex/context/base/type-lua.mkiv +++ b/tex/context/base/type-lua.mkiv @@ -11,6 +11,8 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +\unprotect + \starttypescriptcollection [luatex] \starttypescript [specserif] [all] [name] @@ -83,4 +85,4 @@ \stoptypescriptcollection -\endinput +\protect \endinput diff --git a/tex/context/base/type-otf.mkiv b/tex/context/base/type-otf.mkiv index 0fcac7dbc..224e6d980 100644 --- a/tex/context/base/type-otf.mkiv +++ b/tex/context/base/type-otf.mkiv @@ -1298,7 +1298,7 @@ \starttypescriptcollection[symbols] \starttypescript - \definefontsynonym [ZapfDingbats] [uzdr] + \definefontsynonym [ZapfDingbats] [\s!file:uzdr][goodies=dingbats] \definefontsynonym [RalfSmithFormalScript] [rsfs10] \definefontsynonym [MartinVogel] [\s!file:marvosym.ttf] \stoptypescript diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index c909d6d94..b1c147c96 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 : 03/30/11 11:21:09 +-- merge date : 04/03/11 22:32:45 do -- begin closure to overcome local limits and interference |