commit cae4fbf973de05b6beb9b8593784f168e128cdb6
parent 5f86b4b70d980e85951635125f559ec5f0e3ed60
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu, 22 Jan 2026 13:40:49 +0800
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 <koron.kaoriya@gmail.com>
Diffstat:
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git 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