runtime: Fix man.vim count handling.

Here I use a negative number to decide whether the count has been
explicitly set. I think it unlikely that negative sections will ever be
created given that negative numbers complicate argument handling:
```
$ man -1 foo
man: invalid option -- '1'
```
and given that there's already precedence for alphanumeric sections like
`3p`, `3x`, `n`, etc.

---

This does work, though:
```
$ man -S -3 baz
```
With `man baz.-3` and `man 'baz(-3)'`, (GNU) man *might* consider `-3`
internally as a section, but in the end reports as if the whole
argument was the name of a topic:
```
$ man 'baz(-3)'
No manual entry for baz(-3)
```

---

Closes #13411.
This commit is contained in:
Edwin Pujols
2020-11-29 19:56:15 -04:00
parent 15e616a057
commit ba2e94d223
2 changed files with 4 additions and 6 deletions

View File

@@ -5,9 +5,9 @@ if exists('g:loaded_man')
endif
let g:loaded_man = 1
command! -bang -bar -range=0 -complete=customlist,man#complete -nargs=* Man
command! -bang -bar -range=-1 -complete=customlist,man#complete -nargs=* Man
\ if <bang>0 | set ft=man |
\ else | call man#open_page(v:count, v:count1, <q-mods>, <f-args>) | endif
\ else | call man#open_page(<count>, <q-mods>, <f-args>) | endif
augroup man
autocmd!