summaryrefslogtreecommitdiff
path: root/src/dosinst.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-28 23:05:48 +0200
committerBram Moolenaar <Bram@vim.org>2016-03-28 23:05:48 +0200
commite609ad557c15e3e5d1e9ace2c578f48c5589c488 (patch)
tree9bb8fe77d24ac5b650872d23a0719cbabd9efc9e /src/dosinst.c
parent72188e9aae26e6191c68ff673ef145104b17c64f (diff)
downloadvim-git-e609ad557c15e3e5d1e9ace2c578f48c5589c488.tar.gz
patch 7.4.1683v7.4.1683
Problem: Generated .bat files do not support --nofork. Solution: Add check for --nofork. Also add "setlocal". (Kevin CantĂș, closes #659)
Diffstat (limited to 'src/dosinst.c')
-rw-r--r--src/dosinst.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dosinst.c b/src/dosinst.c
index 5b54380fe..809789fb7 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -762,6 +762,7 @@ install_bat_choice(int idx)
fprintf(fd, "@echo off\n");
fprintf(fd, "rem -- Run Vim --\n");
fprintf(fd, "\n");
+ fprintf(fd, "setlocal\n");
/* Don't use double quotes for the "set" argument, also when it
* contains a space. The quotes would be included in the value
@@ -793,6 +794,9 @@ install_bat_choice(int idx)
fprintf(fd, "if .%%1==. goto loopend\n");
if (*exename == 'g')
{
+ fprintf(fd, "if NOT .%%1==.--nofork goto noforklongarg\n");
+ fprintf(fd, "set VIMNOFORK=1\n");
+ fprintf(fd, ":noforklongarg\n");
fprintf(fd, "if NOT .%%1==.-f goto noforkarg\n");
fprintf(fd, "set VIMNOFORK=1\n");
fprintf(fd, ":noforkarg\n");