]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(man): don't add jumps when loading a manpage
authorDavid Mandelberg <david@mandelberg.org>
Wed, 5 Mar 2025 19:38:20 +0000 (20:38 +0100)
committerChristian Brabandt <cb@256bit.org>
Wed, 5 Mar 2025 19:38:20 +0000 (20:38 +0100)
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>
runtime/autoload/dist/man.vim

index d9dbaf47d4f0c11b60241e42ed6bb6185522c91b..281b751583b2b1a41e29fdc52624c55a08c054e8 100644 (file)
@@ -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 @@ func dist#man#GetPage(cmdmods, ...)
   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 @@ func dist#man#GetPage(cmdmods, ...)
   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