diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2011-06-04 10:29:11 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2011-06-04 10:29:11 +0000 |
commit | f77e093ae46db3afc856a90d82e8c8b8b8b98246 (patch) | |
tree | ee5b21cbad97ff445c81abd894e9a4477b04a040 /Master/texmf-dist/scripts | |
parent | 92059e84b152ae4706252316513d93c84bab7799 (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-x | Master/texmf-dist/scripts/context/lua/mtxrun.lua | 36 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua | 36 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/context/stubs/unix/mtxrun | 36 |
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" |