* emacsclient.c (main): Revert part of last change,

so drive-relative file names again work on Windows.
This commit is contained in:
Juanma Barranquero 2009-03-11 00:57:03 +00:00
parent 7679cfc8a4
commit 6cde1b2138
2 changed files with 25 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
* emacsclient.c (main): Revert part of last change, so
drive-relative file names again work on Windows.
2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
* emacsclient.c (main): Always pass cwd via "-dir". Pass the file

View file

@ -1635,6 +1635,26 @@ main (argc, argv)
continue;
}
}
#ifdef WINDOWSNT
else if (! file_name_absolute_p (argv[i])
&& (isalpha (argv[i][0]) && argv[i][1] == ':'))
/* Windows can have a different default directory for each
drive, so the cwd passed via "-dir" is not sufficient
to account for that.
If the user uses <drive>:<relpath>, we hence need to be
careful to expand <relpath> with the default directory
corresponding to <drive>. */
{
char *filename = (char *) xmalloc (MAX_PATH);
DWORD size;
size = GetFullPathName (argv[i], MAX_PATH, filename, NULL);
if (size > 0 && size < MAX_PATH)
argv[i] = filename;
else
free (filename);
}
#endif
send_to_emacs (emacs_socket, "-file ");
quote_argument (emacs_socket, argv[i]);