runtime(compiler): fix escaping of arguments passed to :CompilerSet

See newly added help entry referring to option-backslash

closes: #16084

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/compiler/pylint.vim b/runtime/compiler/pylint.vim
index 4c9c23e..96abf31 100644
--- a/runtime/compiler/pylint.vim
+++ b/runtime/compiler/pylint.vim
@@ -2,6 +2,7 @@
 " Compiler:     Pylint for Python
 " Maintainer:   Daniel Moch <daniel@danielmoch.com>
 " Last Change:  2024 Nov 07 by The Vim Project (added params variable)
+"		2024 Nov 19 by the Vim Project (properly escape makeprg setting)
 
 if exists("current_compiler") | finish | endif
 let current_compiler = "pylint"
@@ -13,7 +14,7 @@
 let &l:makeprg = 'pylint ' .
       \ '--output-format=text --msg-template="{path}:{line}:{column}:{C}: [{symbol}] {msg}" --reports=no ' .
       \ get(b:, "pylint_makeprg_params", get(g:, "pylint_makeprg_params", '--jobs=0'))
-exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
+exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
 CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
 
 let &cpo = s:cpo_save