diff --git a/nt/ChangeLog b/nt/ChangeLog index 05ffbd0433c68a542c908e68eb6c95328e29fc5e..fb722213d8049c9c0b53c64f7cfad93922df6de5 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2001-06-20 Jason Rumney + + * runemacs.c (WinMain): Add quotes around command in case of spaces. + 2001-06-01 Andrew Innes * gmake.defs (sh_output): Don't use $(warning ...) to output diff --git a/nt/runemacs.c b/nt/runemacs.c index b918bec7249cb53674abc20a8b32b1acc072ddcc..2f114aea6593c4461a58f2aacde375af51ba043e 100644 --- a/nt/runemacs.c +++ b/nt/runemacs.c @@ -44,8 +44,10 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) goto error; *p = 0; - new_cmdline = alloca (MAX_PATH + strlen (cmdline) + 1); - strcpy (new_cmdline, modname); + new_cmdline = alloca (MAX_PATH + strlen (cmdline) + 3); + /* Quote executable name in case of spaces in the path. */ + *new_cmdline = '"'; + strcpy (new_cmdline + 1, modname); #ifdef CHOOSE_NEWEST_EXE { @@ -57,7 +59,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) WIN32_FIND_DATA wfd; HANDLE fh; p = new_cmdline + strlen (new_cmdline); - strcpy (p, "\\emacs*.exe "); + strcpy (p, "\\emacs*.exe\" "); fh = FindFirstFile (new_cmdline, &wfd); if (fh == INVALID_HANDLE_VALUE) goto error; @@ -78,7 +80,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) strcat (p, " "); } #else - strcat (new_cmdline, "\\emacs.exe "); + strcat (new_cmdline, "\\emacs.exe\" "); #endif /* Append original arguments if any; first look for arguments we