diff options
author | Marius <mariausol@gmail.com> | 2013-09-03 01:00:23 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2013-09-03 01:00:23 +0300 |
commit | 50015398a5be5d5196172f056a32515f341500b9 (patch) | |
tree | de88ba3f8192f9ddb5f246d0cf67cf4c66913eb9 /tex/context/base/l-dir.lua | |
parent | 391b62074872100a44f9ae48ec23bfca9103d1ef (diff) | |
download | context-50015398a5be5d5196172f056a32515f341500b9.tar.gz |
beta 2013.09.02 23:42
Diffstat (limited to 'tex/context/base/l-dir.lua')
-rw-r--r-- | tex/context/base/l-dir.lua | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/tex/context/base/l-dir.lua b/tex/context/base/l-dir.lua index e47de6031..40081cc3b 100644 --- a/tex/context/base/l-dir.lua +++ b/tex/context/base/l-dir.lua @@ -26,6 +26,8 @@ local isfile = lfs.isfile local currentdir = lfs.currentdir local chdir = lfs.chdir +local onwindows = os.type == "windows" or find(os.getenv("PATH"),";") + -- in case we load outside luatex if not isdir then @@ -136,11 +138,33 @@ end dir.collectpattern = collectpattern -local pattern = Ct { - [1] = (C(P(".") + P("/")^1) + C(R("az","AZ") * P(":") * P("/")^0) + Cc("./")) * V(2) * V(3), - [2] = C(((1-S("*?/"))^0 * P("/"))^0), - [3] = C(P(1)^0) -} +local separator + +if onwindows then -- we could sanitize here + +-- pattern = Ct { +-- [1] = (C(P(".") + S("/\\")^1) + C(R("az","AZ") * P(":") * S("/\\")^0) + Cc("./")) * V(2) * V(3), +-- [2] = C(((1-S("*?/\\"))^0 * S("/\\"))^0), +-- [3] = C(P(1)^0) +-- } + + local slash = S("/\\") / "/" + + pattern = Ct { + [1] = (Cs(P(".") + slash^1) + Cs(R("az","AZ") * P(":") * slash^0) + Cc("./")) * V(2) * V(3), + [2] = Cs(((1-S("*?/\\"))^0 * slash)^0), + [3] = Cs(P(1)^0) + } + +else -- assume unix + + pattern = Ct { + [1] = (C(P(".") + P("/")^1) + Cc("./")) * V(2) * V(3), + [2] = C(((1-S("*?/"))^0 * P("/"))^0), + [3] = C(P(1)^0) + } + +end local filter = Cs ( ( P("**") / ".*" + @@ -257,8 +281,6 @@ end local make_indeed = true -- false -local onwindows = os.type == "windows" or find(os.getenv("PATH"),";") - if onwindows then function dir.mkdirs(...) |