aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/autoload/man.vim4
-rw-r--r--runtime/ftplugin/man.vim10
2 files changed, 9 insertions, 5 deletions
diff --git a/runtime/autoload/man.vim b/runtime/autoload/man.vim
index bac88fc99e..5c44e8c98a 100644
--- a/runtime/autoload/man.vim
+++ b/runtime/autoload/man.vim
@@ -50,7 +50,7 @@ function! man#open_page(count, count1, mods, ...) abort
return
endtry
call s:push_tag()
- let bufname = 'man://'.name.(empty(sect)?'':'('.sect.')')
+ let bufname = fnameescape('man://'.name.(empty(sect)?'':'('.sect.')'))
if a:mods !~# 'tab' && s:find_man()
noautocmd execute 'silent edit' bufname
else
@@ -157,7 +157,7 @@ endfunction
function! man#pop_tag() abort
if !empty(s:tag_stack)
let tag = remove(s:tag_stack, -1)
- silent execute tag['buf'].'buffer'
+ execute 'silent' tag['buf'].'buffer'
call cursor(tag['lnum'], tag['col'])
endif
endfunction
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim
index f6fefd0155..4ed21e146e 100644
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -11,7 +11,7 @@ let s:pager = 0
if has('vim_starting')
let s:pager = 1
" remove all those backspaces
- silent execute 'keeppatterns keepjumps %substitute,.\b,,e'.(&gdefault?'':'g')
+ execute 'silent keeppatterns keepjumps %substitute,.\b,,e'.(&gdefault?'':'g')
if getline(1) =~# '^\s*$'
silent keepjumps 1delete _
else
@@ -20,8 +20,12 @@ if has('vim_starting')
" This is not perfect. See `man glDrawArraysInstanced`. Since the title is
" all caps it is impossible to tell what the original capitilization was.
let ref = tolower(matchstr(getline(1), '^\S\+'))
- let b:man_sect = man#extract_sect_and_name_ref(ref)[0]
- execute 'silent file man://'.ref
+ try
+ let b:man_sect = man#extract_sect_and_name_ref(ref)[0]
+ catch
+ let b:man_sect = ''
+ endtry
+ execute 'silent file man://'.fnameescape(ref)
endif
setlocal buftype=nofile