From 022e15dc602143f0c2488e40ecaed2aeaadf6a8b Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 8 Jun 2011 19:27:48 +0000 Subject: [PATCH] * environ.cc (settings::set_process_state): Delete. (tty_is_gone): New function. (known): Change "tty" to call tty_is_gone(). Remove unneeded '&' from beginning of function address. (parse_options): Remove set_process_state handling. * shared_info.h (CURR_USER_MAGIC): Reset. (user_info::warned_notty): New member. --- winsup/cygwin/ChangeLog | 10 ++++++++++ winsup/cygwin/environ.cc | 26 ++++++++++++++++++-------- winsup/cygwin/shared_info.h | 5 ++++- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 88d005de1..7d41cf183 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,13 @@ +2011-06-08 Christopher Faylor + + * environ.cc (settings::set_process_state): Delete. + (tty_is_gone): New function. + (known): Change "tty" to call tty_is_gone(). Remove unneeded '&' from + beginning of function address. + (parse_options): Remove set_process_state handling. + * shared_info.h (CURR_USER_MAGIC): Reset. + (user_info::warned_notty): New member. + 2011-06-07 Christopher Faylor * fhandler_console.cc (fhandler_console::open_shared_console): diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 8a9f74ae3..88b39de6b 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -29,6 +29,7 @@ details. */ #include "registry.h" #include "environ.h" #include "child_info.h" +#include "shared_info.h" #include "ntdll.h" extern bool dos_file_warning; @@ -529,8 +530,7 @@ enum settings { justset, isfunc, - setbit, - set_process_state, + setbit }; /* When BUF is: @@ -563,6 +563,19 @@ set_proc_retry (const char *buf) child_info::retry_count = strtoul (buf, NULL, 0); } +static void +tty_is_gone (const char *buf) +{ + if (!user_shared->warned_notty) + { + small_printf ("\"tty\" option detected in CYGWIN environment variable.\n" + "CYGWIN=tty is no longer supported. Please remove it from your\n" + "CYGWIN environment variable and use a terminal emulator like mintty," + "xterm, or rxvt\n"); + user_shared->warned_notty = 1; + } +} + /* The structure below is used to set up an array which is used to parse the CYGWIN environment variable or, if enabled, options from the registry. */ @@ -588,14 +601,14 @@ static struct parse_thing { {"dosfilewarning", {&dos_file_warning}, justset, NULL, {{false}, {true}}}, {"envcache", {&envcache}, justset, NULL, {{true}, {false}}}, - {"error_start", {func: &error_start_init}, isfunc, NULL, {{0}, {0}}}, + {"error_start", {func: error_start_init}, isfunc, NULL, {{0}, {0}}}, {"export", {&export_settings}, justset, NULL, {{false}, {true}}}, - {"glob", {func: &glob_init}, isfunc, NULL, {{0}, {s: "normal"}}}, + {"glob", {func: glob_init}, isfunc, NULL, {{0}, {s: "normal"}}}, {"proc_retry", {func: set_proc_retry}, isfunc, NULL, {{0}, {5}}}, {"reset_com", {&reset_com}, justset, NULL, {{false}, {true}}}, {"strip_title", {&strip_title_path}, justset, NULL, {{false}, {true}}}, {"title", {&display_title}, justset, NULL, {{false}, {true}}}, - {"tty", {NULL}, set_process_state, NULL, {{0}, {PID_USETTY}}}, + {"tty", {func: tty_is_gone}, isfunc, NULL, {{0}, {0}}}, {"upcaseenv", {&create_upcaseenv}, justset, NULL, {{false}, {true}}}, {"winsymlinks", {&allow_winsymlinks}, justset, NULL, {{false}, {true}}}, {NULL, {0}, justset, 0, {{0}, {0}}} @@ -665,9 +678,6 @@ parse_options (char *buf) *k->setting.x = strtol (eq, NULL, 0); debug_printf ("%s %d", k->name, *k->setting.x); break; - case set_process_state: - k->setting.x = &myself->process_state; - /* fall through */ case setbit: *k->setting.x &= ~k->values[istrue].i; if (istrue || (eq && strtol (eq, NULL, 0))) diff --git a/winsup/cygwin/shared_info.h b/winsup/cygwin/shared_info.h index b18625d1a..be1ebca51 100644 --- a/winsup/cygwin/shared_info.h +++ b/winsup/cygwin/shared_info.h @@ -15,6 +15,8 @@ details. */ #include "limits.h" #include "mount.h" +#define CURR_USER_MAGIC 0x6467403bU + class user_info { void initialize (); @@ -22,10 +24,12 @@ public: LONG version; DWORD cb; bool warned_msdos; + bool warned_notty; mount_info mountinfo; friend void dll_crt0_1 (void *); static void create (bool); }; + /******** Shared Info ********/ /* Data accessible to all tasks */ @@ -33,7 +37,6 @@ public: #define CURR_SHARED_MAGIC 0x34e5bfa7U #define USER_VERSION 1 -#define CURR_USER_MAGIC 0x6112afb3U /* NOTE: Do not make gratuitous changes to the names or organization of the below class. The layout is checksummed to determine compatibility between