[arch-commits] Commit in vte/repos (10 files)

Jan de Groot jgc at nymeria.archlinux.org
Mon Apr 28 08:17:57 UTC 2014


    Date: Monday, April 28, 2014 @ 10:17:57
  Author: jgc
Revision: 211847

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  vte/repos/extra-i686/PKGBUILD
    (from rev 211846, vte/trunk/PKGBUILD)
  vte/repos/extra-i686/make_alt_work.patch
    (from rev 211846, vte/trunk/make_alt_work.patch)
  vte/repos/extra-i686/scroll_region.patch
    (from rev 211846, vte/trunk/scroll_region.patch)
  vte/repos/extra-x86_64/PKGBUILD
    (from rev 211846, vte/trunk/PKGBUILD)
  vte/repos/extra-x86_64/make_alt_work.patch
    (from rev 211846, vte/trunk/make_alt_work.patch)
  vte/repos/extra-x86_64/scroll_region.patch
    (from rev 211846, vte/trunk/scroll_region.patch)
Deleted:
  vte/repos/extra-i686/PKGBUILD
  vte/repos/extra-i686/make_alt_work.patch
  vte/repos/extra-x86_64/PKGBUILD
  vte/repos/extra-x86_64/make_alt_work.patch

----------------------------------+
 /PKGBUILD                        |   86 +++++++++++++++++++++++++++++++
 /make_alt_work.patch             |  100 +++++++++++++++++++++++++++++++++++++
 extra-i686/PKGBUILD              |   38 --------------
 extra-i686/make_alt_work.patch   |   21 -------
 extra-i686/scroll_region.patch   |   67 ++++++++++++++++++++++++
 extra-x86_64/PKGBUILD            |   38 --------------
 extra-x86_64/make_alt_work.patch |   21 -------
 extra-x86_64/scroll_region.patch |   67 ++++++++++++++++++++++++
 8 files changed, 320 insertions(+), 118 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2014-04-28 08:17:48 UTC (rev 211846)
+++ extra-i686/PKGBUILD	2014-04-28 08:17:57 UTC (rev 211847)
@@ -1,38 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgname=vte
-pkgver=0.28.2
-pkgrel=3
-pkgdesc="Virtual Terminal Emulator widget for use with GTK2"
-arch=('i686' 'x86_64')
-license=('LGPL')
-options=('!emptydirs')
-depends=('gtk2' 'vte-common')
-makedepends=('pygtk' 'intltool' 'gobject-introspection' 'pygobject2-devel')
-url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.28/vte-$pkgver.tar.xz
-        make_alt_work.patch)
-sha256sums=('86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae'
-            '978c989fb63884289068bcee05a92614a3a2be9e5d9386ab789dfb87163b92c8')
-
-build() {
-  cd "$srcdir/$pkgname-$pkgver"
-  #warning: type-punning to incomplete type might break strict-aliasing rules
-  export CFLAGS="$CFLAGS -fno-strict-aliasing"
-
-  patch -Np1 -R -i "$srcdir/make_alt_work.patch"
-
-  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
-      --libexecdir=/usr/lib/vte \
-      --localstatedir=/var --disable-static \
-      --enable-introspection --with-gtk=2.0
-  make
-}
-
-package(){
-  cd "$srcdir/$pkgname-$pkgver"
-  make DESTDIR="$pkgdir" install
-
-  rm "$pkgdir/usr/lib/vte/gnome-pty-helper"
-}

Copied: vte/repos/extra-i686/PKGBUILD (from rev 211846, vte/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=vte
+pkgver=0.28.2
+pkgrel=4
+pkgdesc="Virtual Terminal Emulator widget for use with GTK2"
+arch=('i686' 'x86_64')
+license=('LGPL')
+options=('!emptydirs')
+depends=('gtk2' 'vte-common')
+makedepends=('pygtk' 'intltool' 'gobject-introspection' 'pygobject2-devel')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.28/vte-$pkgver.tar.xz
+        make_alt_work.patch
+        scroll_region.patch)
+sha256sums=('86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae'
+            '2cd58ffffd42a9d59e05369c2efa1e70b7d32bfb5c8cdbd67b3b95ae3c3e6d61'
+            '9a99c486b1c0377a4b8c6fae25067c68913bded2988fafea2c86f5adf6a49c81')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../make_alt_work.patch
+  patch -Np1 -i ../scroll_region.patch
+}
+build() {
+  cd $pkgname-$pkgver
+  #warning: type-punning to incomplete type might break strict-aliasing rules
+  export CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+      --libexecdir=/usr/lib/vte \
+      --localstatedir=/var --disable-static \
+      --enable-introspection --with-gtk=2.0
+  make
+}
+
+package(){
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+
+  rm "$pkgdir/usr/lib/vte/gnome-pty-helper"
+}

Deleted: extra-i686/make_alt_work.patch
===================================================================
--- extra-i686/make_alt_work.patch	2014-04-28 08:17:48 UTC (rev 211846)
+++ extra-i686/make_alt_work.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -1,21 +0,0 @@
-From b73782a28894e25ed146271f9d6c6775a6836199 Mon Sep 17 00:00:00 2001
-From: Behdad Esfahbod <behdad at behdad.org>
-Date: Fri, 04 Jun 2010 18:36:45 +0000
-Subject: Bug 601926 - Don't hardcode meta to alt
-
----
-diff --git a/src/keymap.h b/src/keymap.h
-index 3a4cefe..243e22e 100644
---- a/src/keymap.h
-+++ b/src/keymap.h
-@@ -27,7 +27,7 @@
- 
- G_BEGIN_DECLS
- 
--#define VTE_META_MASK		GDK_MOD1_MASK
-+#define VTE_META_MASK		GDK_META_MASK
- #define VTE_NUMLOCK_MASK	GDK_MOD2_MASK
- 
- /* Map the specified keyval/modifier setup, dependent on the mode, to either
---
-cgit v0.9.2

Copied: vte/repos/extra-i686/make_alt_work.patch (from rev 211846, vte/trunk/make_alt_work.patch)
===================================================================
--- extra-i686/make_alt_work.patch	                        (rev 0)
+++ extra-i686/make_alt_work.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,50 @@
+From a9d6a34708f846952f423d078397352858f7b1a4 Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe at gnome.org>
+Date: Sat, 12 May 2012 18:48:05 +0200
+Subject: [PATCH] keymap: Treat ALT as META
+
+https://bugzilla.gnome.org/show_bug.cgi?id=663779
+---
+ src/vte.c |   23 ++++++++++++++---------
+ 1 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/src/vte.c b/src/vte.c
+index dd27e9a..0657921 100644
+--- a/src/vte.c
++++ b/src/vte.c
+@@ -5170,19 +5170,24 @@ static void
+ vte_terminal_read_modifiers (VteTerminal *terminal,
+ 			     GdkEvent *event)
+ {
++        GdkKeymap *keymap;
+ 	GdkModifierType modifiers;
+ 
+ 	/* Read the modifiers. */
+-	if (gdk_event_get_state((GdkEvent*)event, &modifiers)) {
+-		GdkKeymap *keymap;
+-#if GTK_CHECK_VERSION (2, 90, 8)
+-                keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
+-#else
+-                keymap = gdk_keymap_get_for_display(gdk_drawable_get_display(((GdkEventAny*)event)->window));
++	if (!gdk_event_get_state((GdkEvent*)event, &modifiers))
++                return;
++
++        keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
++
++        gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
++
++#if 1
++        /* HACK! Treat ALT as META; see bug #663779. */
++        if (modifiers & GDK_MOD1_MASK)
++                modifiers |= VTE_META_MASK;
+ #endif
+-                gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
+-		terminal->pvt->modifiers = modifiers;
+-	}
++
++        terminal->pvt->modifiers = modifiers;
+ }
+ 
+ /* Read and handle a keypress event. */
+-- 
+1.7.5.1.217.g4e3aa.dirty
\ No newline at end of file

Copied: vte/repos/extra-i686/scroll_region.patch (from rev 211846, vte/trunk/scroll_region.patch)
===================================================================
--- extra-i686/scroll_region.patch	                        (rev 0)
+++ extra-i686/scroll_region.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,67 @@
+Index: vte-0.26.0/src/vte.c
+===================================================================
+--- vte-0.26.0.orig/src/vte.c	2010-11-30 23:04:53.000000000 -0800
++++ vte-0.26.0/src/vte.c	2010-12-07 20:05:07.865548000 -0800
+@@ -3862,6 +3862,7 @@ vte_terminal_process_incoming(VteTermina
+ 	long wcount, start, delta;
+ 	gboolean leftovers, modified, bottom, again;
+ 	gboolean invalidated_text;
++	gboolean in_scroll_region;
+ 	GArray *unichars;
+ 	struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
+ 
+@@ -3881,6 +3882,10 @@ vte_terminal_process_incoming(VteTermina
+ 	cursor = screen->cursor_current;
+ 	cursor_visible = terminal->pvt->cursor_visible;
+ 
++	in_scroll_region = screen->scrolling_restricted
++	    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
++	    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
++
+ 	/* We should only be called when there's data to process. */
+ 	g_assert(terminal->pvt->incoming ||
+ 		 (terminal->pvt->pending->len > 0));
+@@ -3979,6 +3984,8 @@ skip_chunk:
+ 		 * points to the first character which isn't part of this
+ 		 * sequence. */
+ 		if ((match != NULL) && (match[0] != '\0')) {
++			gboolean new_in_scroll_region;
++
+ 			/* Call the right sequence handler for the requested
+ 			 * behavior. */
+ 			_vte_terminal_handle_sequence(terminal,
+@@ -3989,12 +3996,20 @@ skip_chunk:
+ 			start = (next - wbuf);
+ 			modified = TRUE;
+ 
+-			/* if we have moved during the sequence handler, restart the bbox */
++			new_in_scroll_region = screen->scrolling_restricted
++			    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
++			    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
++
++			delta = screen->scroll_delta;	/* delta may have changed from sequence. */
++
++			/* if we have moved greatly during the sequence handler, or moved into a scroll_region
++                         * from outside it, restart the bbox */
+ 			if (invalidated_text &&
+-					(screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
+-					 screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
+-					 screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
+-					 screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
++					((new_in_scroll_region && !in_scroll_region) ||
++					 (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
++					  screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
++					  screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
++					  screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
+ 				/* Clip off any part of the box which isn't already on-screen. */
+ 				bbox_topleft.x = MAX(bbox_topleft.x, 0);
+ 				bbox_topleft.y = MAX(bbox_topleft.y, delta);
+@@ -4014,6 +4029,8 @@ skip_chunk:
+ 				bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
+ 				bbox_topleft.x = bbox_topleft.y = G_MAXINT;
+ 			}
++
++			in_scroll_region = new_in_scroll_region;
+ 		} else
+ 		/* Second, we have a NULL match, and next points to the very
+ 		 * next character in the buffer.  Insert the character which

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2014-04-28 08:17:48 UTC (rev 211846)
+++ extra-x86_64/PKGBUILD	2014-04-28 08:17:57 UTC (rev 211847)
@@ -1,38 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgname=vte
-pkgver=0.28.2
-pkgrel=3
-pkgdesc="Virtual Terminal Emulator widget for use with GTK2"
-arch=('i686' 'x86_64')
-license=('LGPL')
-options=('!emptydirs')
-depends=('gtk2' 'vte-common')
-makedepends=('pygtk' 'intltool' 'gobject-introspection' 'pygobject2-devel')
-url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.28/vte-$pkgver.tar.xz
-        make_alt_work.patch)
-sha256sums=('86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae'
-            '978c989fb63884289068bcee05a92614a3a2be9e5d9386ab789dfb87163b92c8')
-
-build() {
-  cd "$srcdir/$pkgname-$pkgver"
-  #warning: type-punning to incomplete type might break strict-aliasing rules
-  export CFLAGS="$CFLAGS -fno-strict-aliasing"
-
-  patch -Np1 -R -i "$srcdir/make_alt_work.patch"
-
-  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
-      --libexecdir=/usr/lib/vte \
-      --localstatedir=/var --disable-static \
-      --enable-introspection --with-gtk=2.0
-  make
-}
-
-package(){
-  cd "$srcdir/$pkgname-$pkgver"
-  make DESTDIR="$pkgdir" install
-
-  rm "$pkgdir/usr/lib/vte/gnome-pty-helper"
-}

Copied: vte/repos/extra-x86_64/PKGBUILD (from rev 211846, vte/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=vte
+pkgver=0.28.2
+pkgrel=4
+pkgdesc="Virtual Terminal Emulator widget for use with GTK2"
+arch=('i686' 'x86_64')
+license=('LGPL')
+options=('!emptydirs')
+depends=('gtk2' 'vte-common')
+makedepends=('pygtk' 'intltool' 'gobject-introspection' 'pygobject2-devel')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/GNOME/sources/vte/0.28/vte-$pkgver.tar.xz
+        make_alt_work.patch
+        scroll_region.patch)
+sha256sums=('86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae'
+            '2cd58ffffd42a9d59e05369c2efa1e70b7d32bfb5c8cdbd67b3b95ae3c3e6d61'
+            '9a99c486b1c0377a4b8c6fae25067c68913bded2988fafea2c86f5adf6a49c81')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../make_alt_work.patch
+  patch -Np1 -i ../scroll_region.patch
+}
+build() {
+  cd $pkgname-$pkgver
+  #warning: type-punning to incomplete type might break strict-aliasing rules
+  export CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+      --libexecdir=/usr/lib/vte \
+      --localstatedir=/var --disable-static \
+      --enable-introspection --with-gtk=2.0
+  make
+}
+
+package(){
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+
+  rm "$pkgdir/usr/lib/vte/gnome-pty-helper"
+}

Deleted: extra-x86_64/make_alt_work.patch
===================================================================
--- extra-x86_64/make_alt_work.patch	2014-04-28 08:17:48 UTC (rev 211846)
+++ extra-x86_64/make_alt_work.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -1,21 +0,0 @@
-From b73782a28894e25ed146271f9d6c6775a6836199 Mon Sep 17 00:00:00 2001
-From: Behdad Esfahbod <behdad at behdad.org>
-Date: Fri, 04 Jun 2010 18:36:45 +0000
-Subject: Bug 601926 - Don't hardcode meta to alt
-
----
-diff --git a/src/keymap.h b/src/keymap.h
-index 3a4cefe..243e22e 100644
---- a/src/keymap.h
-+++ b/src/keymap.h
-@@ -27,7 +27,7 @@
- 
- G_BEGIN_DECLS
- 
--#define VTE_META_MASK		GDK_MOD1_MASK
-+#define VTE_META_MASK		GDK_META_MASK
- #define VTE_NUMLOCK_MASK	GDK_MOD2_MASK
- 
- /* Map the specified keyval/modifier setup, dependent on the mode, to either
---
-cgit v0.9.2

Copied: vte/repos/extra-x86_64/make_alt_work.patch (from rev 211846, vte/trunk/make_alt_work.patch)
===================================================================
--- extra-x86_64/make_alt_work.patch	                        (rev 0)
+++ extra-x86_64/make_alt_work.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,50 @@
+From a9d6a34708f846952f423d078397352858f7b1a4 Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe at gnome.org>
+Date: Sat, 12 May 2012 18:48:05 +0200
+Subject: [PATCH] keymap: Treat ALT as META
+
+https://bugzilla.gnome.org/show_bug.cgi?id=663779
+---
+ src/vte.c |   23 ++++++++++++++---------
+ 1 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/src/vte.c b/src/vte.c
+index dd27e9a..0657921 100644
+--- a/src/vte.c
++++ b/src/vte.c
+@@ -5170,19 +5170,24 @@ static void
+ vte_terminal_read_modifiers (VteTerminal *terminal,
+ 			     GdkEvent *event)
+ {
++        GdkKeymap *keymap;
+ 	GdkModifierType modifiers;
+ 
+ 	/* Read the modifiers. */
+-	if (gdk_event_get_state((GdkEvent*)event, &modifiers)) {
+-		GdkKeymap *keymap;
+-#if GTK_CHECK_VERSION (2, 90, 8)
+-                keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
+-#else
+-                keymap = gdk_keymap_get_for_display(gdk_drawable_get_display(((GdkEventAny*)event)->window));
++	if (!gdk_event_get_state((GdkEvent*)event, &modifiers))
++                return;
++
++        keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
++
++        gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
++
++#if 1
++        /* HACK! Treat ALT as META; see bug #663779. */
++        if (modifiers & GDK_MOD1_MASK)
++                modifiers |= VTE_META_MASK;
+ #endif
+-                gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
+-		terminal->pvt->modifiers = modifiers;
+-	}
++
++        terminal->pvt->modifiers = modifiers;
+ }
+ 
+ /* Read and handle a keypress event. */
+-- 
+1.7.5.1.217.g4e3aa.dirty
\ No newline at end of file

Copied: vte/repos/extra-x86_64/scroll_region.patch (from rev 211846, vte/trunk/scroll_region.patch)
===================================================================
--- extra-x86_64/scroll_region.patch	                        (rev 0)
+++ extra-x86_64/scroll_region.patch	2014-04-28 08:17:57 UTC (rev 211847)
@@ -0,0 +1,67 @@
+Index: vte-0.26.0/src/vte.c
+===================================================================
+--- vte-0.26.0.orig/src/vte.c	2010-11-30 23:04:53.000000000 -0800
++++ vte-0.26.0/src/vte.c	2010-12-07 20:05:07.865548000 -0800
+@@ -3862,6 +3862,7 @@ vte_terminal_process_incoming(VteTermina
+ 	long wcount, start, delta;
+ 	gboolean leftovers, modified, bottom, again;
+ 	gboolean invalidated_text;
++	gboolean in_scroll_region;
+ 	GArray *unichars;
+ 	struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
+ 
+@@ -3881,6 +3882,10 @@ vte_terminal_process_incoming(VteTermina
+ 	cursor = screen->cursor_current;
+ 	cursor_visible = terminal->pvt->cursor_visible;
+ 
++	in_scroll_region = screen->scrolling_restricted
++	    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
++	    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
++
+ 	/* We should only be called when there's data to process. */
+ 	g_assert(terminal->pvt->incoming ||
+ 		 (terminal->pvt->pending->len > 0));
+@@ -3979,6 +3984,8 @@ skip_chunk:
+ 		 * points to the first character which isn't part of this
+ 		 * sequence. */
+ 		if ((match != NULL) && (match[0] != '\0')) {
++			gboolean new_in_scroll_region;
++
+ 			/* Call the right sequence handler for the requested
+ 			 * behavior. */
+ 			_vte_terminal_handle_sequence(terminal,
+@@ -3989,12 +3996,20 @@ skip_chunk:
+ 			start = (next - wbuf);
+ 			modified = TRUE;
+ 
+-			/* if we have moved during the sequence handler, restart the bbox */
++			new_in_scroll_region = screen->scrolling_restricted
++			    && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
++			    && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
++
++			delta = screen->scroll_delta;	/* delta may have changed from sequence. */
++
++			/* if we have moved greatly during the sequence handler, or moved into a scroll_region
++                         * from outside it, restart the bbox */
+ 			if (invalidated_text &&
+-					(screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
+-					 screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
+-					 screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
+-					 screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
++					((new_in_scroll_region && !in_scroll_region) ||
++					 (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
++					  screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK     ||
++					  screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
++					  screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
+ 				/* Clip off any part of the box which isn't already on-screen. */
+ 				bbox_topleft.x = MAX(bbox_topleft.x, 0);
+ 				bbox_topleft.y = MAX(bbox_topleft.y, delta);
+@@ -4014,6 +4029,8 @@ skip_chunk:
+ 				bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
+ 				bbox_topleft.x = bbox_topleft.y = G_MAXINT;
+ 			}
++
++			in_scroll_region = new_in_scroll_region;
+ 		} else
+ 		/* Second, we have a NULL match, and next points to the very
+ 		 * next character in the buffer.  Insert the character which




More information about the arch-commits mailing list