Skip to content

Commit a603175

Browse files
mattnchrisbra
authored andcommitted
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 <mattn.jp@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent abd2d7d commit a603175

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

runtime/plugin/manpager.vim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
33
" Last Change: 2024 Jul 03
44
" 2026 Mar 22 by Vim Project: strip OSC 9 sequences (#19787)
5+
" 2026 Mar 24 by Vim Project: strip Bell char: Ctrl-G (#19807)
56

67
if exists('g:loaded_manpager_plugin')
78
finish
@@ -33,8 +34,8 @@ function s:ManPager()
3334
" Remove ansi sequences
3435
exe 'silent! keepj keepp %s/\v\e\[%(%(\d;)?\d{1,2})?[mK]//e' .. (&gdefault ? '' : 'g')
3536

36-
" Remove OSC 8 hyperlink sequences: \e]8;;...\e\ or \e]8;;...\a
37-
exe 'silent! keepj keepp %s/\v\e\]8;[^\a\e]*%(\a|\e\\)//e' .. (&gdefault ? '' : 'g')
37+
" Remove OSC 8 hyperlink sequences: \e]8;;...\e\ or \e]8;;...<BEL>
38+
exe 'silent! keepj keepp %s/\v\e\]8;[^\x07\e]*%(%x07|\e\\)//e' .. (&gdefault ? '' : 'g')
3839

3940
" Remove empty lines above the header
4041
call cursor(1, 1)

0 commit comments

Comments
 (0)