From 4111b4e3cc31f074d65f65ceeb637f3d0e7e5f0d Mon Sep 17 00:00:00 2001
From: root
Date: Sun, 8 Jan 2006 06:35:23 +0000
Subject: [PATCH] *** empty log message ***
---
doc/rxvtperl.3.html | 22 +++++++++++++++++++---
doc/rxvtperl.3.man.in | 18 +++++++++++++++---
doc/rxvtperl.3.txt | 15 +++++++++++++--
src/command.C | 13 ++++++-------
src/screen.C | 13 +++++--------
5 files changed, 58 insertions(+), 23 deletions(-)
diff --git a/doc/rxvtperl.3.html b/doc/rxvtperl.3.html
index 3338aa9e..de4247a9 100644
--- a/doc/rxvtperl.3.html
+++ b/doc/rxvtperl.3.html
@@ -23,6 +23,7 @@
Variables in the urxvt
Package
Functions in the urxvt
Package
RENDITION
+ The urxvt::anyevent
Class
The urxvt::term
Class
The urxvt::popup
Class
The urxvt::timer
Class
@@ -79,7 +80,7 @@ find them in /opt/rxvt/lib/urxvt/perl/.
rxvt -pe <extensionname>
-- selection
+- selection (enabled by default)
-
Intelligent selection. This extension tries to be more intelligent when
@@ -101,6 +102,13 @@ Rot-13 the selection when activated. Used via keyboard trigger:
URxvt.keysym.C-M-r: perl:selection:rot13
+option-popup (enabled by default)
+
+
+Binds a popup menu to Ctrl-Button3 that lets you toggle (some) options at
+runtime.
+
+
digital-clock
@@ -439,7 +447,7 @@ Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask,
Button4Mask, Button5Mask, AnyModifier
-Various constants for use in X events.
+Various constants for use in X calls and event processing.
@@ -506,6 +514,14 @@ Change the custom value.
+
+The sole purpose of this class is to deliver an interface to the
+AnyEvent
module - any module using it will work inside urxvt without
+further work. The only exception is that you cannot wait on condition
+variables, but non-blocking condvar use is ok. What this means is that you
+cannot use blocking APIs, but the non-blocking variant should work.
+
+
- $term->destroy
@@ -679,7 +695,7 @@ If visible, hide the overlay, but do not destroy it.
If hidden, display the overlay again.
-$popup = $term->popup ($event)
+$popup = $term->popup ($event)
Creates a new urxvt::popup
object that implements a popup menu. The
diff --git a/doc/rxvtperl.3.man.in b/doc/rxvtperl.3.man.in
index 3371765a..ff55a652 100644
--- a/doc/rxvtperl.3.man.in
+++ b/doc/rxvtperl.3.man.in
@@ -172,8 +172,8 @@ You can activate them like this:
.Vb 1
\& @@RXVT_NAME@@ -pe
.Ve
-.IP "selection" 4
-.IX Item "selection"
+.IP "selection (enabled by default)" 4
+.IX Item "selection (enabled by default)"
Intelligent selection. This extension tries to be more intelligent when
the user extends selections (double\-click). Right now, it tries to select
urls and complete shell-quoted arguments, which is very convenient, too,
@@ -191,6 +191,10 @@ Rot\-13 the selection when activated. Used via keyboard trigger:
.RE
.RS 4
.RE
+.IP "option-popup (enabled by default)" 4
+.IX Item "option-popup (enabled by default)"
+Binds a popup menu to Ctrl\-Button3 that lets you toggle (some) options at
+runtime.
.IP "digital-clock" 4
.IX Item "digital-clock"
Displays a digital clock using the built-in overlay.
@@ -454,7 +458,7 @@ Returns the \*(L"current time\*(R" (as per the event loop).
.IP "urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask, AnyModifier" 4
.IX Item "urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask, AnyModifier"
.PD
-Various constants for use in X events.
+Various constants for use in X calls and event processing.
.Sh "\s-1RENDITION\s0"
.IX Subsection "RENDITION"
Rendition bitsets contain information about colour, font, font styles and
@@ -504,6 +508,14 @@ zero.
.el .IP "$rend = urxvt::SET_CUSTOM ($rend, \f(CW$new_value\fR)" 4
.IX Item "$rend = urxvt::SET_CUSTOM ($rend, $new_value)"
Change the custom value.
+.ie n .Sh "The ""urxvt::anyevent"" Class"
+.el .Sh "The \f(CWurxvt::anyevent\fP Class"
+.IX Subsection "The urxvt::anyevent Class"
+The sole purpose of this class is to deliver an interface to the
+\&\f(CW\*(C`AnyEvent\*(C'\fR module \- any module using it will work inside urxvt without
+further work. The only exception is that you cannot wait on condition
+variables, but non-blocking condvar use is ok. What this means is that you
+cannot use blocking APIs, but the non-blocking variant should work.
.ie n .Sh "The ""urxvt::term"" Class"
.el .Sh "The \f(CWurxvt::term\fP Class"
.IX Subsection "The urxvt::term Class"
diff --git a/doc/rxvtperl.3.txt b/doc/rxvtperl.3.txt
index d77a90d8..342d6401 100644
--- a/doc/rxvtperl.3.txt
+++ b/doc/rxvtperl.3.txt
@@ -31,7 +31,7 @@ DESCRIPTION
rxvt -pe
- selection
+ selection (enabled by default)
Intelligent selection. This extension tries to be more intelligent
when the user extends selections (double-click). Right now, it tries
to select urls and complete shell-quoted arguments, which is very
@@ -44,6 +44,10 @@ DESCRIPTION
URxvt.keysym.C-M-r: perl:selection:rot13
+ option-popup (enabled by default)
+ Binds a popup menu to Ctrl-Button3 that lets you toggle (some)
+ options at runtime.
+
digital-clock
Displays a digital clock using the built-in overlay.
@@ -277,7 +281,7 @@ DESCRIPTION
urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask,
Button5Mask, AnyModifier
- Various constants for use in X events.
+ Various constants for use in X calls and event processing.
RENDITION
Rendition bitsets contain information about colour, font, font styles
@@ -318,6 +322,13 @@ DESCRIPTION
$rend = urxvt::SET_CUSTOM ($rend, $new_value)
Change the custom value.
+ The "urxvt::anyevent" Class
+ The sole purpose of this class is to deliver an interface to the
+ "AnyEvent" module - any module using it will work inside urxvt without
+ further work. The only exception is that you cannot wait on condition
+ variables, but non-blocking condvar use is ok. What this means is that
+ you cannot use blocking APIs, but the non-blocking variant should work.
+
The "urxvt::term" Class
$term->destroy
Destroy the terminal object (close the window, free resources etc.).
diff --git a/src/command.C b/src/command.C
index f15a9b3a..e3bf8924 100644
--- a/src/command.C
+++ b/src/command.C
@@ -975,18 +975,19 @@ rxvt_term::flush ()
if (SHOULD_INVOKE (HOOK_LINE_UPDATE))
{
int row = -view_start;
+ int end_row = row + nrow;
while (row > -nsaved && ROW (row - 1).is_longer ())
--row;
- while (row < -view_start + nrow)
+ do
{
int start_row = row;
line_t *l;
do
{
- l = &ROW (row);
+ l = &ROW (row++);
if (!(l->f & LINE_FILTERED))
{
@@ -994,7 +995,7 @@ rxvt_term::flush ()
l->f |= LINE_FILTERED;
while (l->is_longer ())
{
- l = &ROW (++row);
+ l = &ROW (row++);
l->f |= LINE_FILTERED;
}
@@ -1004,11 +1005,9 @@ rxvt_term::flush ()
break;
}
}
- while (l->is_longer ());
-
- row++;
+ while (l->is_longer () && row < end_row);
}
-
+ while (++row < end_row);
}
scr_refresh (refresh_type);
diff --git a/src/screen.C b/src/screen.C
index f8f9f33c..aeaf02d9 100644
--- a/src/screen.C
+++ b/src/screen.C
@@ -147,6 +147,9 @@ void
rxvt_term::scr_blank_screen_mem (line_t &l, rend_t efs)
{
scr_blank_line (l, 0, ncol, efs);
+
+ l.l = 0;
+ l.f = 0;
}
/* ------------------------------------------------------------------------- *
@@ -640,10 +643,7 @@ rxvt_term::scr_scroll_text (int row1, int row2, int count)
}
for (int i = count; i--; )
- {
- ROW(row2 - i).l = 0;
- scr_blank_screen_mem (ROW(row2 - i), rstyle);
- }
+ scr_blank_screen_mem (ROW(row2 - i), rstyle);
if (OPTION (Opt_scrollWithBuffer)
&& view_start != 0
@@ -1305,10 +1305,7 @@ rxvt_term::scr_erase_screen (int mode)
for (; num--; row++)
{
- line_t &l = ROW(row);
- l.l = 0;
- l.is_longer (0);
- scr_blank_screen_mem (l, rstyle);
+ scr_blank_screen_mem (ROW(row), rstyle);
scr_blank_line (drawn_buf [row], 0, ncol, ren);
}
}
--
2.34.1