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/ruff.vim b/runtime/compiler/ruff.vim
index 11a6974..318f4fe 100644
--- a/runtime/compiler/ruff.vim
+++ b/runtime/compiler/ruff.vim
@@ -2,6 +2,7 @@
 " Compiler:     Ruff (Python linter)
 " Maintainer:   @pbnj-dragon
 " Last Change:  2024 Nov 07
+"		2024 Nov 19 by the Vim Project (properly escape makeprg setting)
 
 if exists("current_compiler") | finish | endif
 let current_compiler = "ruff"
@@ -12,7 +13,7 @@
 " CompilerSet makeprg=ruff
 let &l:makeprg= 'ruff check --output-format=concise '
         \ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview'))
-exe 'CompilerSet makeprg='..escape(&l:makeprg, ' "')
+exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
 CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
 
 let &cpo = s:cpo_save