--- rxvt-unicode/src/main.C 2006/01/12 00:11:13 1.174 +++ rxvt-unicode/src/main.C 2006/01/12 00:35:39 1.175 @@ -480,33 +480,28 @@ rxvt_term::init (int argc, const char *const *argv) { SET_R (this); + TEMP_ENV; // few things in X do not call setlocale :( - const char **cmd_argv; - - { - TEMP_ENV; // few things in X do not call setlocale :( - - set_locale (""); + set_locale (""); - if (!init_vars ()) - return false; + if (!init_vars ()) + return false; - init_secondary (); + init_secondary (); - cmd_argv = init_resources (argc, argv); + const char **cmd_argv = init_resources (argc, argv); #ifdef KEYSYM_RESOURCE - keyboard->register_done (); + keyboard->register_done (); #endif #if MENUBAR_MAX - menubar_read (rs[Rs_menu]); + menubar_read (rs[Rs_menu]); #endif #ifdef HAVE_SCROLLBARS - if (OPTION (Opt_scrollBar)) - scrollBar.setIdle (); /* set existence for size calculations */ + if (OPTION (Opt_scrollBar)) + scrollBar.setIdle (); /* set existence for size calculations */ #endif - } #if ENABLE_PERL if (!rs[Rs_perl_ext_1]) @@ -530,59 +525,55 @@ } #endif rxvt_perl.init (); - setlocale (LC_CTYPE, curlocale); // perl destroys this info + setlocale (LC_CTYPE, curlocale); // perl init destroys this info HOOK_INVOKE ((this, HOOK_INIT, DT_END)); } #endif - { - TEMP_ENV; - - create_windows (argc, argv); + create_windows (argc, argv); - dDisp; + dDisp; - init_xlocale (); + init_xlocale (); - scr_reset (); // initialize screen + scr_reset (); // initialize screen #if 0 - XSynchronize (disp, True); + XSynchronize (disp, True); #endif #ifdef HAVE_SCROLLBARS - if (OPTION (Opt_scrollBar)) - resize_scrollbar (); /* create and map scrollbar */ + if (OPTION (Opt_scrollBar)) + resize_scrollbar (); /* create and map scrollbar */ #endif #if (MENUBAR_MAX) - if (menubar_visible ()) - XMapWindow (disp, menuBar.win); + if (menubar_visible ()) + XMapWindow (disp, menuBar.win); #endif #ifdef TRANSPARENT - if (OPTION (Opt_transparent)) - { - XSelectInput (disp, display->root, PropertyChangeMask); - check_our_parents (); - rootwin_ev.start (display, display->root); - } + if (OPTION (Opt_transparent)) + { + XSelectInput (disp, display->root, PropertyChangeMask); + check_our_parents (); + rootwin_ev.start (display, display->root); + } #endif - XMapWindow (disp, vt); - XMapWindow (disp, parent[0]); + XMapWindow (disp, vt); + XMapWindow (disp, parent[0]); - set_colorfgbg (); + set_colorfgbg (); - init_command (cmd_argv); + init_command (cmd_argv); - free (cmd_argv); + free (cmd_argv); - if (pty.pty >= 0) - pty_ev.start (pty.pty, EVENT_READ); + if (pty.pty >= 0) + pty_ev.start (pty.pty, EVENT_READ); - check_ev.start (); + check_ev.start (); - HOOK_INVOKE ((this, HOOK_START, DT_END)); - } + HOOK_INVOKE ((this, HOOK_START, DT_END)); return true; } @@ -627,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.