diff options
author | 2008-02-10 21:31:53 -0500 | |
---|---|---|
committer | 2008-02-10 21:31:53 -0500 | |
commit | 2a8b91209627608fe61c21ec96de31b7fffcea94 (patch) | |
tree | 039767373d0a3f688c86cc8c1692fc422b80696d /core/file_io.lua | |
parent | 655d3222b8e242bcdb96e9458dc311aee1a658e5 (diff) | |
download | textadept-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.lua | 11 |
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 |