From cae4fbf973de05b6beb9b8593784f168e128cdb6 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 22 Jan 2026 13:40:49 +0800 Subject: [PATCH] vim-patch:3456303: check.vim: Use silent command modifier Problem: When checking a .po file (make -C src/po check), errors are not displayed. Solution: Adding "silent" to some normal commands in check.vim suppresses unnecessary output (Muraoka Taro) This is because the output of check.vim is redirected to /dev/null. However, if you stop the redirection, check.vim generates a lot of output and becomes very slow. When these commands are run in ex mode, they output the contents of the line the cursor is pointing to. This caused a lot of output. closes: vim/vim#19227 https://github.com/vim/vim/commit/3456303430a3fd2e628a850f90845cc4cbaa7994 Co-authored-by: Muraoka Taro --- src/nvim/po/check.vim | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/nvim/po/check.vim b/src/nvim/po/check.vim index d582f98199..d2713c1a21 100644 --- a/src/nvim/po/check.vim +++ b/src/nvim/po/check.vim @@ -25,7 +25,7 @@ exe 'redir! > ' . filename func! GetMline() let idline = substitute(getline('.'), '"\(.*\)"$', '\1', '') while line('.') < line('$') - + + silent + let line = getline('.') if line[0] != '"' break @@ -63,8 +63,8 @@ endfunc " Start at the first "msgid" line. let wsv = winsaveview() -1 -keeppatterns /^msgid\> +silent 1 +silent keeppatterns /^msgid\> " When an error is detected this is set to the line number. " Note: this is used in the Makefile. @@ -157,7 +157,7 @@ endwhile " - msgstr "E123 ..." missing colon " - msgstr "..." missing error code " -1 +silent 1 if search('msgid "\("\n"\)\?\([EW][0-9]\+:\).*\nmsgstr "\("\n"\)\?[^"]\@=\2\@!') > 0 echomsg 'Mismatching error/warning code in line ' . line('.') if error == 0 @@ -167,8 +167,8 @@ endif " Check that the \n at the end of the msgid line is also present in the msgstr " line. Skip over the header. -1 -keeppatterns /^"MIME-Version: +silent 1 +silent keeppatterns /^"MIME-Version: while 1 let lnum = search('^msgid\>') if lnum <= 0 @@ -194,8 +194,8 @@ endwhile " final '""', '\n"', ' "' '/"' '."' '-"' are OK " Beware, it can give false positives if the message is split " in the middle of a word -1 -keeppatterns /^"MIME-Version: +silent 1 +silent keeppatterns /^"MIME-Version: while 1 let lnum = search('^msgid\>') if lnum <= 0 @@ -262,7 +262,7 @@ if executable("msgfmt") endif " Check that the plural form is properly initialized -1 +silent 1 let plural = search('^msgid_plural ', 'n') if (plural && search('^"Plural-Forms: ', 'n') == 0) || (plural && search('^msgstr\[0\] ".\+"', 'n') != plural + 1) if search('^"Plural-Forms: ', 'n') == 0