diff -Nru vte2.91-0.52.1/ChangeLog vte2.91-0.52.2/ChangeLog --- vte2.91-0.52.1/ChangeLog 2018-04-09 21:49:23.000000000 +0000 +++ vte2.91-0.52.2/ChangeLog 2018-05-21 19:36:43.000000000 +0000 @@ -1,3 +1,39 @@ +commit 7322c27fee05bb6dd10289d05b79f53ac386799f +Author: Christian Persch +Date: Mon May 21 20:37:54 2018 +0200 + + all: Fix spelling + + https://bugzilla.gnome.org/show_bug.cgi?id=795278 + (cherry picked from commit 961927a8115c82f35deafe09c1d68689ff069905) + + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 5966e8bfbaa99dc778367e8433efeca6d50ebcf9 +Author: Egmont Koblinger +Date: Sun May 13 15:27:17 2018 +0200 + + ring: Proper boundary checking for hyperlink position + + This fixes a rare crash around hyperlinks in a non grid aligned + VTE widget when the mouse enters the extra padding at the bottom. + + https://bugzilla.gnome.org/show_bug.cgi?id=795826 + (cherry picked from commit d7df8276158dd448cf6813fb1039e7b5c464a1c2) + + src/ring.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 629cda75f2e664badc24477a0288424ca60307e4 +Author: Christian Persch +Date: Mon Apr 9 21:48:28 2018 +0200 + + Post release version bump + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit d00c15afcd4f50cc57d6bf3bcc87bd6cedf25529 Author: Christian Persch Date: Mon Apr 9 10:55:04 2018 +0200 diff -Nru vte2.91-0.52.1/config.h.in vte2.91-0.52.2/config.h.in --- vte2.91-0.52.1/config.h.in 2018-04-09 21:44:54.000000000 +0000 +++ vte2.91-0.52.2/config.h.in 2018-05-21 19:32:16.000000000 +0000 @@ -214,7 +214,7 @@ /* The default value $TERM is set to. */ #undef VTE_DEFAULT_TERM -/* Define to 1 to enable gnutls support */ +/* Define to 1 to enable GnuTLS support */ #undef WITH_GNUTLS /* Enable large inode numbers on Mac OS X 10.5. */ diff -Nru vte2.91-0.52.1/configure vte2.91-0.52.2/configure --- vte2.91-0.52.1/configure 2018-04-09 21:44:53.000000000 +0000 +++ vte2.91-0.52.2/configure 2018-05-21 19:32:15.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for vte 0.52.1. +# Generated by GNU Autoconf 2.69 for vte 0.52.2. # # Report bugs to . # @@ -651,8 +651,8 @@ # Identity of this package. PACKAGE_NAME='vte' PACKAGE_TARNAME='vte' -PACKAGE_VERSION='0.52.1' -PACKAGE_STRING='vte 0.52.1' +PACKAGE_VERSION='0.52.2' +PACKAGE_STRING='vte 0.52.2' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=vte' PACKAGE_URL='' @@ -1571,7 +1571,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures vte 0.52.1 to adapt to many kinds of systems. +\`configure' configures vte 0.52.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1642,7 +1642,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of vte 0.52.1:";; + short | recursive ) echo "Configuration of vte 0.52.2:";; esac cat <<\_ACEOF @@ -1689,7 +1689,7 @@ --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). - --without-gnutls Disable gnutls support + --without-gnutls Disable GnuTLS support --with-html-dir=PATH path to installed docs Some influential environment variables: @@ -1801,7 +1801,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -vte configure 0.52.1 +vte configure 0.52.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2337,7 +2337,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by vte $as_me 0.52.1, which was +It was created by vte $as_me 0.52.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3206,7 +3206,7 @@ # Define the identity of the package. PACKAGE='vte' - VERSION='0.52.1' + VERSION='0.52.2' cat >>confdefs.h <<_ACEOF @@ -3435,7 +3435,7 @@ -LT_VERSION_INFO="5200:1:5200" +LT_VERSION_INFO="5200:2:5200" ################################################################################ @@ -19437,8 +19437,8 @@ # GNUTLS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gnutls support is requested" >&5 -$as_echo_n "checking whether gnutls support is requested... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GnuTLS support is requested" >&5 +$as_echo_n "checking whether GnuTLS support is requested... " >&6; } # Check whether --with-gnutls was given. if test "${with_gnutls+set}" = set; then : @@ -21421,7 +21421,7 @@ VTE_MINOR_VERSION=52 -VTE_MICRO_VERSION=1 +VTE_MICRO_VERSION=2 @@ -22037,7 +22037,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by vte $as_me 0.52.1, which was +This file was extended by vte $as_me 0.52.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22103,7 +22103,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -vte config.status 0.52.1 +vte config.status 0.52.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -24107,7 +24107,7 @@ ## -------------- ## Configuration for libvte $VERSION for gtk+-$GTK_API_VERSION - GNUTLS: $with_gnutls + GnuTLS: $with_gnutls Installing Glade catalogue: $enable_glade_catalogue Debugging: $enable_debug Introspection: $enable_introspection diff -Nru vte2.91-0.52.1/configure.ac vte2.91-0.52.2/configure.ac --- vte2.91-0.52.1/configure.ac 2018-04-09 21:44:08.000000000 +0000 +++ vte2.91-0.52.2/configure.ac 2018-05-21 19:31:53.000000000 +0000 @@ -1,6 +1,6 @@ m4_define([version_major],0) m4_define([version_minor],52) -m4_define([version_micro],1) +m4_define([version_micro],2) m4_define([version_triplet],version_major.version_minor.version_micro) AC_PREREQ([2.63]) @@ -254,9 +254,9 @@ # GNUTLS -AC_MSG_CHECKING([whether gnutls support is requested]) +AC_MSG_CHECKING([whether GnuTLS support is requested]) AC_ARG_WITH([gnutls], - [AS_HELP_STRING([--without-gnutls],[Disable gnutls support])], + [AS_HELP_STRING([--without-gnutls],[Disable GnuTLS support])], [],[with_gnutls=yes]) AC_MSG_RESULT([$with_gnutls]) @@ -264,7 +264,7 @@ if test "$with_gnutls" = "yes"; then GNUTLS_PKGS="gnutls >= $GNUTLS_REQUIRED" - AC_DEFINE([WITH_GNUTLS],[1],[Define to 1 to enable gnutls support]) + AC_DEFINE([WITH_GNUTLS],[1],[Define to 1 to enable GnuTLS support]) fi AM_CONDITIONAL([WITH_GNUTLS],[test "$with_gnutls" = "yes"]) @@ -460,7 +460,7 @@ ## -------------- ## Configuration for libvte $VERSION for gtk+-$GTK_API_VERSION - GNUTLS: $with_gnutls + GnuTLS: $with_gnutls Installing Glade catalogue: $enable_glade_catalogue Debugging: $enable_debug Introspection: $enable_introspection diff -Nru vte2.91-0.52.1/debian/changelog vte2.91-0.52.2/debian/changelog --- vte2.91-0.52.1/debian/changelog 2018-04-10 17:58:05.000000000 +0000 +++ vte2.91-0.52.2/debian/changelog 2018-07-16 17:37:09.000000000 +0000 @@ -1,3 +1,52 @@ +vte2.91 (0.52.2-1ubuntu1~18.04.2) bionic; urgency=medium + + * Revert the changes to revert-pcre2.patch in the previous SRU since they + introduced API incompatibilies which aren't OK in an SRU (LP: #1780501). + + -- Iain Lane Mon, 16 Jul 2018 18:37:09 +0100 + +vte2.91 (0.52.2-1ubuntu1~18.04.1) bionic; urgency=medium + + * debian/{gbp.conf,control{,.in}}: Update for bionic. + * Backport from cosmic to bionic. + + -- Iain Lane Wed, 30 May 2018 13:19:02 +0100 + +vte2.91 (0.52.2-1ubuntu1) cosmic; urgency=medium + + [ Iain Lane ] + * Merge with Debian. Remaining changes: + - debian/rules: + + Use --without-pcre2 + - Add revert-pcre2.patch: + + Revert changes that require PCRE2 since it's not in main + (see MIR #163666) + - Add 91_keep_fds.patch since gdebi still requires it (LP: #1756238) + - 0001-Add-the-style-context-provider-with-FALLBACK-priorit.patch: + + Keep as it is required for the Ubuntu theming + * debian/gbp.conf: Update for Ubuntu + + [ Rico Tzschichholz ] + * revert-pcre2.patch: + - Don't revert unrelated g-i annotation changes to avoid unnecessary + gir/vapi API changes compared to upstream (LP: #1765389) + * revert-pcre2.patch: Refresh, fix a conflict. + * debian/control{,.in}: Update Vcs-* for LP git + + -- Iain Lane Wed, 30 May 2018 13:09:28 +0100 + +vte2.91 (0.52.2-1) unstable; urgency=medium + + [ Iain Lane ] + * New upstream release 0.52.2 (LP: #1774167): + + [5966e8b] ring: Proper boundary checking for hyperlink position. + This fixes a rare crash around hyperlinks in a non grid aligned VTE + widget when the mouse enters the extra padding at the bottom. (LP: + #1772506) + + [7322c27] all: Fix spelling + + -- Iain Lane Wed, 30 May 2018 11:57:52 +0100 + vte2.91 (0.52.1-1ubuntu1) bionic; urgency=medium * Sync with Debian. Remaining changes: diff -Nru vte2.91-0.52.1/debian/control vte2.91-0.52.2/debian/control --- vte2.91-0.52.1/debian/control 2018-04-10 17:58:05.000000000 +0000 +++ vte2.91-0.52.2/debian/control 2018-07-16 17:37:09.000000000 +0000 @@ -7,7 +7,7 @@ Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian GNOME Maintainers -Uploaders: Jeremy Bicha , Michael Biebl +Uploaders: Iain Lane , Jeremy Bicha Build-Depends: debhelper (>= 11), gnome-pkg-tools (>= 0.10), libglib2.0-dev (>= 2.40.0), @@ -25,8 +25,8 @@ valac (>= 0.31.1) Build-Depends-Indep: libglib2.0-doc, libgtk-3-doc, libatk1.0-doc Standards-Version: 4.1.4 -Vcs-Bzr: lp:~ubuntu-desktop/vte/ubuntu-vte2.91 -Vcs-Browser: https://code.launchpad.net/~ubuntu-desktop/vte/ubuntu-vte2.91 +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/vte2.91/+git/vte2.91/+ref/ubuntu/bionic +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/vte2.91 -b ubuntu/bionic XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/vte2.91 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/vte2.91.git Homepage: https://wiki.gnome.org/Apps/Terminal/VTE diff -Nru vte2.91-0.52.1/debian/control.in vte2.91-0.52.2/debian/control.in --- vte2.91-0.52.1/debian/control.in 2018-04-10 17:58:05.000000000 +0000 +++ vte2.91-0.52.2/debian/control.in 2018-07-16 17:37:09.000000000 +0000 @@ -21,8 +21,8 @@ valac (>= 0.31.1) Build-Depends-Indep: libglib2.0-doc, libgtk-3-doc, libatk1.0-doc Standards-Version: 4.1.4 -Vcs-Bzr: lp:~ubuntu-desktop/vte/ubuntu-vte2.91 -Vcs-Browser: https://code.launchpad.net/~ubuntu-desktop/vte/ubuntu-vte2.91 +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/vte2.91/+git/vte2.91/+ref/ubuntu/bionic +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/vte2.91 -b ubuntu/bionic XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/vte2.91 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/vte2.91.git Homepage: https://wiki.gnome.org/Apps/Terminal/VTE diff -Nru vte2.91-0.52.1/debian/gbp.conf vte2.91-0.52.2/debian/gbp.conf --- vte2.91-0.52.1/debian/gbp.conf 2018-04-10 17:58:05.000000000 +0000 +++ vte2.91-0.52.2/debian/gbp.conf 2018-07-16 17:37:09.000000000 +0000 @@ -1,5 +1,6 @@ [DEFAULT] pristine-tar = True -debian-branch = debian/master -upstream-branch = upstream/latest +debian-branch = ubuntu/bionic +upstream-branch = upstream/0.52.x upstream-vcs-tag = %(version)s +debian-tag = ubuntu/%(version)s diff -Nru vte2.91-0.52.1/debian/patches/revert-pcre2.patch vte2.91-0.52.2/debian/patches/revert-pcre2.patch --- vte2.91-0.52.1/debian/patches/revert-pcre2.patch 2018-04-10 17:58:05.000000000 +0000 +++ vte2.91-0.52.2/debian/patches/revert-pcre2.patch 2018-07-16 17:37:09.000000000 +0000 @@ -15,11 +15,11 @@ src/vteregexinternal.hh | 10 +- 9 files changed, 669 insertions(+), 241 deletions(-) -diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am -index 208d118..07ef304 100644 +Index: b/bindings/vala/Makefile.am +=================================================================== --- a/bindings/vala/Makefile.am +++ b/bindings/vala/Makefile.am -@@ -73,6 +73,10 @@ if HAVE_GTK_3_16 +@@ -73,6 +73,10 @@ app_valaflags += -D GTK_3_16 endif @@ -30,11 +30,11 @@ CLEANFILES += \ app.c \ appresources.c \ -diff --git a/bindings/vala/app.vala b/bindings/vala/app.vala -index 8663d63..c522d60 100644 +Index: b/bindings/vala/app.vala +=================================================================== --- a/bindings/vala/app.vala +++ b/bindings/vala/app.vala -@@ -36,8 +36,12 @@ class SearchPopover : Gtk.Popover +@@ -36,8 +36,12 @@ [GtkChild] private Gtk.Revealer revealer; private bool regex_caseless = false; @@ -48,7 +48,7 @@ public SearchPopover(Vte.Terminal term, Gtk.Widget relative_to) -@@ -69,7 +73,11 @@ class SearchPopover : Gtk.Popover +@@ -69,7 +73,11 @@ private bool have_regex() { @@ -61,7 +61,7 @@ } private void update_sensitivity() -@@ -85,14 +93,18 @@ class SearchPopover : Gtk.Popover +@@ -85,14 +93,18 @@ string search_text; string pattern = null; bool caseless = false; @@ -80,7 +80,7 @@ } else { pattern = GLib.Regex.escape_string(search_text); } -@@ -101,20 +113,25 @@ class SearchPopover : Gtk.Popover +@@ -101,20 +113,25 @@ pattern = "\\b" + pattern + "\\b"; if (caseless == regex_caseless && @@ -107,7 +107,7 @@ regex = new Vte.Regex.for_search(pattern, pattern.length, flags); try { -@@ -124,13 +141,16 @@ class SearchPopover : Gtk.Popover +@@ -124,13 +141,16 @@ if (e.code != -45 /* PCRE2_ERROR_JIT_BADOPTION */) /* JIT not supported */ printerr("JITing regex \"%s\" failed: %s\n", pattern, e.message); } @@ -127,7 +127,7 @@ gregex = new GLib.Regex(pattern, flags, 0); } -@@ -138,23 +158,26 @@ class SearchPopover : Gtk.Popover +@@ -138,23 +158,26 @@ regex_pattern = pattern; search_entry.set_tooltip_text(null); } catch (Error e) { @@ -159,7 +159,7 @@ update_sensitivity(); } -@@ -374,7 +397,7 @@ class Window : Gtk.ApplicationWindow +@@ -374,7 +397,7 @@ for (int i = 0; i < dingus.length; ++i) { try { int tag; @@ -168,7 +168,7 @@ if (!App.Options.no_pcre) { Vte.Regex regex; -@@ -389,7 +412,9 @@ class Window : Gtk.ApplicationWindow +@@ -389,7 +412,9 @@ } tag = terminal.match_add_regex(regex, 0); @@ -179,11 +179,11 @@ GLib.Regex regex; regex = new GLib.Regex(dingus[i], -diff --git a/configure.ac b/configure.ac -index 9ce10e6..14926c5 100644 +Index: b/configure.ac +=================================================================== --- a/configure.ac +++ b/configure.ac -@@ -283,6 +283,26 @@ fi +@@ -283,6 +283,26 @@ AM_CONDITIONAL([WITH_GNUTLS],[test "$with_gnutls" = "yes"]) @@ -210,7 +210,7 @@ # GLIB tools AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal]) -@@ -320,7 +340,7 @@ AC_CHECK_FUNCS([ceil floor round]) +@@ -320,7 +340,7 @@ # Search for the required modules. @@ -219,16 +219,16 @@ PKG_CHECK_MODULES([VTE],[$VTE_PKGS]) AC_SUBST([VTE_PKGS]) -@@ -475,6 +495,7 @@ cat < -@@ -57,7 +59,9 @@ public: +@@ -57,7 +59,9 @@ gboolean object_notifications{false}; gboolean reverse{false}; gboolean test_mode{false}; @@ -251,7 +251,7 @@ gboolean version{false}; gboolean whole_window_transparent{false}; bool bg_color_set{false}; -@@ -363,8 +367,10 @@ public: +@@ -363,8 +367,10 @@ "Specify a font to use", nullptr }, { "foreground-color", 0, 0, G_OPTION_ARG_CALLBACK, (void*)parse_fg_color, "Set default foreground color", nullptr }, @@ -262,7 +262,7 @@ { "geometry", 'g', 0, G_OPTION_ARG_STRING, &geometry, "Set the size (in characters) and position", "GEOMETRY" }, { "highlight-background-color", 0, 0, G_OPTION_ARG_CALLBACK, (void*)parse_hl_bg_color, -@@ -513,6 +519,7 @@ compile_gregex(char const* pattern, +@@ -513,6 +519,7 @@ return g_regex_new(pattern, flags, GRegexMatchFlags(0), error); } @@ -270,7 +270,7 @@ static void jit_regex(VteRegex* regex, char const* pattern) -@@ -557,6 +564,7 @@ compile_regex_for_match(char const* pattern, +@@ -557,6 +564,7 @@ return regex; } @@ -278,7 +278,7 @@ /* search popover */ -@@ -644,17 +652,23 @@ vteapp_search_popover_update_regex(VteappSearchPopover* popover) +@@ -644,17 +652,23 @@ if (search_text[0] != '\0') { GError* error = nullptr; @@ -304,7 +304,7 @@ if (error == nullptr) { popover->has_regex = true; -@@ -970,20 +984,26 @@ vteapp_window_add_dingus(VteappWindow* window, +@@ -970,20 +984,26 @@ for (auto i = 0; dingus[i] != nullptr; i++) { int tag = -1; GError* error = nullptr; @@ -333,7 +333,7 @@ if (error != nullptr) { verbose_printerr("Failed to compile regex \"%s\": %s\n", dingus[i], error->message); -@@ -1431,20 +1451,26 @@ vteapp_window_show_context_menu(VteappWindow* window, +@@ -1431,20 +1451,26 @@ /* Test extra match API */ char* extra_match = nullptr; @@ -362,11 +362,11 @@ if (extra_match != nullptr) { verbose_print("\\d+ match: %s\n", extra_match); -diff --git a/src/vte.cc b/src/vte.cc -index aa41095..f2138b8 100644 +Index: b/src/vte.cc +=================================================================== --- a/src/vte.cc +++ b/src/vte.cc -@@ -1057,10 +1057,14 @@ regex_match_clear_cursor (struct vte_match_regex *regex) +@@ -1057,10 +1057,14 @@ static void regex_and_flags_clear(struct vte_regex_and_flags *regex) { @@ -384,7 +384,7 @@ } static void -@@ -1156,6 +1160,9 @@ VteTerminalPrivate::regex_match_add(struct vte_match_regex *new_regex_match) +@@ -1156,6 +1160,9 @@ struct vte_match_regex *regex_match; guint ret, len; @@ -394,7 +394,7 @@ /* Search for a hole. */ len = m_match_regexes->len; for (ret = 0; ret < len; ret++) { -@@ -1368,6 +1375,8 @@ VteTerminalPrivate::match_rowcol_to_offset(vte::grid::column_t column, +@@ -1368,6 +1375,8 @@ return true; } @@ -403,7 +403,7 @@ /* creates a pcre match context with appropriate limits */ pcre2_match_context_8 * VteTerminalPrivate::create_match_context() -@@ -1539,9 +1548,11 @@ VteTerminalPrivate::match_check_internal_pcre(vte::grid::column_t column, +@@ -1539,9 +1548,11 @@ continue; } @@ -417,7 +417,7 @@ sattr, eattr, offset, &dingu_match, start, end, -@@ -1586,6 +1597,180 @@ VteTerminalPrivate::match_check_internal_pcre(vte::grid::column_t column, +@@ -1586,6 +1597,180 @@ return dingu_match; } @@ -598,7 +598,7 @@ /* * vte_terminal_match_check_internal: * @terminal: -@@ -1621,7 +1806,14 @@ VteTerminalPrivate::match_check_internal(vte::grid::column_t column, +@@ -1621,7 +1806,14 @@ *start = 0; *end = 0; @@ -614,7 +614,7 @@ } char * -@@ -1852,6 +2044,7 @@ VteTerminalPrivate::regex_match_check_extra(GdkEvent *event, +@@ -1852,6 +2044,7 @@ guint32 match_flags, char **matches) { @@ -622,11 +622,10 @@ gsize offset, sattr, eattr; pcre2_match_data_8 *match_data; pcre2_match_context_8 *match_context; -@@ -1900,6 +2093,58 @@ VteTerminalPrivate::regex_match_check_extra(GdkEvent *event, - pcre2_match_data_free_8(match_data); +@@ -1901,6 +2094,58 @@ pcre2_match_context_free_8(match_context); -+ return any_matches; + return any_matches; +#else + return false; +#endif @@ -678,10 +677,11 @@ + matches[i] = nullptr; + } + - return any_matches; ++ return any_matches; } -@@ -8200,6 +8445,7 @@ VteTerminalPrivate::VteTerminalPrivate(VteTerminal *t) : + /* Emit an adjustment changed signal on our adjustment object. */ +@@ -8163,6 +8408,7 @@ save_cursor(&m_alternate_screen); /* Matching data. */ @@ -689,7 +689,7 @@ m_match_regexes = g_array_new(FALSE, TRUE, sizeof(struct vte_match_regex)); m_match_tag = -1; -@@ -8207,8 +8453,7 @@ VteTerminalPrivate::VteTerminalPrivate(VteTerminal *t) : +@@ -8170,8 +8416,7 @@ match_hilite_clear(); // FIXMEchpe unnecessary /* Search data */ @@ -699,7 +699,7 @@ /* Rendering data */ m_draw = _vte_draw_new(); -@@ -11328,6 +11573,8 @@ VteTerminalPrivate::write_contents_sync (GOutputStream *stream, +@@ -11278,6 +11523,8 @@ /* TODO Add properties & signals */ @@ -708,7 +708,7 @@ /* * VteTerminalPrivate::search_set_regex: * @regex: (allow-none): a #VteRegex, or %nullptr -@@ -11343,15 +11590,50 @@ VteTerminalPrivate::search_set_regex (VteRegex *regex, +@@ -11293,15 +11540,50 @@ rx = &m_search_regex; @@ -764,7 +764,7 @@ } invalidate_all(); -@@ -11370,8 +11652,11 @@ VteTerminalPrivate::search_set_wrap_around(bool wrap) +@@ -11320,8 +11602,11 @@ } bool @@ -777,7 +777,7 @@ vte::grid::row_t start_row, vte::grid::row_t end_row, bool backward) -@@ -11389,45 +11674,71 @@ VteTerminalPrivate::search_rows(pcre2_match_context_8 *match_context, +@@ -11339,45 +11624,71 @@ false /* include trailing whitespace */, /* FIXMEchpe maybe do include it since the match may depend on it? */ nullptr); @@ -802,7 +802,14 @@ + match_fn = pcre2_jit_match_8; + else + match_fn = pcre2_match_8; -+ + +- r = match_fn(_vte_regex_get_pcre(m_search_regex.regex), +- (PCRE2_SPTR8)row_text->str, row_text->len , /* subject, length */ +- 0, /* start offset */ +- m_search_regex.match_flags | +- PCRE2_NO_UTF_CHECK | PCRE2_NOTEMPTY | PCRE2_PARTIAL_SOFT /* FIXME: HARD? */, +- match_data, +- match_context); + r = match_fn(_vte_regex_get_pcre(m_search_regex.pcre.regex), + (PCRE2_SPTR8)row_text->str, row_text->len , /* subject, length */ + 0, /* start offset */ @@ -817,19 +824,6 @@ + if (r < 0) + return false; -- r = match_fn(_vte_regex_get_pcre(m_search_regex.regex), -- (PCRE2_SPTR8)row_text->str, row_text->len , /* subject, length */ -- 0, /* start offset */ -- m_search_regex.match_flags | -- PCRE2_NO_UTF_CHECK | PCRE2_NOTEMPTY | PCRE2_PARTIAL_SOFT /* FIXME: HARD? */, -- match_data, -- match_context); -+ ovector = pcre2_get_ovector_pointer_8(match_data); -+ so = ovector[0]; -+ eo = ovector[1]; -+ if (G_UNLIKELY(so == PCRE2_UNSET || eo == PCRE2_UNSET)) -+ return false; - - if (r == PCRE2_ERROR_NOMATCH) { - g_string_free (row_text, TRUE); - return false; @@ -839,13 +833,11 @@ - g_string_free (row_text, TRUE); - return false; - } -+ start = so; -+ end = eo; -+ } else -+#endif /* WITH_PCRE2 */ -+ { -+ GMatchInfo *match_info; -+ GError *error = NULL; ++ ovector = pcre2_get_ovector_pointer_8(match_data); ++ so = ovector[0]; ++ eo = ovector[1]; ++ if (G_UNLIKELY(so == PCRE2_UNSET || eo == PCRE2_UNSET)) ++ return false; - ovector = pcre2_get_ovector_pointer_8(match_data); - so = ovector[0]; @@ -854,6 +846,14 @@ - g_string_free (row_text, TRUE); - return false; - } ++ start = so; ++ end = eo; ++ } else ++#endif /* WITH_PCRE2 */ ++ { ++ GMatchInfo *match_info; ++ GError *error = NULL; ++ + g_assert_cmpint(m_search_regex.mode, ==, VTE_REGEX_GREGEX); + + g_regex_match_full (m_search_regex.gregex.regex, row_text->str, row_text->len, 0, @@ -872,18 +872,18 @@ + g_string_free (row_text, TRUE); + return false; + } ++ ++ /* This gives us the offset in the buffer */ ++ g_match_info_fetch_pos (match_info, 0, &start, &end); - start = so; - end = eo; -+ /* This gives us the offset in the buffer */ -+ g_match_info_fetch_pos (match_info, 0, &start, &end); -+ + g_match_info_free (match_info); + } /* Fetch text again, with attributes */ g_string_free(row_text, TRUE); -@@ -11466,8 +11777,11 @@ VteTerminalPrivate::search_rows(pcre2_match_context_8 *match_context, +@@ -11416,8 +11727,11 @@ } bool @@ -896,7 +896,7 @@ vte::grid::row_t start_row, vte::grid::row_t end_row, bool backward) -@@ -11485,8 +11799,11 @@ VteTerminalPrivate::search_rows_iter(pcre2_match_context_8 *match_context, +@@ -11435,8 +11749,11 @@ row = find_row_data(iter_start_row); } while (row && row->attr.soft_wrapped); @@ -910,7 +910,7 @@ return true; } } else { -@@ -11499,8 +11816,11 @@ VteTerminalPrivate::search_rows_iter(pcre2_match_context_8 *match_context, +@@ -11449,8 +11766,11 @@ iter_end_row++; } while (row && row->attr.soft_wrapped); @@ -924,7 +924,7 @@ return true; } } -@@ -11514,17 +11834,25 @@ VteTerminalPrivate::search_find (bool backward) +@@ -11464,17 +11784,25 @@ vte::grid::row_t buffer_start_row, buffer_end_row; vte::grid::row_t last_start_row, last_end_row; bool match_found = true; @@ -954,7 +954,7 @@ buffer_start_row = _vte_ring_delta (m_screen->row_data); buffer_end_row = _vte_ring_next (m_screen->row_data); -@@ -11542,12 +11870,18 @@ VteTerminalPrivate::search_find (bool backward) +@@ -11492,12 +11820,18 @@ /* If search fails, we make an empty selection at the last searched * position... */ if (backward) { @@ -977,7 +977,7 @@ goto found; if (m_has_selection) { if (m_search_wrap_around) -@@ -11557,12 +11891,18 @@ VteTerminalPrivate::search_find (bool backward) +@@ -11507,12 +11841,18 @@ } match_found = false; } else { @@ -1000,7 +1000,7 @@ goto found; if (m_has_selection) { if (m_search_wrap_around) -@@ -11575,8 +11915,12 @@ VteTerminalPrivate::search_find (bool backward) +@@ -11525,8 +11865,12 @@ found: @@ -1015,24 +1015,24 @@ return match_found; } -diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index fd3ea2b..8708d55 100644 +Index: b/src/vtegtk.cc +=================================================================== --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -1687,6 +1687,12 @@ vte_get_features (void) - "+GNUTLS" +@@ -1679,6 +1679,12 @@ #else "-GNUTLS" -+#endif + #endif + " " +#ifdef WITH_PCRE2 + "+PCRE2" +#else + "-PCRE2" - #endif ++#endif ; } -@@ -1888,7 +1894,7 @@ vte_terminal_paste_primary(VteTerminal *terminal) + +@@ -1879,7 +1885,7 @@ * this expression, the text will be highlighted. * * Returns: an integer associated with this expression, or -1 if @gregex could not be @@ -1041,7 +1041,7 @@ * * Deprecated: 0.46: Use vte_terminal_match_add_regex() or vte_terminal_match_add_regex_full() instead. */ -@@ -1897,16 +1903,24 @@ vte_terminal_match_add_gregex(VteTerminal *terminal, +@@ -1888,16 +1894,24 @@ GRegex *gregex, GRegexMatchFlags gflags) { @@ -1053,14 +1053,15 @@ - auto regex = _vte_regex_new_gregex(VteRegexPurpose::match, gregex); - if (regex == NULL) - return -1; -+ auto impl = IMPL(terminal); -+ /* Can't mix GRegex and PCRE2 */ -+ g_return_val_if_fail(impl->m_match_regex_mode != VTE_REGEX_PCRE2, -1); - +- - auto rv = vte_terminal_match_add_regex(terminal, regex, - _vte_regex_translate_gregex_match_flags(gflags)); - vte_regex_unref(regex); - return rv; ++ auto impl = IMPL(terminal); ++ /* Can't mix GRegex and PCRE2 */ ++ g_return_val_if_fail(impl->m_match_regex_mode != VTE_REGEX_PCRE2, -1); ++ + g_warn_if_fail(g_regex_get_compile_flags(gregex) & G_REGEX_MULTILINE); + + new_regex_match.regex.mode = VTE_REGEX_GREGEX; @@ -1073,7 +1074,7 @@ } /** -@@ -1933,12 +1947,14 @@ vte_terminal_match_add_regex(VteTerminal *terminal, +@@ -1924,12 +1938,14 @@ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1); g_return_val_if_fail(regex != NULL, -1); g_return_val_if_fail(_vte_regex_has_purpose(regex, VteRegexPurpose::match), -1); @@ -1091,7 +1092,7 @@ new_regex_match.cursor_mode = VTE_REGEX_CURSOR_GDKCURSORTYPE; new_regex_match.cursor.cursor_type = VTE_DEFAULT_CURSOR; -@@ -2057,10 +2073,8 @@ vte_terminal_event_check_regex_simple(VteTerminal *terminal, +@@ -2048,10 +2064,8 @@ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE); g_return_val_if_fail(event != NULL, FALSE); g_return_val_if_fail(regexes != NULL || n_regexes == 0, FALSE); @@ -1103,7 +1104,7 @@ g_return_val_if_fail(matches != NULL, FALSE); return IMPL(terminal)->regex_match_check_extra(event, regexes, n_regexes, match_flags, matches); -@@ -2075,9 +2089,12 @@ vte_terminal_event_check_regex_simple(VteTerminal *terminal, +@@ -2066,9 +2080,12 @@ * @match_flags: the #GRegexMatchFlags to use when matching the regexes * @matches: (out caller-allocates) (array length=n_regexes): a location to store the matches * @@ -1118,7 +1119,7 @@ * * Since: 0.44 * Deprecated: 0.46: Use vte_terminal_event_check_regex_simple() instead. -@@ -2095,7 +2112,7 @@ vte_terminal_event_check_gregex_simple(VteTerminal *terminal, +@@ -2086,7 +2103,7 @@ g_return_val_if_fail(regexes != NULL || n_regexes == 0, FALSE); g_return_val_if_fail(matches != NULL, FALSE); @@ -1127,7 +1128,7 @@ } /** -@@ -2192,7 +2209,7 @@ vte_terminal_match_remove_all(VteTerminal *terminal) +@@ -2183,7 +2200,7 @@ * @terminal: a #VteTerminal * * Searches the previous string matching the search regex set with @@ -1136,7 +1137,7 @@ * * Returns: %TRUE if a match was found */ -@@ -2208,7 +2225,7 @@ vte_terminal_search_find_previous (VteTerminal *terminal) +@@ -2199,7 +2216,7 @@ * @terminal: a #VteTerminal * * Searches the next string matching the search regex set with @@ -1145,7 +1146,7 @@ * * Returns: %TRUE if a match was found */ -@@ -2234,11 +2251,12 @@ vte_terminal_search_set_regex (VteTerminal *terminal, +@@ -2225,11 +2242,12 @@ VteRegex *regex, guint32 flags) { @@ -1160,7 +1161,7 @@ } /** -@@ -2255,7 +2273,10 @@ vte_terminal_search_get_regex(VteTerminal *terminal) +@@ -2246,7 +2264,10 @@ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); auto impl = IMPL(terminal); @@ -1172,7 +1173,7 @@ } /** -@@ -2273,22 +2294,16 @@ vte_terminal_search_set_gregex (VteTerminal *terminal, +@@ -2264,22 +2285,16 @@ GRegex *gregex, GRegexMatchFlags gflags) { @@ -1198,7 +1199,7 @@ * * Deprecated: 0.46: use vte_terminal_search_get_regex() instead. */ -@@ -2297,7 +2312,11 @@ vte_terminal_search_get_gregex (VteTerminal *terminal) +@@ -2288,7 +2303,11 @@ { g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); @@ -1211,7 +1212,7 @@ } /** -@@ -2712,7 +2731,7 @@ vte_terminal_spawn_async(VteTerminal *terminal, +@@ -2703,7 +2722,7 @@ /** * vte_terminal_feed: * @terminal: a #VteTerminal @@ -1220,7 +1221,7 @@ * @length: the length of the string, or -1 to use the full length or a nul-terminated string * * Interprets @data as if it were data received from a child process. This -@@ -2733,7 +2752,7 @@ vte_terminal_feed(VteTerminal *terminal, +@@ -2724,7 +2743,7 @@ /** * vte_terminal_feed_child: * @terminal: a #VteTerminal @@ -1229,7 +1230,7 @@ * @length: length of @text in bytes, or -1 if @text is NUL-terminated * * Sends a block of UTF-8 text to the child as if it were entered by the user -@@ -2753,7 +2772,7 @@ vte_terminal_feed_child(VteTerminal *terminal, +@@ -2744,7 +2763,7 @@ /** * vte_terminal_feed_child_binary: * @terminal: a #VteTerminal @@ -1238,8 +1239,6 @@ * @length: length of @data * * Sends a block of binary data to the child. -diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index ec43466..8572562 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh @@ -28,8 +28,16 @@ @@ -1259,7 +1258,7 @@ typedef enum { VTE_REGEX_CURSOR_GDKCURSOR, -@@ -48,8 +56,17 @@ typedef enum { +@@ -48,8 +56,17 @@ } MouseTrackingMode; struct vte_regex_and_flags { @@ -1279,7 +1278,7 @@ }; /* A match regex, with a tag. */ -@@ -553,6 +570,7 @@ public: +@@ -553,6 +570,7 @@ /* State variables for handling match checks. */ char* m_match_contents; GArray* m_match_attributes; @@ -1287,7 +1286,7 @@ GArray* m_match_regexes; char* m_match; int m_match_tag; -@@ -1127,6 +1145,11 @@ public: +@@ -1123,6 +1141,11 @@ gsize n_regexes, guint32 match_flags, char **matches); @@ -1299,7 +1298,7 @@ int regex_match_add(struct vte_match_regex *new_regex_match); struct vte_match_regex *regex_match_get(int tag); -@@ -1148,7 +1171,7 @@ public: +@@ -1144,7 +1167,7 @@ gsize *offset_ptr, gsize *sattr_ptr, gsize *eattr_ptr); @@ -1308,7 +1307,7 @@ pcre2_match_context_8 *create_match_context(); bool match_check_pcre(pcre2_match_data_8 *match_data, pcre2_match_context_8 *match_context, -@@ -1167,6 +1190,22 @@ public: +@@ -1163,6 +1186,22 @@ int *tag, gsize *start, gsize *end); @@ -1331,7 +1330,7 @@ char *match_check_internal(vte::grid::column_t column, vte::grid::row_t row, -@@ -1188,16 +1227,26 @@ public: +@@ -1184,16 +1223,26 @@ void feed_focus_event_initial(); void maybe_feed_focus_event(bool in); @@ -1360,8 +1359,8 @@ vte::grid::row_t start_row, vte::grid::row_t end_row, bool backward); -diff --git a/src/vteregex.cc b/src/vteregex.cc -index d9c4841..672bf02 100644 +Index: b/src/vteregex.cc +=================================================================== --- a/src/vteregex.cc +++ b/src/vteregex.cc @@ -27,48 +27,32 @@ @@ -1425,7 +1424,7 @@ static VteRegex * regex_new(pcre2_code_8 *code, -@@ -104,6 +88,18 @@ set_gerror_from_pcre_error(int errcode, +@@ -104,6 +88,18 @@ return FALSE; } @@ -1444,7 +1443,7 @@ G_DEFINE_BOXED_TYPE(VteRegex, vte_regex, vte_regex_ref, (GBoxedFreeFunc)vte_regex_unref) -@@ -122,8 +118,9 @@ vte_regex_ref(VteRegex *regex) +@@ -122,8 +118,9 @@ { g_return_val_if_fail (regex, NULL); @@ -1455,7 +1454,7 @@ return regex; } -@@ -141,9 +138,10 @@ vte_regex_unref(VteRegex *regex) +@@ -141,9 +138,10 @@ { g_return_val_if_fail (regex, NULL); @@ -1467,7 +1466,7 @@ return NULL; } -@@ -154,6 +152,7 @@ vte_regex_new(VteRegexPurpose purpose, +@@ -154,6 +152,7 @@ guint32 flags, GError **error) { @@ -1475,7 +1474,7 @@ pcre2_code_8 *code; int r, errcode; guint32 v; -@@ -189,66 +188,10 @@ vte_regex_new(VteRegexPurpose purpose, +@@ -189,66 +188,10 @@ } return regex_new(code, purpose); @@ -1546,7 +1545,7 @@ } /** -@@ -329,6 +272,7 @@ VteRegex * +@@ -329,6 +272,7 @@ vte_regex_new_pcre(pcre2_code_8 *code, GError **error) { @@ -1554,7 +1553,7 @@ guint32 flags; g_return_val_if_fail(code != NULL, NULL); -@@ -339,6 +283,10 @@ vte_regex_new_pcre(pcre2_code_8 *code, +@@ -339,6 +283,10 @@ g_return_val_if_fail(flags & PCRE2_NEVER_BACKSLASH_C, NULL); return regex_new(code); @@ -1565,7 +1564,7 @@ } #endif -@@ -349,6 +297,7 @@ _vte_regex_has_purpose(VteRegex *regex, +@@ -349,6 +297,7 @@ return regex->purpose == purpose; } @@ -1573,7 +1572,7 @@ /* * _vte_regex_get_pcre: * @regex: a #VteRegex -@@ -359,10 +308,15 @@ _vte_regex_has_purpose(VteRegex *regex, +@@ -359,10 +308,15 @@ const pcre2_code_8 * _vte_regex_get_pcre(VteRegex *regex) { @@ -1589,7 +1588,7 @@ /** * vte_regex_jit: -@@ -377,6 +331,7 @@ vte_regex_jit(VteRegex *regex, +@@ -377,6 +331,7 @@ guint flags, GError **error) { @@ -1597,7 +1596,7 @@ int r; g_return_val_if_fail(regex != NULL, FALSE); -@@ -386,6 +341,9 @@ vte_regex_jit(VteRegex *regex, +@@ -386,6 +341,9 @@ return set_gerror_from_pcre_error(r, error); return TRUE; @@ -1607,7 +1606,7 @@ } /* -@@ -399,6 +357,7 @@ vte_regex_jit(VteRegex *regex, +@@ -399,6 +357,7 @@ gboolean _vte_regex_get_jited(VteRegex *regex) { @@ -1615,7 +1614,7 @@ PCRE2_SIZE s; int r; -@@ -407,20 +366,7 @@ _vte_regex_get_jited(VteRegex *regex) +@@ -407,20 +366,7 @@ r = pcre2_pattern_info_8(regex->code, PCRE2_INFO_JITSIZE, &s); return r == 0 && s != 0; @@ -1639,11 +1638,11 @@ + return FALSE; +#endif } -diff --git a/src/vteregexinternal.hh b/src/vteregexinternal.hh -index 21f43f8..88fb848 100644 +Index: b/src/vteregexinternal.hh +=================================================================== --- a/src/vteregexinternal.hh +++ b/src/vteregexinternal.hh -@@ -27,12 +27,6 @@ gboolean _vte_regex_has_purpose(VteRegex *regex, +@@ -27,12 +27,6 @@ gboolean _vte_regex_get_jited(VteRegex *regex); diff -Nru vte2.91-0.52.1/doc/reference/html/index.html vte2.91-0.52.2/doc/reference/html/index.html --- vte2.91-0.52.1/doc/reference/html/index.html 2018-04-09 21:49:24.000000000 +0000 +++ vte2.91-0.52.2/doc/reference/html/index.html 2018-05-21 19:36:44.000000000 +0000 @@ -15,7 +15,7 @@

- Documentation for VTE version 0.52.1 + Documentation for VTE version 0.52.2 . The latest version of this documentation can be found on-line at the GNOME Library. diff -Nru vte2.91-0.52.1/doc/reference/html/vte-Version-Information.html vte2.91-0.52.2/doc/reference/html/vte-Version-Information.html --- vte2.91-0.52.1/doc/reference/html/vte-Version-Information.html 2018-04-09 21:49:24.000000000 +0000 +++ vte2.91-0.52.2/doc/reference/html/vte-Version-Information.html 2018-05-21 19:36:44.000000000 +0000 @@ -201,7 +201,7 @@


VTE_MICRO_VERSION

-
#define VTE_MICRO_VERSION (1)
+
#define VTE_MICRO_VERSION (2)
 

The micro version number of the VTE library (e.g. in version 3.1.4 this is 4).

diff -Nru vte2.91-0.52.1/doc/reference/version.xml vte2.91-0.52.2/doc/reference/version.xml --- vte2.91-0.52.1/doc/reference/version.xml 2018-04-09 21:45:18.000000000 +0000 +++ vte2.91-0.52.2/doc/reference/version.xml 2018-05-21 19:32:30.000000000 +0000 @@ -1 +1 @@ -0.52.1 +0.52.2 diff -Nru vte2.91-0.52.1/src/ring.cc vte2.91-0.52.2/src/ring.cc --- vte2.91-0.52.1/src/ring.cc 2018-04-09 21:44:08.000000000 +0000 +++ vte2.91-0.52.2/src/ring.cc 2018-05-21 19:31:53.000000000 +0000 @@ -669,7 +669,7 @@ ring->cached_row_num = (gulong) -1; } - if (G_UNLIKELY (position == (gulong) -1 || col == -1)) { + if (G_UNLIKELY (!_vte_ring_contains(ring, position) || col == -1)) { if (update_hover_idx) ring->hyperlink_hover_idx = 0; return 0;