+2008-11-01 Eli Zaretskii <eliz@gnu.org>
+
+ * emacsclient.c (main) [WINDOWSNT]: Don't ifdef away the call to
+ `ttyname'.
+ (w32_getenv): Treat $TERM specially: if not found in the
+ environment and in the Registry, return "w32console".
+ (ttyname) [WINDOWSNT]: New function.
+
2008-10-31 Andreas Schwab <schwab@suse.de>
* emacsclient.c (main): Don't force sending tty when in eval mode.
if (! (value = w32_get_resource (HKEY_CURRENT_USER, envvar, &dwType)) &&
! (value = w32_get_resource (HKEY_LOCAL_MACHINE, envvar, &dwType)))
- /* Not found in the registry. */
- return NULL;
+ {
+ /* "w32console" is what Emacs on Windows uses for tty-type under -nw. */
+ if (strcmp (envvar, "TERM") == 0)
+ return xstrdup ("w32console");
+ /* Found neither in the environment nor in the registry. */
+ return NULL;
+ }
if (dwType == REG_SZ)
/* Registry; no need to expand. */
#undef execvp
#define execvp w32_execvp
+/* Emulation of ttyname for Windows. */
+char *
+ttyname (int fd)
+{
+ return "CONOUT$";
+}
+
#endif /* WINDOWSNT */
/* Display a normal or error message.
if (!tty && display)
window_system = 1;
-#if !defined (WINDOWSNT)
else if (!current_frame)
tty = 1;
-#endif
/* --no-wait implies --current-frame on ttys when there are file
arguments or expressions given. */
{
char *type = egetenv ("TERM");
char *tty_name = NULL;
-#ifndef WINDOWSNT
+
tty_name = ttyname (fileno (stdout));
-#endif
if (! tty_name)
{