summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-03-10 14:08:52 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-03-10 14:08:52 +0000
commitba528748a14a34d2c3f619615c4cdaf4bbd89cc0 (patch)
tree16c988a41705f78fff35c619216e2f4d73af838d /lib-src
parentbba79a9ce446856701d58cdeb26488b6a0b87864 (diff)
downloademacs-ba528748a14a34d2c3f619615c4cdaf4bbd89cc0.tar.gz
* server.el (server-process-filter): Use expand-file-name rather than
command-line-normalize-file-name so as to use the `dir' when provided. * emacsclient.c (main): Always pass cwd via "-dir". Pass the file names without prepending cwd to them, so Emacs uses its customary rules to determine how to interpret the file name.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/emacsclient.c40
2 files changed, 10 insertions, 36 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 02f9918ebd8..0609f1e1e10 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacsclient.c (main): Always pass cwd via "-dir". Pass the file
+ names without prepending cwd to them, so Emacs uses its customary
+ rules to determine how to interpret the file name.
+
2009-03-04 Glenn Morris <rgm@gnu.org>
* movemail.c (main) [MAIL_USE_POP]: Add -r to usage message.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 559664f0d45..3197b2a7276 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1566,11 +1566,11 @@ main (argc, argv)
quote_argument (emacs_socket, environ[i]);
send_to_emacs (emacs_socket, " ");
}
- send_to_emacs (emacs_socket, "-dir ");
- quote_argument (emacs_socket, cwd);
- send_to_emacs (emacs_socket, "/");
- send_to_emacs (emacs_socket, " ");
}
+ send_to_emacs (emacs_socket, "-dir ");
+ quote_argument (emacs_socket, cwd);
+ send_to_emacs (emacs_socket, "/");
+ send_to_emacs (emacs_socket, " ");
retry:
if (nowait)
@@ -1613,7 +1613,6 @@ main (argc, argv)
{
for (i = optind; i < argc; i++)
{
- int relative = 0;
if (eval)
{
@@ -1635,40 +1634,9 @@ main (argc, argv)
send_to_emacs (emacs_socket, " ");
continue;
}
- else
- relative = 1;
}
- else if (! file_name_absolute_p (argv[i]))
-#ifndef WINDOWSNT
- relative = 1;
-#else
- /* Call GetFullPathName so filenames of the form X:Y, where X is
- a valid drive designator, are interpreted as drive:path, not
- file:stream, and treated as absolute.
- The user can still pass a file:stream if desired (for example,
- .\X:Y), but it is not very useful, as Emacs currently does a
- very bad job of dealing with NTFS streams. */
- {
- 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
- {
- relative = 1;
- free (filename);
- }
- }
-#endif
send_to_emacs (emacs_socket, "-file ");
- if (relative)
- {
- quote_argument (emacs_socket, cwd);
- send_to_emacs (emacs_socket, "/");
- }
quote_argument (emacs_socket, argv[i]);
send_to_emacs (emacs_socket, " ");
}