*** empty log message ***
authorroot <root>
Tue, 3 Jan 2006 18:11:34 +0000 (18:11 +0000)
committerroot <root>
Tue, 3 Jan 2006 18:11:34 +0000 (18:11 +0000)
Changes
doc/rxvt.1.pod
src/main.C
src/rxvtperl.xs

diff --git a/Changes b/Changes
index c8c972f8f57ccf6044094de93cdcca22caf4118d..a826b74cdf2445d19cfacb5e3d6dd2319ab21dd3 100644 (file)
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ TODO: read property sequence is broken with respect to utf-8 etc.
 TODO: http://www120.pair.com/mccarthy/nextstep/intro.htmld/Workspace.html is the correct nextstep look.
 WISH: OnTheSpot editing, or maybe switch to miiiiiiif
 WISH: just for fun, do shade and tint with XRender.
+WISH: make builtin character glyphs optional
 
         - optionally embed a perl interpreter, which can be used for more
           intelligent/customized selection support, visual feedback,
index 82f8687c2ad11d2a7cbb51b8160528f37fc25f31..ea53082e31bb9a369e28ac77e9561fc43a530e77 100644 (file)
@@ -1067,7 +1067,9 @@ info):
 
 Colon-separated list of perl extension scripts to use in this terminal
 instance. Each extension is looked up in the library directories, loaded
-if necessary, and bound to the current terminal instance; option B<-pe>.
+if necessary, and bound to the current terminal instance. If this resource
+is empty or missing, then the perl interpreter will not be initialized;
+option B<-pe>.
 
 =item B<perl-eval>: I<string>
 
index a61dbe14a4f55be236ed85a0effec7eba9beccfc..e3cbaeb180b4cd288a69f462c535ce02eef8da8c 100644 (file)
@@ -489,11 +489,13 @@ rxvt_term::init (int argc, const char *const *argv)
 #endif
 
 #if ENABLE_PERL
-  rxvt_perl.init ();
+  if (rs[Rs_perl_ext] && *rs[Rs_perl_ext])
+    {
+      rxvt_perl.init ();
+      PERL_INVOKE ((this, HOOK_INIT, DT_END));
+    }
 #endif
 
-  PERL_INVOKE ((this, HOOK_INIT, DT_END));
-
   create_windows (argc, argv);
 
   dDisp;
index 76f904fb0aa7b1f36d82557a69d9989ce630d108..621c15b5302424052fe7179eb9dc8f743006b8b7 100644 (file)
@@ -369,6 +369,8 @@ rxvt_perl_interp::invoke (rxvt_term *term, hook_type htype, ...)
       term->self = (void *)newSVptr ((void *)term, "urxvt::term");
       hv_store ((HV *)SvRV ((SV *)term->self), "_overlay", 8, newRV_noinc ((SV *)newHV ()), 0);
     }
+  else if (!term->self)
+    return false; // perl not initialized for this instance
   else if (htype == HOOK_DESTROY)
     {
       // handled later
@@ -474,7 +476,6 @@ BOOT:
   set_hookname (SEL_EXTEND);
   set_hookname (SEL_MAKE);
   set_hookname (SEL_GRAB);
-  set_hookname (SEL_CLICK);
   set_hookname (FOCUS_IN);
   set_hookname (FOCUS_OUT);
   set_hookname (VIEW_CHANGE);
@@ -483,8 +484,6 @@ BOOT:
   set_hookname (REFRESH_BEGIN);
   set_hookname (REFRESH_END);
   set_hookname (KEYBOARD_COMMAND);
-  set_hookname (MOUSE_CLICK);
-  set_hookname (MOUSE_MOVE);
 
   export_const (DEFAULT_RSTYLE);
   export_const (OVERLAY_RSTYLE);