]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(manpager): Strip OSC 8 hyperlink sequences in manpager plugin
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Sun, 22 Mar 2026 15:28:28 +0000 (15:28 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 22 Mar 2026 15:30:53 +0000 (15:30 +0000)
fixes:  #19726
closes: #19787

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/plugin/manpager.vim

index 6ed6030254da92c3159a47388e06a92cb4bc7634..e0d2697439b733f40e3487dc03b5208945764fee 100644 (file)
@@ -1,6 +1,7 @@
 " Vim plugin for using Vim as manpager.
 " Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
 " Last Change: 2024 Jul 03
+" 2026 Mar 22 by Vim Project: strip OSC 9 sequences (#19787)
 
 if exists('g:loaded_manpager_plugin')
   finish
@@ -32,6 +33,9 @@ function s:ManPager()
   " Remove ansi sequences
   exe 'silent! keepj keepp %s/\v\e\[%(%(\d;)?\d{1,2})?[mK]//e' .. (&gdefault ? '' : 'g')
 
+  " Remove OSC 8 hyperlink sequences: \e]8;;...\e\ or \e]8;;...\a
+  exe 'silent! keepj keepp %s/\v\e\]8;[^\a\e]*%(\a|\e\\)//e' .. (&gdefault ? '' : 'g')
+
   " Remove empty lines above the header
   call cursor(1, 1)
   let n = search(".*(.*)", "c")