patch 9.1.1158: :verbose set has wrong file name with :compiler! Commit: https://github.com/vim/vim/commit/5e8b2268e180cbf5079ea6dbe9c8fd29c3e3133c Author: zeertzjq <zeert...@outlook.com> Date: Fri Feb 28 17:32:07 2025 +0100
patch 9.1.1158: :verbose set has wrong file name with :compiler! Problem: :verbose set has wrong file name with :compiler! Solution: Add -keepscript (zeertzjq) closes: #16752 Signed-off-by: zeertzjq <zeert...@outlook.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 068115317..567522c22 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -789,7 +789,7 @@ ex_compiler(exarg_T *eap) { // ":compiler! {name}" sets global options do_cmdline_cmd((char_u *) - "command -nargs=* CompilerSet set <args>"); + "command -nargs=* -keepscript CompilerSet set <args>"); } else { diff --git a/src/testdir/test_compiler.vim b/src/testdir/test_compiler.vim index 99f472401..d86c55f1c 100644 --- a/src/testdir/test_compiler.vim +++ b/src/testdir/test_compiler.vim @@ -17,12 +17,14 @@ func Test_compiler() e Xfoo.pl " Play nice with other tests. defer setqflist([]) + compiler perl call assert_equal('perl', b:current_compiler) call assert_fails('let g:current_compiler', 'E121:') - let verbose_efm = execute('verbose set efm') call assert_match('Last set from .*[/\]compiler[/\]perl.vim ', verbose_efm) + " Not using the global value + call assert_notequal('', &l:efm) call setline(1, ['#!/usr/bin/perl -w', 'use strict;', 'my $foo=1']) w! @@ -36,6 +38,29 @@ func Test_compiler() call assert_match(' \d\+ Xfoo.pl:3: Global symbol "$foo" ' \ . 'requires explicit package name', a) + compiler make + call assert_fails('let b:current_compiler', 'E121:') + call assert_fails('let g:current_compiler', 'E121:') + let verbose_efm = execute('verbose set efm') + call assert_match('Last set from .*[/\]compiler[/\]make.vim ', verbose_efm) + + compiler! perl + call assert_equal('perl', b:current_compiler) + call assert_equal('perl', g:current_compiler) + let verbose_efm = execute('verbose set efm') + call assert_match('Last set from .*[/\]compiler[/\]perl.vim ', verbose_efm) + call assert_equal(verbose_efm, execute('verbose setglobal efm')) + " Using the global value + call assert_equal('', &l:efm) + + compiler! make + call assert_fails('let b:current_compiler', 'E121:') + call assert_fails('let g:current_compiler', 'E121:') + let verbose_efm = execute('verbose set efm') + call assert_match('Last set from .*[/\]compiler[/\]make.vim ', verbose_efm) + call assert_equal(verbose_efm, execute('verbose setglobal efm')) + " Using the global value + call assert_equal('', &l:efm) let &shellslash = save_shellslash call delete('Xfoo.pl') diff --git a/src/version.c b/src/version.c index 94db286ee..3b61cdd8e 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1158, /**/ 1157, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1to3U8-000oNf-79%40256bit.org.