0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 8.2.0568: the man filetype plugin overwrites the unnamed register

Problem:    The man filetype plugin overwrites the unnamed register.
Solution:   Use the black hole register. (Jason Franklin)
This commit is contained in:
Bram Moolenaar 2020-04-13 14:58:37 +02:00
parent 2c330432cf
commit 55b0fb7001
3 changed files with 26 additions and 4 deletions

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Apr 6
" Last Change: 2020 Apr 13
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@ -188,7 +188,7 @@ func <SID>GetPage(cmdmods, ...)
setl buftype=nofile noswapfile
setl fdc=0 ma nofen nonu nornu
silent exec "norm! 1GdG"
%delete _
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
@ -213,10 +213,10 @@ func <SID>GetPage(cmdmods, ...)
endif
" Remove blank lines from top and bottom.
while line('$') > 1 && getline(1) =~ '^\s*$'
silent keepj norm! ggdd
1delete _
endwhile
while line('$') > 1 && getline('$') =~ '^\s*$'
silent keepj norm! Gdd
$delete _
endwhile
1
setl ft=man nomod

View File

@ -1,3 +1,5 @@
" Test specifically for the Man filetype plugin.
runtime ftplugin/man.vim
func Test_g_ft_man_open_mode()
@ -111,3 +113,21 @@ func Test_local_options()
%bw!
set foldcolumn& number&
endfunc
" Check that the unnamed register is not overwritten.
func Test_keep_unnamed_register()
%bw!
let @" = '---'
let wincnt = winnr('$')
Man vim
if wincnt == winnr('$')
" Vim manual page cannot be found.
return
endif
call assert_equal('---', @")
%bw!
endfunc

View File

@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
568,
/**/
567,
/**/