summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2009-12-24 17:55:00 +0100
committerHans Hagen <pragma@wxs.nl>2009-12-24 17:55:00 +0100
commitce29b6101810724ac7e6b7db8990152358a12d2f (patch)
treebba2bbc78d942aabb062fb0a0161544e6b665c44 /tex
parent78ee07252af9126a45b146030034f4c769265121 (diff)
downloadcontext-ce29b6101810724ac7e6b7db8990152358a12d2f.tar.gz
beta 2009.12.24 17:55
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/data-res.lua25
-rw-r--r--tex/context/base/l-os.lua20
-rw-r--r--tex/context/base/l-pdfview.lua2
-rw-r--r--tex/context/base/luat-iop.lua6
-rw-r--r--tex/context/base/tabl-tbl.mkii3
-rw-r--r--tex/context/base/tabl-tbl.mkiv13
-rw-r--r--tex/context/base/trac-lmx.lua2
-rw-r--r--tex/generic/context/luatex-fonts-merged.lua2
10 files changed, 48 insertions, 29 deletions
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