# HG changeset patch # User Kim Alvefur # Date 1488382922 -3600 # Node ID 8487fe9fc3350bb8b3551e6c5c6ecf18293e17a6 # Parent 2fd20f372cb1847b2f89114e098e3b119ec2a19c util.envload: Open file here instead of letting loadfile do it so that all return values from io.open can be collected diff -r 2fd20f372cb1 -r 8487fe9fc335 util/envload.lua --- a/util/envload.lua Mon Feb 27 15:55:22 2017 +0100 +++ b/util/envload.lua Wed Mar 01 16:42:02 2017 +0100 @@ -6,7 +6,8 @@ -- -- luacheck: ignore 113/setfenv -local load, loadstring, loadfile, setfenv = load, loadstring, loadfile, setfenv; +local load, loadstring, setfenv = load, loadstring, setfenv; +local io_open = io.open; local envload; local envloadfile; @@ -18,7 +19,9 @@ end function envloadfile(file, env) - local f, err = loadfile(file); + local fh, err, errno = io_open(file); + if not fh then return fh, err, errno; end + local f, err = load(function () return fh:read(2048); end, "@"..file); if f and env then setfenv(f, env); end return f, err; end @@ -28,7 +31,9 @@ end function envloadfile(file, env) - return loadfile(file, nil, env); + local fh, err, errno = io_open(file); + if not fh then return fh, err, errno; end + return load(fh:lines(2048), "@"..file, nil, env); end end