summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2011-06-04 10:29:11 +0000
committerTaco Hoekwater <taco@elvenkind.com>2011-06-04 10:29:11 +0000
commitf77e093ae46db3afc856a90d82e8c8b8b8b98246 (patch)
treeee5b21cbad97ff445c81abd894e9a4477b04a040 /Master/texmf-dist/scripts
parent92059e84b152ae4706252316513d93c84bab7799 (diff)
better version of file.is_writable() from Hans
git-svn-id: svn://tug.org/texlive/trunk@22770 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts')
-rwxr-xr-xMaster/texmf-dist/scripts/context/lua/mtxrun.lua36
-rwxr-xr-xMaster/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua36
-rwxr-xr-xMaster/texmf-dist/scripts/context/stubs/unix/mtxrun36
3 files changed, 42 insertions, 66 deletions
diff --git a/Master/texmf-dist/scripts/context/lua/mtxrun.lua b/Master/texmf-dist/scripts/context/lua/mtxrun.lua
index 94867f6eb34..29f2eadb437 100755
--- a/Master/texmf-dist/scripts/context/lua/mtxrun.lua
+++ b/Master/texmf-dist/scripts/context/lua/mtxrun.lua
@@ -2524,26 +2524,20 @@ end
function file.is_writable(name)
- if os.type == "windows" then
- local a = attributes(name) or attributes(dirname(name,"."))
- return a and sub(a.permissions,2,2) == "w"
- end
- local f
- local isnew = true
if lfs.isdir(name) then
- name = name .. "/mtxtest.txt"
+ name = name .. "/m_t_x_t_e_s_t.tmp"
+ local f = io.open(name,"wb")
+ if f then
+ f:close()
+ os.remove(name)
+ return true
+ end
else
- f = io.open(name, "rb");
- if f then
- f:close()
- isnew = false
- end
- end
- f = io.open(name, "wb");
- if f then
- f:close()
- if isnew then os.remove(name) end
- return true
+ f = io.open(name,"ab")
+ if f then
+ f:close()
+ return true
+ end
end
return false
end
@@ -11153,11 +11147,9 @@ resolvers.luacnfname = 'texmfcnf.lua'
resolvers.luacnfstate = "unknown"
-- resolvers.luacnfspec = '{$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}' -- what a rubish path
+resolvers.luacnfspec = 'selfautoparent:{/texmf{-local,}{,/web2c},}}'
+
--- changed by Taco Hoekwater to make <root>/texmfnf.lua take precedence,
--- while still allowing <root>/texmf/texmfnf.lua and
--- <root>/texmf/web2c/texmfnf.lua (in that order)
-resolvers.luacnfspec = '{selfautodir:,selfautoparent:};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,}/web2c'
local unset_variable = "unset"
diff --git a/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua b/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
index 94867f6eb34..29f2eadb437 100755
--- a/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
+++ b/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
@@ -2524,26 +2524,20 @@ end
function file.is_writable(name)
- if os.type == "windows" then
- local a = attributes(name) or attributes(dirname(name,"."))
- return a and sub(a.permissions,2,2) == "w"
- end
- local f
- local isnew = true
if lfs.isdir(name) then
- name = name .. "/mtxtest.txt"
+ name = name .. "/m_t_x_t_e_s_t.tmp"
+ local f = io.open(name,"wb")
+ if f then
+ f:close()
+ os.remove(name)
+ return true
+ end
else
- f = io.open(name, "rb");
- if f then
- f:close()
- isnew = false
- end
- end
- f = io.open(name, "wb");
- if f then
- f:close()
- if isnew then os.remove(name) end
- return true
+ f = io.open(name,"ab")
+ if f then
+ f:close()
+ return true
+ end
end
return false
end
@@ -11153,11 +11147,9 @@ resolvers.luacnfname = 'texmfcnf.lua'
resolvers.luacnfstate = "unknown"
-- resolvers.luacnfspec = '{$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}' -- what a rubish path
+resolvers.luacnfspec = 'selfautoparent:{/texmf{-local,}{,/web2c},}}'
+
--- changed by Taco Hoekwater to make <root>/texmfnf.lua take precedence,
--- while still allowing <root>/texmf/texmfnf.lua and
--- <root>/texmf/web2c/texmfnf.lua (in that order)
-resolvers.luacnfspec = '{selfautodir:,selfautoparent:};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,}/web2c'
local unset_variable = "unset"
diff --git a/Master/texmf-dist/scripts/context/stubs/unix/mtxrun b/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
index 94867f6eb34..29f2eadb437 100755
--- a/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
+++ b/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
@@ -2524,26 +2524,20 @@ end
function file.is_writable(name)
- if os.type == "windows" then
- local a = attributes(name) or attributes(dirname(name,"."))
- return a and sub(a.permissions,2,2) == "w"
- end
- local f
- local isnew = true
if lfs.isdir(name) then
- name = name .. "/mtxtest.txt"
+ name = name .. "/m_t_x_t_e_s_t.tmp"
+ local f = io.open(name,"wb")
+ if f then
+ f:close()
+ os.remove(name)
+ return true
+ end
else
- f = io.open(name, "rb");
- if f then
- f:close()
- isnew = false
- end
- end
- f = io.open(name, "wb");
- if f then
- f:close()
- if isnew then os.remove(name) end
- return true
+ f = io.open(name,"ab")
+ if f then
+ f:close()
+ return true
+ end
end
return false
end
@@ -11153,11 +11147,9 @@ resolvers.luacnfname = 'texmfcnf.lua'
resolvers.luacnfstate = "unknown"
-- resolvers.luacnfspec = '{$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}' -- what a rubish path
+resolvers.luacnfspec = 'selfautoparent:{/texmf{-local,}{,/web2c},}}'
+
--- changed by Taco Hoekwater to make <root>/texmfnf.lua take precedence,
--- while still allowing <root>/texmf/texmfnf.lua and
--- <root>/texmf/web2c/texmfnf.lua (in that order)
-resolvers.luacnfspec = '{selfautodir:,selfautoparent:};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,};{selfautodir:,selfautoparent:}{/share,}/texmf{-local,}/web2c'
local unset_variable = "unset"