aboutsummaryrefslogtreecommitdiff
path: root/core/file_io.lua
diff options
context:
space:
mode:
Diffstat (limited to 'core/file_io.lua')
-rw-r--r--core/file_io.lua4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/file_io.lua b/core/file_io.lua
index 857692c3..7c65fd1e 100644
--- a/core/file_io.lua
+++ b/core/file_io.lua
@@ -116,6 +116,10 @@ function io.open_file(filenames)
for i = 1, #filenames do
local filename = filenames[i]:gsub('^file://', '')
if WIN32 then filename = filename:gsub('/', '\\') end
+ filename = filename:gsub('%f[^/\\]%.[/\\]', '') -- clean up './'
+ while filename:find('[^/\\]+[/\\]%.%.[/\\]') do
+ filename = filename:gsub('[^/\\]+[/\\]%.%.[/\\]', '') -- clean up '../'
+ end
for i, buffer in ipairs(_BUFFERS) do
if filename == buffer.filename then view:goto_buffer(i) goto continue end
end