From 527def59ba2f2c402a650da0465f2c4359212601 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Wed, 3 Sep 2014 20:15:04 +0200 Subject: 2014-09-03 19:13:00 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4432 -> 4433 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/data-exp.lua | 15 +++++++++------ tex/context/base/data-tre.lua | 5 ++++- tex/context/base/grph-inc.lua | 2 +- tex/context/base/status-files.pdf | Bin 24991 -> 24991 bytes tex/context/base/status-lua.pdf | Bin 327147 -> 327141 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 9 files changed, 17 insertions(+), 11 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 189bbf25f..44dccad02 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{2014.09.03 17:37} +\newcontextversion{2014.09.03 19:11} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 0d9a5e990..ece0c8b6b 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.mkiv b/tex/context/base/context.mkiv index e7915b7d8..e8dd763ae 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.09.03 17:37} +\edef\contextversion{2014.09.03 19:11} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/data-exp.lua b/tex/context/base/data-exp.lua index b8c66909e..1e1866f0f 100644 --- a/tex/context/base/data-exp.lua +++ b/tex/context/base/data-exp.lua @@ -325,6 +325,7 @@ end local attributes, directory = lfs.attributes, lfs.dir local weird = P(".")^1 + lpeg.anywhere(S("~`!#$%^&*()={}[]:;\"\'||<>,?\n\r\t")) +local lessweird = P(".")^1 + lpeg.anywhere(S("~`#$%^&*:;\"\'||<>,?\n\r\t")) local timer = { } local scanned = { } local nofscans = 0 @@ -336,12 +337,13 @@ local nofsharedscans = 0 -- So, we assume either a lowercase name or a mixed case one but only one such case -- as having Foo fOo foo FoO FOo etc on the system is braindead in any sane project. -local function scan(files,remap,spec,path,n,m,r,onlyone) +local function scan(files,remap,spec,path,n,m,r,onlyone,tolerant) local full = path == "" and spec or (spec .. path .. '/') local dirs = { } local nofdirs = 0 + local pattern = tolerant and lessweird or weird for name in directory(full) do - if not lpegmatch(weird,name) then + if not lpegmatch(pattern,name) then local mode = attributes(full..name,"mode") if mode == "file" then n = n + 1 @@ -392,14 +394,15 @@ local function scan(files,remap,spec,path,n,m,r,onlyone) if nofdirs > 0 then sort(dirs) for i=1,nofdirs do - files, remap, n, m, r = scan(files,remap,spec,dirs[i],n,m,r,onlyone) + files, remap, n, m, r = scan(files,remap,spec,dirs[i],n,m,r,onlyonce,tolerant) end end scancache[sub(full,1,-2)] = files return files, remap, n, m, r end -function resolvers.scanfiles(path,branch,usecache,onlyonce) +function resolvers.scanfiles(path,branch,usecache,onlyonce,tolerant) +tolerant = false local realpath = resolveprefix(path) if usecache then local content = fullcache[realpath] @@ -418,7 +421,7 @@ function resolvers.scanfiles(path,branch,usecache,onlyonce) end local content if isdir(realpath) then - local files, remap, n, m, r = scan({ },{ },realpath .. '/',"",0,0,0,onlyonce) + local files, remap, n, m, r = scan({ },{ },realpath .. '/',"",0,0,0,onlyonce,tolerant) content = { metadata = { path = path, -- can be selfautoparent:texmf-whatever @@ -457,7 +460,7 @@ function resolvers.scanfiles(path,branch,usecache,onlyonce) end function resolvers.simplescanfiles(path,branch,usecache) - return resolvers.scanfiles(path,branch,usecache,true) -- onlyonce + return resolvers.scanfiles(path,branch,usecache,true,true) -- onlyonce end function resolvers.scandata() diff --git a/tex/context/base/data-tre.lua b/tex/context/base/data-tre.lua index dc9440deb..4aca21b68 100644 --- a/tex/context/base/data-tre.lua +++ b/tex/context/base/data-tre.lua @@ -108,7 +108,8 @@ table.setmetatableindex(collectors, function(t,k) local dataname = joinname(rootname,"dirlist") local content = caches.loadcontent(dataname,"files",dataname) if not content then - content = resolvers.scanfiles(rootname) + -- path branch usecache onlyonce tolerant + content = resolvers.scanfiles(rootname,nil,nil,false,true) -- so we accept crap caches.savecontent(dataname,"files",content,dataname) end t[k] = content @@ -135,6 +136,8 @@ local function checked(root,p,n) return notfound() end +-- no funny characters in path but in filename permitted .. sigh + local function resolve(specification) -- can be called directly too local filename = specification.filename -- inspect(specification) diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua index 7fa80aa6e..7e3ed6e69 100644 --- a/tex/context/base/grph-inc.lua +++ b/tex/context/base/grph-inc.lua @@ -1439,7 +1439,7 @@ local betterbox = P("%%BoundingBox:") * quadruple * P("%AI3_Cropmarks:") * quadruple * P("%%CropBox:") * quadruple / function(b,h,m,c) - return formatters["%%%%BoundingBox: %i %i %i %i\n%%%%HighResBoundingBox: %F %F %F %F\n%%%%CropBox: %F %F %F %F\n"]( + return formatters["%%%%BoundingBox: %i %i %i %i\n%%%%HiResBoundingBox: %F %F %F %F\n%%%%CropBox: %F %F %F %F\n"]( m[1],m[2],m[3],m[4], m[1],m[2],m[3],m[4], m[1],m[2],m[3],m[4] diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 2cdcb5a33..5eae10e8b 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 c6b2b1a71..a8ed9a150 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index d947aa686..cb2a98f42 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/03/14 17:37:43 +-- merge date : 09/03/14 19:11:48 do -- begin closure to overcome local limits and interference -- cgit v1.2.3