--- rxvt-unicode/src/main.C 2006/01/11 19:55:34 1.173 +++ rxvt-unicode/src/main.C 2006/01/12 01:30:53 1.176 @@ -480,7 +480,7 @@ rxvt_term::init (int argc, const char *const *argv) { SET_R (this); - TEMP_ENV; // few things in X do not call setlocale :( + set_environ (envv); // few things in X do not call setlocale :( set_locale (""); @@ -525,6 +525,7 @@ } #endif rxvt_perl.init (); + setlocale (LC_CTYPE, curlocale); // perl init destroys current locale HOOK_INVOKE ((this, HOOK_INIT, DT_END)); } #endif @@ -617,9 +618,13 @@ } } sig_handlers; +char **rxvt_environ; // startup environment + void rxvt_init () { + rxvt_environ = environ; + /* * Save and then give up any super-user privileges * If we need privileges in any area then we must specifically request it. @@ -1448,7 +1453,7 @@ char **s; XIMStyles *xim_styles; - TEMP_ENV; + set_environ (envv); if (! ((p = XSetLocaleModifiers (modifiers)) && *p)) return false;