From a603175c6cbe1f8aa37493c421f91a0dc49dff3d Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Tue, 24 Mar 2026 19:45:04 +0000 Subject: [PATCH] runtime(manpager): use \x07 instead of \a for BEL in OSC 8 regex \a in Vim's regex matches [A-Za-z], not the BEL character (0x07). This caused the OSC 8 hyperlink stripping pattern to incorrectly match alphabetic characters, breaking man page display. Use \x07 (inside []) and %x07 (outside []) to correctly match BEL. closes: #19806 Signed-off-by: Yasuhiro Matsumoto Signed-off-by: Christian Brabandt --- runtime/plugin/manpager.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/plugin/manpager.vim b/runtime/plugin/manpager.vim index e0d2697439..e3a8ea55a9 100644 --- a/runtime/plugin/manpager.vim +++ b/runtime/plugin/manpager.vim @@ -2,6 +2,7 @@ " Maintainer: Enno Nagel " Last Change: 2024 Jul 03 " 2026 Mar 22 by Vim Project: strip OSC 9 sequences (#19787) +" 2026 Mar 24 by Vim Project: strip Bell char: Ctrl-G (#19807) if exists('g:loaded_manpager_plugin') finish @@ -33,8 +34,8 @@ 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 OSC 8 hyperlink sequences: \e]8;;...\e\ or \e]8;;... + exe 'silent! keepj keepp %s/\v\e\]8;[^\x07\e]*%(%x07|\e\\)//e' .. (&gdefault ? '' : 'g') " Remove empty lines above the header call cursor(1, 1)