/* Client process that communicates with GNU Emacs acting as server.
Copyright (C) 1986, 1987, 1994, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of GNU Emacs.
inconvenient. So we force users to use "--display $DISPLAY" if
they want Emacs to connect to their current display. */
if (!current_frame && !tty && !display)
- display = egetenv ("DISPLAY");
+ {
+ display = egetenv ("DISPLAY");
+#ifdef NS_IMPL_COCOA
+ /* Under Cocoa, we don't really use displays the same way as in X,
+ so provide a dummy. */
+ if (!display || strlen (display) == 0)
+ display = "ns";
+#endif
+ }
/* A null-string display is invalid. */
if (display && strlen (display) == 0)
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)
{
for (i = optind; i < argc; i++)
{
- int relative = 0;
if (eval)
{
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, " ");
}