lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi list,

I am happy to announce LuaFileSystem 1.8.0, its first release in 3 years.

LuaFileSystem is a Lua library developed to complement the set of
functions related to file systems offered by the standard Lua
distribution. LuaFileSystem offers a portable way to access the
underlying directory structure and file attributes.

https://keplerproject.github.io/luafilesystem/

What's new:

* lfs.link and lfs.symlinkattribute now work on Windows!
* Fixed memory leak in case of realloc failure
* MACOSX_DEPLOYMENT_TARGET is configurable in the Makefile
* Fallback to _POSIX_PATH_MAX when MAXPATHLEN is not avaliable
* lfs.lock uses CREATE_ALWAYS instead of CREATE_NEW on Windows

and last but not least:

* Lua 5.4 support, including __close handling in the lfs.dir()
iterator. This requires no changes from the user, and ensures that the
directory will be closed correctly even if you break from the loop.
For example, with `uname -n` set below 10000, this script crashes on
Lua < 5.4, and works in Lua 5.4:

local lfs = require("lfs")
for t = 1, 10000 do
   local i = 0
   for e in lfs.dir("/usr/lib") do
      i = i + 1
      if i == 100 then
         break
      end
   end
end

(This is not a forced example: I have hit this problem before when
recursing over large directory trees and collecting files.)

The easiest way to install LuaFileSystem is to use LuaRocks:

    luarocks install luafilesystem

This release contains contributions by Dan Church, Stephen E. Baker,
Kıvanç Çakmak, TsT, Peter Melnichenko, James McCoy, Joshua Root,
Eroica, 云风 and myself.

Cheers,

-- Hisham
_______________________________________________
lua-l mailing list -- lua-l@lists.lua.org
To unsubscribe send an email to lua-l-leave@lists.lua.org