runtime(man): don't add jumps when loading a manpage
Without this change, pressing K while in one manpage to load another
one, then pressing CTRL-O to go back, results in going to the bottom of
the current (second) manpage. With this change, it goes back to the
previous manpage.
closes: #16791
Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/autoload/dist/man.vim b/runtime/autoload/dist/man.vim
index d9dbaf4..281b751 100644
--- a/runtime/autoload/dist/man.vim
+++ b/runtime/autoload/dist/man.vim
@@ -5,6 +5,7 @@
" Autoload Split: Bram Moolenaar
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
" 2024 Jul 06 (honor command modifiers, #15117)
+" 2025 Mar 05 (add :keepjumps, #16791)
let s:cpo_save = &cpo
set cpo-=C
@@ -188,7 +189,7 @@
setl buftype=nofile noswapfile
setl fdc=0 ma nofen nonu nornu
- %delete _
+ keepjumps %delete _
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
@@ -218,10 +219,10 @@
endif
" Remove blank lines from top and bottom.
while line('$') > 1 && getline(1) =~ '^\s*$'
- 1delete _
+ keepjumps 1delete _
endwhile
while line('$') > 1 && getline('$') =~ '^\s*$'
- $delete _
+ keepjumps $delete _
endwhile
1
setl ft=man nomod