ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtperl.xs
(Generate patch)

Comparing rxvt-unicode/src/rxvtperl.xs (file contents):
Revision 1.4 by root, Mon Jan 2 19:05:05 2006 UTC vs.
Revision 1.6 by root, Mon Jan 2 21:17:01 2006 UTC

208} 208}
209 209
210bool 210bool
211rxvt_perl_interp::invoke (rxvt_term *term, hook_type htype, ...) 211rxvt_perl_interp::invoke (rxvt_term *term, hook_type htype, ...)
212{ 212{
213 // INIT and DESTROY must be requested by the runtime 213 if (!perl
214 214 || (!should_invoke [htype] && htype != HOOK_INIT && htype != HOOK_DESTROY))
215 if (!perl || !should_invoke [htype])
216 return false; 215 return false;
217 216
218 if (htype == HOOK_INIT) // first hook ever called 217 if (htype == HOOK_INIT) // first hook ever called
219 term->self = (void *)newSVptr ((void *)term, "urxvt::term"); 218 term->self = (void *)newSVptr ((void *)term, "urxvt::term");
220 219
240 XPUSHs (sv_2mortal (newSViv (va_arg (ap, int)))); 239 XPUSHs (sv_2mortal (newSViv (va_arg (ap, int))));
241 break; 240 break;
242 241
243 case DT_LONG: 242 case DT_LONG:
244 XPUSHs (sv_2mortal (newSViv (va_arg (ap, long)))); 243 XPUSHs (sv_2mortal (newSViv (va_arg (ap, long))));
244 break;
245
246 case DT_STRING:
247 XPUSHs (sv_2mortal (newSVpv (va_arg (ap, char *), 0)));
245 break; 248 break;
246 249
247 case DT_END: 250 case DT_END:
248 { 251 {
249 va_end (ap); 252 va_end (ap);
289 292
290BOOT: 293BOOT:
291{ 294{
292# define set_hookname(sym) av_store (hookname, PP_CONCAT(HOOK_, sym), newSVpv (PP_STRINGIFY(sym), 0)) 295# define set_hookname(sym) av_store (hookname, PP_CONCAT(HOOK_, sym), newSVpv (PP_STRINGIFY(sym), 0))
293 AV *hookname = get_av ("urxvt::HOOKNAME", 1); 296 AV *hookname = get_av ("urxvt::HOOKNAME", 1);
294 set_hookname (LOAD);
295 set_hookname (INIT); 297 set_hookname (INIT);
296 set_hookname (RESET); 298 set_hookname (RESET);
297 set_hookname (START); 299 set_hookname (START);
298 set_hookname (DESTROY); 300 set_hookname (DESTROY);
299 set_hookname (SEL_BEGIN); 301 set_hookname (SEL_BEGIN);
305 set_hookname (VIEW_CHANGE); 307 set_hookname (VIEW_CHANGE);
306 set_hookname (SCROLL_BACK); 308 set_hookname (SCROLL_BACK);
307 set_hookname (TTY_ACTIVITY); 309 set_hookname (TTY_ACTIVITY);
308 set_hookname (REFRESH_BEGIN); 310 set_hookname (REFRESH_BEGIN);
309 set_hookname (REFRESH_END); 311 set_hookname (REFRESH_END);
312 set_hookname (KEYBOARD_COMMAND);
310 313
311 sv_setpv (get_sv ("urxvt::LIBDIR", 1), LIBDIR); 314 sv_setpv (get_sv ("urxvt::LIBDIR", 1), LIBDIR);
312} 315}
313 316
314void 317void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines