aboutsummaryrefslogtreecommitdiff
path: root/core/file_io.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2008-02-10 21:31:53 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2008-02-10 21:31:53 -0500
commit2a8b91209627608fe61c21ec96de31b7fffcea94 (patch)
tree039767373d0a3f688c86cc8c1692fc422b80696d /core/file_io.lua
parent655d3222b8e242bcdb96e9458dc311aee1a658e5 (diff)
downloadtextadept-2a8b91209627608fe61c21ec96de31b7fffcea94.tar.gz
textadept-2a8b91209627608fe61c21ec96de31b7fffcea94.zip
Instead of io.popen():read(), a file descriptor is kept and close()'d afterward.
Diffstat (limited to 'core/file_io.lua')
-rw-r--r--core/file_io.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/file_io.lua b/core/file_io.lua
index 8adf8af8..29d7d535 100644
--- a/core/file_io.lua
+++ b/core/file_io.lua
@@ -46,8 +46,9 @@ end
function open(filenames)
if not filenames then
local directory = '--filename="'..(buffer.filename or '')..'"'
- filenames = io.popen('zenity --file-selection --multiple '..
- directory):read('*all')
+ local p = io.popen('zenity --file-selection --multiple '..directory)
+ filenames = p:read('*all')
+ p:close()
end
for filename in filenames:gmatch('[^|\n]+') do open_helper(filename) end
end
@@ -100,8 +101,10 @@ function save_as(buffer, filename)
textadept.check_focused_buffer(buffer)
if not filename then
local directory = '--filename="'..(buffer.filename or '')..'"'
- filename = io.popen('zenity --file-selection --save '..
- directory..' --confirm-overwrite'):read('*all')
+ local p = io.popen('zenity --file-selection --save '..directory..
+ ' --confirm-overwrite')
+ filename = p:read('*all')
+ p:close()
end
if #filename > 0 then
buffer.filename = filename:sub(1, -2) -- chomp