]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(compilers): ensure compiler! sets global options (#14336)
authorEnno <Konfekt@users.noreply.github.com>
Sun, 31 Mar 2024 16:37:05 +0000 (18:37 +0200)
committerGitHub <noreply@github.com>
Sun, 31 Mar 2024 16:37:05 +0000 (18:37 +0200)
Previously some options were only set locally by
&l:makeprg/errorformat

This suffices for :compiler (without a trailing bang)
but falls short for :compiler! that sets &g:makeprg/errorformat as
well

Also apply kind suggestions by @dkearns and @lifepillar

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/compiler/bdf.vim
runtime/compiler/context.vim
runtime/compiler/mcs.vim
runtime/compiler/modelsim_vcom.vim
runtime/compiler/powershell.vim
runtime/compiler/tex.vim

index b062e847aae3de1d7751509454f7ae5621b009bf..7e08cdddaa4c7c72638f0b870e585d2929ef9f93 100644 (file)
@@ -1,7 +1,8 @@
 " Vim compiler file
 " Compiler:             BDF to PCF Conversion
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2006-04-19
+" Contributors:         Enno Nagel
+" Last Change:          2024 Mar 29
 
 if exists("current_compiler")
   finish
@@ -11,9 +12,12 @@ let current_compiler = "bdf"
 let s:cpo_save = &cpo
 set cpo-=C
 
-setlocal makeprg=bdftopcf\ $*
+if exists(":CompilerSet") != 2 " Older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
 
-setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+CompilerSet makeprg=bdftopcf\ $*
+CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
       \%-Z%p^,
       \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
       \%-G%.%#
index f600936f1a68a097fa55b6e02c6ee0418013123a..512f81cbedeb5c3a6cf27692c52fa555dc897946 100644 (file)
@@ -3,7 +3,8 @@ vim9script
 # Language:           ConTeXt typesetting engine
 # Maintainer:         Nicola Vitacolonna <nvitacolonna@gmail.com>
 # Former Maintainers: Nikolai Weibull <now@bitwi.se>
-# Latest Revision:    2023 Dec 26
+# Contributors:       Enno Nagel
+# Last Change:        2024 Mar 29
 
 if exists("g:current_compiler")
   finish
@@ -19,7 +20,8 @@ g:current_compiler = 'context'
 
 if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
   (!filereadable('Makefile') && !filereadable('makefile'))
-  &l:makeprg =  join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
+  var makeprg =  join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
+  execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
 else
   g:current_compiler = 'make'
 endif
index c606586870baa1bf9be308de66db309683d04655..94a1848d4abb52b5b75d50a5ca8afe83530985b9 100644 (file)
@@ -1,8 +1,8 @@
 " Vim compiler file
-" Compiler:    Mono C# Compiler
-" Maintainer:  Jarek Sobiecki <harijari@go2.pl>
-" Last Updated By: Peter Collingbourne
-" Latest Revision: 2012 Jul 19
+" Compiler:     Mono C# Compiler
+" Maintainer:   Jarek Sobiecki <harijari@go2.pl>
+" Contributors: Peter Collingbourne and Enno Nagel
+" Last Change:  2024 Mar 29
 
 if exists("current_compiler")
   finish
@@ -12,7 +12,12 @@ let current_compiler = "mcs"
 let s:cpo_save = &cpo
 set cpo-=C
 
-setlocal errorformat=
+if exists(":CompilerSet") != 2 " Older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=mcs
+CompilerSet errorformat=
          \%D%.%#Project\ \"%f/%[%^/\"]%#\"%.%#,
          \%X%.%#Done\ building\ project\ \"%f/%[%^/\"]%#\"%.%#,
          \%-G%\\s%.%#,
index 6aa1bde0b3b97aac7fd4438428a2e9285d7b56d5..184b403996bda83ee0ce57a32cb1f2867d0946f3 100644 (file)
@@ -1,7 +1,8 @@
 " Vim Compiler File
 " Compiler:    Modelsim Vcom
 " Maintainer:  Paul Baleme <pbaleme@mail.com>
-" Last Change: September 8, 2003
+" Contributors: Enno Nagel
+" Last Change: 2024 Mar 29
 " Thanks to:    allanherriman@hotmail.com
 
 if exists("current_compiler")
@@ -13,8 +14,9 @@ if exists(":CompilerSet") != 2                " older Vim always used :setlocal
   command -nargs=* CompilerSet setlocal <args>
 endif
 
-"setlocal errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
+CompilerSet makeprg=vcom
 
+"setlocal errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
 "setlocal errorformat=%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %m
 CompilerSet errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,\*\*\ %tARNING:\ %m,\*\*\ %tOTE:\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
 
index 45d5ec2191993f4f09866278fa7a8b3aa3c36b40..445a2f6d97b8178df1b847d2a9c3cf526eb1f5e8 100644 (file)
@@ -1,7 +1,8 @@
 " Vim compiler file
 " Compiler:    powershell
 " URL: https://github.com/PProvost/vim-ps1
-" Last Change: 2020 Mar 30
+" Contributors: Enno Nagel
+" Last Change: 2024 Mar 29
 
 if exists("current_compiler")
   finish
@@ -37,7 +38,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 &l:makeprg = g:ps1_makeprg_cmd .' %:p:S'
+let 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
@@ -50,6 +51,8 @@ let &l:makeprg = g:ps1_makeprg_cmd .' %:p:S'
 "         + CategoryInfo          : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException
 "         + FullyQualifiedErrorId : CommandNotFoundException
 
+execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
+
 " Showing error in context with underlining.
 CompilerSet errorformat=%+G+%m
 " Error summary.
index 65e15cf6e290351cfdf69d6a7ec6bbe79c39974d..0925d176808ce9ec064d095c70cb1061d46faf35 100644 (file)
@@ -1,7 +1,8 @@
 " Vim compiler file
 " Compiler:     TeX
 " Maintainer:   Artem Chuprina <ran@ran.pp.ru>
-" Last Change:  2012 Apr 30
+" Contributors: Enno Nagel
+" Last Change:  2024 Mar 29
 
 if exists("current_compiler")
        finish
@@ -27,7 +28,8 @@ if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
        else
                let current_compiler = "latex"
        endif
-       let &l:makeprg=current_compiler.' -interaction=nonstopmode'
+       let makeprg=current_compiler .. ' -interaction=nonstopmode'
+       execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
 else
        let current_compiler = 'make'
 endif