Fix 424: External links with #, % don't work under Linux

Use the additional parameter for shellescape() only for system calls of
the form execute '!...', not for system(...).
This commit is contained in:
EinfachToll 2014-03-03 09:19:59 +01:00
parent ddab77bb8f
commit a036ca54c6
2 changed files with 8 additions and 8 deletions

View File

@ -472,7 +472,7 @@ function! vimwiki#base#system_open_link(url) "{{{
execute '!open ' . shellescape(a:url, 1)
endfunction
function! s:linux_handler(url)
call system('xdg-open ' . shellescape(a:url, 1).' &')
call system('xdg-open ' . shellescape(a:url).' &')
endfunction
try
if vimwiki#u#is_windows()

View File

@ -1314,13 +1314,13 @@ function! vimwiki#html#CustomWiki2HTML(path, wikifile, force) "{{{
\ a:force. ' '.
\ VimwikiGet('syntax'). ' '.
\ strpart(VimwikiGet('ext'), 1). ' '.
\ shellescape(a:path, 1). ' '.
\ shellescape(a:wikifile, 1). ' '.
\ shellescape(s:default_CSS_full_name(a:path), 1). ' '.
\ (len(VimwikiGet('template_path')) > 1 ? shellescape(expand(VimwikiGet('template_path')), 1) : '-'). ' '.
\ (len(VimwikiGet('template_default')) > 0 ? VimwikiGet('template_default') : '-'). ' '.
\ (len(VimwikiGet('template_ext')) > 0 ? VimwikiGet('template_ext') : '-'). ' '.
\ (len(VimwikiGet('subdir')) > 0 ? shellescape(s:root_path(VimwikiGet('subdir')), 1) : '-'))
\ shellescape(a:path). ' '.
\ shellescape(a:wikifile). ' '.
\ shellescape(s:default_CSS_full_name(a:path)). ' '.
\ (len(VimwikiGet('template_path')) > 1 ? shellescape(expand(VimwikiGet('template_path'))) : '-'). ' '.
\ (len(VimwikiGet('template_default')) > 0 ? VimwikiGet('template_default') : '-'). ' '.
\ (len(VimwikiGet('template_ext')) > 0 ? VimwikiGet('template_ext') : '-'). ' '.
\ (len(VimwikiGet('subdir')) > 0 ? shellescape(s:root_path(VimwikiGet('subdir'))) : '-'))
endfunction " }}}
function! vimwiki#html#Wiki2HTML(path_html, wikifile) "{{{