… | |
… | |
183 | ///////////////////////////////////////////////////////////////////////////// |
183 | ///////////////////////////////////////////////////////////////////////////// |
184 | |
184 | |
185 | // temporarily replace the process environment |
185 | // temporarily replace the process environment |
186 | extern char **environ; |
186 | extern char **environ; |
187 | extern char **rxvt_environ; // the original environ pointer |
187 | extern char **rxvt_environ; // the original environ pointer |
188 | |
|
|
189 | static inline void |
|
|
190 | set_environ (stringvec *envv) |
|
|
191 | { |
|
|
192 | #if ENABLE_PERL |
|
|
193 | assert (envv); |
|
|
194 | #else |
|
|
195 | if (envv) |
|
|
196 | #endif |
|
|
197 | environ = (char **)envv->begin (); |
|
|
198 | } |
|
|
199 | |
188 | |
200 | static inline void |
189 | static inline void |
201 | set_environ (char **envv) |
190 | set_environ (char **envv) |
202 | { |
191 | { |
203 | #if ENABLE_PERL |
192 | #if ENABLE_PERL |
… | |
… | |
1244 | char *locale; |
1233 | char *locale; |
1245 | char charsets[4]; |
1234 | char charsets[4]; |
1246 | char *v_buffer; /* pointer to physical buffer */ |
1235 | char *v_buffer; /* pointer to physical buffer */ |
1247 | unsigned int v_buflen; /* size of area to write */ |
1236 | unsigned int v_buflen; /* size of area to write */ |
1248 | stringvec *argv, *envv; /* if != 0, will be freed at destroy time */ |
1237 | stringvec *argv, *envv; /* if != 0, will be freed at destroy time */ |
|
|
1238 | char **env; |
1249 | |
1239 | |
1250 | #ifdef KEYSYM_RESOURCE |
1240 | #ifdef KEYSYM_RESOURCE |
1251 | keyboard_manager *keyboard; |
1241 | keyboard_manager *keyboard; |
1252 | #endif |
1242 | #endif |
1253 | #ifndef NO_RESOURCES |
1243 | #ifndef NO_RESOURCES |
… | |
… | |
1344 | void pty_write (); |
1334 | void pty_write (); |
1345 | |
1335 | |
1346 | void make_current () const // make this the "currently active" urxvt instance |
1336 | void make_current () const // make this the "currently active" urxvt instance |
1347 | { |
1337 | { |
1348 | SET_R (this); |
1338 | SET_R (this); |
1349 | set_environ (envv); |
1339 | set_environ (env); |
1350 | rxvt_set_locale (locale); |
1340 | rxvt_set_locale (locale); |
1351 | } |
1341 | } |
1352 | |
1342 | |
1353 | #if USE_XIM |
1343 | #if USE_XIM |
1354 | rxvt_xim *input_method; |
1344 | rxvt_xim *input_method; |