]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(man): remove backslashes in man pages using Vim script (#12557)
authorlifecrisis <jrf@elitemail.org>
Sun, 20 Aug 2023 18:41:25 +0000 (18:41 +0000)
committerGitHub <noreply@github.com>
Sun, 20 Aug 2023 18:41:25 +0000 (20:41 +0200)
Closes: vim/vim#12301
Co-authored-by: Jason Franklin <jason@oneway.dev>
runtime/autoload/dist/man.vim

index 5b8b4456db1459b701adfd87f10ab30f95bf390a..315636a2efed17e04bc390b1f80e3020a5f57cee 100644 (file)
@@ -1,6 +1,6 @@
 " Vim filetype plugin autoload file
 " Language:    man
-" Maintainer:  Jason Franklin <vim@justemail.net>
+" Maintainer:  Jason Franklin <jason@oneway.dev>
 " Maintainer:  SungHyun Nam <goweol@gmail.com>
 " Autoload Split: Bram Moolenaar
 " Last Change:         2023 Jun 28
@@ -190,9 +190,14 @@ func dist#man#GetPage(cmdmods, ...)
   endif
   let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
   let env_cmd .= ' GROFF_NO_SGR=1'
-  let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
+  let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page)
+
   silent exec "r !" . man_cmd
 
+  " Emulate piping the buffer through the "col -b" command.
+  " Ref: https://github.com/vim/vim/issues/12301
+  silent! keepjumps keeppatterns %s/\v(.)\b\ze\1?//ge
+
   if unsetwidth
     let $MANWIDTH = ''
   endif