From ce29b6101810724ac7e6b7db8990152358a12d2f Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 24 Dec 2009 17:55:00 +0100 Subject: beta 2009.12.24 17:55 --- tex/context/base/cont-new.tex | 2 +- tex/context/base/context.tex | 2 +- tex/context/base/data-res.lua | 25 ++++++++++++++----------- tex/context/base/l-os.lua | 20 ++++++++++++-------- tex/context/base/l-pdfview.lua | 2 +- tex/context/base/luat-iop.lua | 6 +++--- tex/context/base/tabl-tbl.mkii | 3 ++- tex/context/base/tabl-tbl.mkiv | 13 ++++++++++++- tex/context/base/trac-lmx.lua | 2 +- tex/generic/context/luatex-fonts-merged.lua | 2 +- 10 files changed, 48 insertions(+), 29 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 93055b27a..fa0aaeb10 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{2009.12.23 22:15} +\newcontextversion{2009.12.24 17:55} %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 962e1ef86..1b5bcfded 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{2009.12.23 22:15} +\edef\contextversion{2009.12.24 17:55} %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 0299478ba..be4193e6a 100644 --- a/tex/context/base/data-res.lua +++ b/tex/context/base/data-res.lua @@ -65,7 +65,7 @@ resolvers.generators.notfound = { nil } resolvers.cacheversion = '1.0.1' resolvers.cnfname = 'texmf.cnf' resolvers.luaname = 'texmfcnf.lua' -resolvers.homedir = os.env[os.platform == "windows" and 'USERPROFILE'] or os.env['HOME'] or '~' +resolvers.homedir = os.env[os.type == "windows" and 'USERPROFILE'] or os.env['HOME'] or '~' resolvers.cnfdefault = '{$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,.local,}/web2c}' local dummy_path_expr = "^!*unset/*$" @@ -476,8 +476,8 @@ function resolvers.getownpath() resolvers.ownpath = os.selfdir else local binary = resolvers.ownbin - if os.platform == "windows" then - binary = file.replacesuffix(binary,"exe") + if os.binsuffix ~= "" then + binary = file.replacesuffix(binary,os.binsuffix) end for p in gmatch(os.getenv("PATH"),"[^"..io.pathseparator.."]+") do local b = file.join(p,binary) @@ -1688,11 +1688,11 @@ local function collect_instance_files(filename,collected) -- todo : plugin (scan dirlist[i] = file.dirname(filelist[i][2]) .. "/" end end - local doscan if trace_detail then logs.report("fileio","checking filename '%s'",filename) end -- a bit messy ... esp the doscan setting here + local doscan for k=1,#pathlist do local path = pathlist[k] if find(path,"^!!") then doscan = false else doscan = true end @@ -1700,22 +1700,25 @@ local function collect_instance_files(filename,collected) -- todo : plugin (scan done = false -- using file list if filelist then + local expression -- compare list entries with permitted pattern -- /xx /xx// if not find(pathname,"/$") then - pathname = pathname .. "/" + expression = pathname .. "/" + else + expression = pathname end - pathname = gsub(pathname,"([%-%.])","%%%1") -- this also influences - pathname = gsub(pathname,"//+$", '/.*') -- later usage of pathname - pathname = gsub(pathname,"//", '/.-/') -- not ok for /// but harmless - local expr = "^" .. pathname .. "$" + expression = gsub(expression,"([%-%.])","%%%1") -- this also influences + expression = gsub(expression,"//+$", '/.*') -- later usage of pathname + expression = gsub(expression,"//", '/.-/') -- not ok for /// but harmless + expression = "^" .. expression .. "$" if trace_detail then - logs.report("fileio","using pattern %s for path %s",expr,path) + logs.report("fileio","using pattern '%s' for path '%s'",expression,pathname) end for k=1,#filelist do local fl = filelist[k] local f = fl[2] local d = dirlist[k] - if find(d,expr) then + if find(d,expression) then --- todo, test for readable result[#result+1] = fl[3] resolvers.register_in_trees(f) -- for tracing used files diff --git a/tex/context/base/l-os.lua b/tex/context/base/l-os.lua index b8a5c3d1a..b60dfb7fa 100644 --- a/tex/context/base/l-os.lua +++ b/tex/context/base/l-os.lua @@ -28,21 +28,23 @@ function os.resultof(command) end end ---~ os.type : windows | unix (new, we already guessed os.platform) ---~ os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +--~ os.type : windows | unix (new, we already guessed os.platform) +--~ os.name : windows | msdos | linux | macosx | solaris | .. | generic (new) +--~ os.platform : extended os.name with architecture if not io.fileseparator then if find(os.getenv("PATH"),";") then - io.fileseparator, io.pathseparator, os.platform = "\\", ";", os.type or "windows" + io.fileseparator, io.pathseparator, os.type = "\\", ";", os.type or "mswin" else - io.fileseparator, io.pathseparator, os.platform = "/" , ":", os.type or "unix" + io.fileseparator, io.pathseparator, os.type = "/" , ":", os.type or "unix" end end -os.platform = os.platform or os.type or (io.pathseparator == ";" and "windows") or "unix" +os.type = os.type or (io.pathseparator == ";" and "windows") or "unix" +os.name = os.name or (os.type == "windows" and "mswin" ) or "linux" function os.launch(str) - if os.platform == "windows" then + if os.type == "windows" then os.execute("start " .. str) -- os.spawn ? else os.execute(str .. " &") -- os.spawn ? @@ -84,18 +86,20 @@ end -- no need for function anymore as we have more clever code and helpers now -os.platform = os.name +os.platform = os.name or os.type or "linux" os.libsuffix = 'so' +os.binsuffix = '' local name = os.name -if name == "windows" or name == "mswin" or name == "win32" or name == "msdos" then +if name == "windows" or name == "mswin" or name == "win32" or name == "msdos" or os.type == "windows" then if os.getenv("PROCESSOR_ARCHITECTURE") == "AMD64" then os.platform = "mswin-64" else os.platform = "mswin" end os.libsuffix = 'dll' + os.binsuffix = 'exe' else local architecture = os.getenv("HOSTTYPE") or "" if architecture == "" then diff --git a/tex/context/base/l-pdfview.lua b/tex/context/base/l-pdfview.lua index 78dfb230b..24b3afc2d 100644 --- a/tex/context/base/l-pdfview.lua +++ b/tex/context/base/l-pdfview.lua @@ -25,7 +25,7 @@ local allcalls = { ['xpdf'] = nil, } -if os.platform == "windows" then +if os.type == "windows" then opencalls['okular'] = 'start "test" "c:/program files/kde/bin/okular.exe" --unique' -- todo: get focus else opencalls['okular'] = 'okular --unique' diff --git a/tex/context/base/luat-iop.lua b/tex/context/base/luat-iop.lua index aaa2c3bdc..d2d80f503 100644 --- a/tex/context/base/luat-iop.lua +++ b/tex/context/base/luat-iop.lua @@ -138,11 +138,11 @@ end function io.inp.modes.handy() io.inp.inhibit('%.%.') - if os.platform == 'linux' then - io.inp.inhibit('^/etc') - else + if os.type == 'windows' then io.inp.inhibit('/windows/') io.inp.inhibit('/winnt/') + else + io.inp.inhibit('^/etc') end end function io.out.modes.handy() diff --git a/tex/context/base/tabl-tbl.mkii b/tex/context/base/tabl-tbl.mkii index 15e827e68..eafb41d47 100644 --- a/tex/context/base/tabl-tbl.mkii +++ b/tex/context/base/tabl-tbl.mkii @@ -1221,7 +1221,8 @@ \dotabulaterule \ifnum\noftabulatelines>\plusone \ifnum\noftabulatelines<\minusnoftabulatelines - \vskip\topskip\allowbreak\vskip-\topskip + % \vskip \topskip\allowbreak \vskip-\topskip + \vskip1\topskip\allowbreak1\vskip-\topskip \vskip-\tabulateparameter\c!rulethickness \dotabulaterule \fi diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv index 8e4505977..6d7eb16ae 100644 --- a/tex/context/base/tabl-tbl.mkiv +++ b/tex/context/base/tabl-tbl.mkiv @@ -1180,12 +1180,23 @@ \prevdepth\strutdp \dotabulatenobreak}} +% see *** +% +% \enabletrackers[nodes.page_vspacing] +% \starttext +% \starttabulate[||] \dorecurse{100}{\NC Eins \NC \NR \HL} \stoptabulate +% \stoptext + \def\tabulateMLfive{\TABLEnoalign {\dotabulateruleseperator \dotabulaterule \ifnum\noftabulatelines>\plusone \ifnum\noftabulatelines<\minusnoftabulatelines - \vskip\topskip\allowbreak\vskip-\topskip + % *** somehow topskip messes up as it's intercepted + % \vskip \topskip\allowbreak\vskip- \topskip + % messy anyhow so this needs to be improved, so for + % the momenet we keep this bugged variant + \vskip1\topskip\allowbreak\vskip-1\topskip \vskip-\tabulateparameter\c!rulethickness \dotabulaterule \fi diff --git a/tex/context/base/trac-lmx.lua b/tex/context/base/trac-lmx.lua index a272564de..1ea4443cb 100644 --- a/tex/context/base/trac-lmx.lua +++ b/tex/context/base/trac-lmx.lua @@ -187,7 +187,7 @@ end lmx.lmxfile = function(filename) return filename end -- beware, these can be set! lmx.htmfile = function(filename) return filename end -- beware, these can be set! -if os.platform == "windows" then +if os.type == "windows" then lmx.popupfile = function(filename) os.execute("start " .. filename) end else lmx.popupfile = function(filename) os.execute(filename) end diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index 652bc7473..4cbf701b7 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts.lua --- merge date : 12/23/09 22:18:55 +-- merge date : 12/24/09 18:00:24 do -- begin closure to overcome local limits and interference -- cgit v1.2.3