aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/ext/pm/file_browser.lua8
-rw-r--r--core/file_io.lua11
2 files changed, 13 insertions, 6 deletions
diff --git a/core/ext/pm/file_browser.lua b/core/ext/pm/file_browser.lua
index 9acf9bec..f48c1346 100644
--- a/core/ext/pm/file_browser.lua
+++ b/core/ext/pm/file_browser.lua
@@ -12,7 +12,9 @@ end
function get_contents_for(full_path)
local dirpath = table.concat(full_path, '/')
- local out = io.popen('ls -1p "'..dirpath..'"'):read('*all')
+ local p = io.popen('ls -1p "'..dirpath..'"')
+ local out = p:read('*all')
+ p:close()
if #out == 0 then
error('No such directory: '..dirpath)
return {}
@@ -49,7 +51,9 @@ function perform_menu_action(menu_item, selected_item)
textadept.pm.entry_text = filepath
textadept.pm.activate()
elseif menu_item == 'File Details' then
- local out = io.popen('ls -dhl "'..filepath..'"'):read('*all')
+ local p = io.popen('ls -dhl "'..filepath..'"')
+ local out = p:read('*all')
+ p:close()
local perms, num_dirs, owner, group, size, mod_date =
out:match('^(%S+) (%S+) (%S+) (%S+) (%S+) (%S+ %S)')
out = 'File details for:\n'..filepath..'\n'..
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