]> granicus.if.org Git - vim/commitdiff
updated for version 7.2.337 v7.2.337
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Jan 2010 15:13:50 +0000 (16:13 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Jan 2010 15:13:50 +0000 (16:13 +0100)
Problem:    The :compiler command doesn't function properly when invoked in a
            function.
Solution:   Add "g:" before "current_compiler". (Yukihiro Nakadaira)

src/ex_cmds2.c
src/version.c

index 1108ab9614139cb172cced6b7046290e3128e5d7..39ed496fc7a491a7033bfa9670e3fe66b0b2551f 100644 (file)
@@ -2496,14 +2496,15 @@ ex_compiler(eap)
                 * To remain backwards compatible "current_compiler" is always
                 * used.  A user's compiler plugin may set it, the distributed
                 * plugin will then skip the settings.  Afterwards set
-                * "b:current_compiler" and restore "current_compiler". */
-               old_cur_comp = get_var_value((char_u *)"current_compiler");
+                * "b:current_compiler" and restore "current_compiler".
+                * Explicitly prepend "g:" to make it work in a function. */
+               old_cur_comp = get_var_value((char_u *)"g:current_compiler");
                if (old_cur_comp != NULL)
                    old_cur_comp = vim_strsave(old_cur_comp);
                do_cmdline_cmd((char_u *)
                              "command -nargs=* CompilerSet setlocal <args>");
            }
-           do_unlet((char_u *)"current_compiler", TRUE);
+           do_unlet((char_u *)"g:current_compiler", TRUE);
            do_unlet((char_u *)"b:current_compiler", TRUE);
 
            sprintf((char *)buf, "compiler/%s.vim", eap->arg);
@@ -2514,7 +2515,7 @@ ex_compiler(eap)
            do_cmdline_cmd((char_u *)":delcommand CompilerSet");
 
            /* Set "b:current_compiler" from "current_compiler". */
-           p = get_var_value((char_u *)"current_compiler");
+           p = get_var_value((char_u *)"g:current_compiler");
            if (p != NULL)
                set_internal_string_var((char_u *)"b:current_compiler", p);
 
@@ -2523,12 +2524,12 @@ ex_compiler(eap)
            {
                if (old_cur_comp != NULL)
                {
-                   set_internal_string_var((char_u *)"current_compiler",
+                   set_internal_string_var((char_u *)"g:current_compiler",
                                                                old_cur_comp);
                    vim_free(old_cur_comp);
                }
                else
-                   do_unlet((char_u *)"current_compiler", TRUE);
+                   do_unlet((char_u *)"g:current_compiler", TRUE);
            }
        }
     }
index f3b3a5c39ce31ef98ba968247a3cd200b77939d1..636a56dbaf7cebac165e625c5e6641673324d757 100644 (file)
@@ -681,6 +681,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    337,
 /**/
     336,
 /**/