vim-patch:b73faa1c02d0 (#28193)

runtime: fix :compiler leaving behind a g:makeprg variable (vim/vim#14414)

Problem:  :compiler may leave behind a g:makeprg variable after vim/vim#14336.
Solution: Use a script local variable.

b73faa1c02

Also apply previously omitted change to compiler/context.vim.
This commit is contained in:
zeertzjq 2024-04-06 05:44:37 +08:00 committed by GitHub
parent 7098341387
commit 66568ed452
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 5 deletions

View File

@ -16,11 +16,12 @@ if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
let current_compiler = 'context'
" The following assumes that the current working directory is set to the
" directory of the file to be typeset
let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
let s:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
\ . ' --script context --autogenerate --nonstopmode --synctex='
\ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
\ . ' ' . shellescape(expand('%:p:t'))
execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' ')
else
let current_compiler = 'make'
endif

View File

@ -4,6 +4,7 @@
" Contributors: Enno Nagel
" Last Change: 2024 Mar 29
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
" 2024 Apr 05 by The Vim Project (avoid leaving behind g:makeprg)
if exists("current_compiler")
finish
@ -35,7 +36,7 @@ let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0
" Use absolute path because powershell requires explicit relative paths
" (./file.ps1 is okay, but # expands to file.ps1)
let makeprg = g:ps1_makeprg_cmd .. ' %:p:S'
let s:makeprg = g:ps1_makeprg_cmd .. ' %:p:S'
" Parse file, line, char from callstacks:
" Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a
@ -48,7 +49,7 @@ let makeprg = g:ps1_makeprg_cmd .. ' %:p:S'
" + CategoryInfo : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException
" + FullyQualifiedErrorId : CommandNotFoundException
execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' ')
" Showing error in context with underlining.
CompilerSet errorformat=%+G+%m

View File

@ -4,6 +4,7 @@
" Contributors: Enno Nagel
" Last Change: 2024 Mar 29
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
" 2024 Apr 05 by The Vim Project (avoid leaving behind g:makeprg)
if exists("current_compiler")
finish
@ -25,8 +26,8 @@ if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
else
let current_compiler = "latex"
endif
let makeprg=current_compiler .. ' -interaction=nonstopmode'
execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
let s:makeprg=current_compiler .. ' -interaction=nonstopmode'
execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' ')
else
let current_compiler = 'make'
endif