diff -Nru vte2.91-0.58.0/debian/changelog vte2.91-0.58.2/debian/changelog --- vte2.91-0.58.0/debian/changelog 2019-09-12 10:44:50.000000000 +0000 +++ vte2.91-0.58.2/debian/changelog 2019-10-14 08:15:55.000000000 +0000 @@ -1,11 +1,39 @@ +vte2.91 (0.58.2-1ubuntu2) eoan; urgency=medium + + * No-change rebuild to avoid ABI dependency on now-removed glib2.0 + + -- Adam Conrad Mon, 14 Oct 2019 02:15:55 -0600 + +vte2.91 (0.58.2-1ubuntu1) eoan; urgency=medium + + * Merge with Debian (LP: #1847850). Remaining changes: + - 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 + + -- Jeremy Bicha Sat, 12 Oct 2019 08:18:36 -0400 + +vte2.91 (0.58.2-1) unstable; urgency=medium + + * New upstream release + + -- Jeremy Bicha Sat, 12 Oct 2019 06:40:57 -0400 + +vte2.91 (0.58.1-1) unstable; urgency=medium + + * New upstream release + - Update Persian translation + - emulation: Ensure the cursor remains onscreen when moving down + - widget: Don't scroll to bottom on keystroke in read-only mode + * Drop obsolete Build-Depends on gnome-pkg-tools + + -- Jeremy Bicha Wed, 09 Oct 2019 20:37:01 -0400 + vte2.91 (0.58.0-1ubuntu1) eoan; urgency=medium * 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 #1636666) - 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 diff -Nru vte2.91-0.58.0/debian/control vte2.91-0.58.2/debian/control --- vte2.91-0.58.0/debian/control 2019-09-12 10:44:50.000000000 +0000 +++ vte2.91-0.58.2/debian/control 2019-10-12 12:18:36.000000000 +0000 @@ -12,8 +12,6 @@ dh-sequence-gnome, dh-sequence-gir, gettext, - gnome-pkg-tools (>= 0.10), - gobject-introspection (>= 0.9.12-4~), gtk-doc-tools, libgirepository1.0-dev (>= 0.9.12), libglib2.0-dev (>= 2.40.0), diff -Nru vte2.91-0.58.0/debian/control.in vte2.91-0.58.2/debian/control.in --- vte2.91-0.58.0/debian/control.in 2019-09-12 10:44:50.000000000 +0000 +++ vte2.91-0.58.2/debian/control.in 2019-10-12 12:18:36.000000000 +0000 @@ -8,8 +8,6 @@ dh-sequence-gnome, dh-sequence-gir, gettext, - gnome-pkg-tools (>= 0.10), - gobject-introspection (>= 0.9.12-4~), gtk-doc-tools, libgirepository1.0-dev (>= 0.9.12), libglib2.0-dev (>= 2.40.0), diff -Nru vte2.91-0.58.0/debian/watch vte2.91-0.58.2/debian/watch --- vte2.91-0.58.0/debian/watch 2019-09-12 10:44:50.000000000 +0000 +++ vte2.91-0.58.2/debian/watch 2019-10-12 12:18:36.000000000 +0000 @@ -1,3 +1,3 @@ version=4 -https://download.gnome.org/sources/vte/([\d\.]+)/ \ - vte@ANY_VERSION@\.tar\.xz +https://download.gnome.org/sources/vte/([\d\.]+[02468])/ \ + vte@ANY_VERSION@@ARCHIVE_EXT@ diff -Nru vte2.91-0.58.0/meson.build vte2.91-0.58.2/meson.build --- vte2.91-0.58.0/meson.build 2019-09-09 19:26:25.000000000 +0000 +++ vte2.91-0.58.2/meson.build 2019-10-11 10:53:07.000000000 +0000 @@ -17,7 +17,7 @@ project( 'vte', ['c', 'cpp'], - version: '0.58.0', + version: '0.58.2', license: ['LGPL-3.0-or-later', 'GPL-3.0-or-later'], default_options: [ 'buildtype=release', diff -Nru vte2.91-0.58.0/po/fa.po vte2.91-0.58.2/po/fa.po --- vte2.91-0.58.0/po/fa.po 2019-09-09 19:26:25.000000000 +0000 +++ vte2.91-0.58.2/po/fa.po 2019-10-11 10:53:07.000000000 +0000 @@ -3,48 +3,45 @@ # Copyright (C) 2010 The IFSUG Translation Group # Roozbeh Pournader , 2003. # Arash Mousavi , 2010, 2015, 2016. +# Danial Behzadi , 2017, 2018, 2019. # msgid "" msgstr "" "Project-Id-Version: vte\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" -"product=vte&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2016-08-15 12:39+0000\n" -"PO-Revision-Date: 2016-09-13 14:55+0430\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/vte/issues\n" +"POT-Creation-Date: 2019-04-14 20:50+0000\n" +"PO-Revision-Date: 2019-09-14 20:51+0000\n" "Last-Translator: Arash Mousavi \n" "Language-Team: Persian\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.9\n" - -#: ../src/iso2022.cc:73 ../src/iso2022.cc:81 ../src/iso2022.cc:111 -#: ../src/vtegtk.cc:3069 -#, c-format -msgid "Unable to convert characters from %s to %s." -msgstr "نمی‌توان نویسه‌ها را از %s به %s تبدیل کرد." +"X-Generator: Poedit 2.2.3\n" #. Translators: %s is replaced with error message returned by strerror(). -#: ../src/vte.cc:4003 +#: src/vte.cc:3928 #, c-format msgid "Error reading from child: %s." msgstr "خطا در خواندن از فرزند: %s." -#: ../src/vte.cc:4142 +#: src/vte.cc:4078 #, c-format msgid "Error (%s) converting data for child, dropping." -msgstr "خطا (%s) در هنگام تبدیل داده برای فرزند. درحال رها کردن." +msgstr "خطا (%s) در تبدیل داده برای فرزند. درحال رها کردن." -#: ../src/vte.cc:7911 +#: src/vte.cc:7889 msgid "WARNING" msgstr "هشدار" -#: ../src/vte.cc:7912 -msgid "GNUTLS not enabled; data will be written to disk unencrypted!" -msgstr "" -"GNUTLS فعال نیست؛ اطلاعات بدون رمزنگاری بر روی دیسک ذخیره خواهند " -"شد!" +#: src/vte.cc:7890 +msgid "GnuTLS not enabled; data will be written to disk unencrypted!" +msgstr "GnuTLS به کارنیفتاده؛ داده‌ها بدون رمزنگاری روی دیسک نوشته خواهند شد!" + +#: src/vtegtk.cc:3653 +#, c-format +msgid "Unable to convert characters from %s to %s." +msgstr "نمی‌توان نویسه‌ها را از %s به %s تبدیل کرد." #~ msgid "Copy" #~ msgstr "رونوشت" @@ -74,14 +71,13 @@ #~ msgstr "عدم امکان ارسال داده به فرزند. مبدل کدگذاری نامعتبر" #~ msgid "Error reading PTY size, using defaults: %s\n" -#~ msgstr "" -#~ "خطا در خواندن اندازه‌ی PTY، درحال استفاده از پیش‌فرض‌ها: %s\n" +#~ msgstr "خطا در خواندن اندازهٔ PTY، درحال استفاده از پیش‌گزیده‌ها: %s\n" #~ msgid "Attempt to set invalid NRC map '%c'." #~ msgstr "تلاش برای تنظیم نامعتبر NRC طرح «%c»." #~ msgid "Unrecognized identified coding system." -#~ msgstr "کدگذاری شناسایی سیستم غیر قابل فهم ." +#~ msgstr "کدگذاری شناسایی سامانه غیر قابل فهم ." #~ msgid "Attempt to set invalid wide NRC map '%c'." #~ msgstr "تلاش برای تنظیم نامعتبر NRC نامحدود طرح «%c»." @@ -90,7 +86,7 @@ #~ msgstr "تکراری (%s/%s)!" #~ msgid "Error compiling regular expression \"%s\"." -#~ msgstr "خطا در ترجمه‌ی عبارت باقاعده‌ی \"%s\"." +#~ msgstr "خطا در ترجمهٔ عبارت باقاعدهٔ \"%s\"." #~ msgid "_vte_conv_open() failed setting word characters" #~ msgstr "‎_vte_conv_open()‎ نتوانست نویسه‌های کلمه را تنظیم کند" @@ -102,13 +98,13 @@ #~ msgstr "خطا در اضافه‌کردن `%s' به محیطِ، ادامه می‌دهیم." #~ msgid "Error setting PTY size: %s." -#~ msgstr "خطا در تنظیم اندازه‌ی PTY: %s." +#~ msgstr "خطا در تنظیم اندازهٔ PTY: %s." #~ msgid "Unknown pixel mode %d.\n" #~ msgstr "حالت نقطه‌ای %d ناشناخته است.\n" #~ msgid "Can not draw character U+%04x.\n" -#~ msgstr "نمی‌توان نویسه‌ی U+%04X‎ را رسم کرد.\n" +#~ msgstr "نمی‌توان نویسهٔ U+%04X‎ را رسم کرد.\n" #~ msgid "Failed to load default Xft font." #~ msgstr "بارکردن قلم پیشفرض Xft شکست خورد." diff -Nru vte2.91-0.58.0/src/pty.cc vte2.91-0.58.2/src/pty.cc --- vte2.91-0.58.0/src/pty.cc 2019-09-09 19:26:25.000000000 +0000 +++ vte2.91-0.58.2/src/pty.cc 2019-10-11 10:53:07.000000000 +0000 @@ -165,12 +165,19 @@ #ifdef __linux__ fd = ioctl(masterfd, TIOCGPTPEER, fd_flags); - if (fd == -1 && errno != EINVAL) { + /* Note: According to the kernel's own tests (tools/testing/selftests/filesystems/devpts_pts.c), + * the error returned when the running kernel does not support this ioctl should be EINVAL. + * However it appears that the actual error returned is ENOTTY. So we check for both of them. + * See issue#182. + */ + if (fd == -1 && + errno != EINVAL && + errno != ENOTTY) { _vte_debug_print(VTE_DEBUG_PTY, "%s failed: %m\n", "ioctl(TIOCGPTPEER)"); _exit(127); } - /* EINVAL means the kernel doesn't support this ioctl; fall back to ptsname + open */ + /* Fall back to ptsname + open */ #endif if (fd == -1) { diff -Nru vte2.91-0.58.0/src/ring.cc vte2.91-0.58.2/src/ring.cc --- vte2.91-0.58.0/src/ring.cc 2019-09-09 19:26:25.000000000 +0000 +++ vte2.91-0.58.2/src/ring.cc 2019-10-11 10:53:07.000000000 +0000 @@ -1096,9 +1096,6 @@ } else records[1].text_start_offset = _vte_stream_head (m_text_stream); - g_assert_cmpuint(offset->text_offset, >=, records[0].text_start_offset); - g_assert_cmpuint(offset->text_offset, <, records[1].text_start_offset); - g_string_set_size (buffer, records[1].text_start_offset - records[0].text_start_offset); if (!_vte_stream_read(m_text_stream, records[0].text_start_offset, buffer->str, buffer->len)) return false; @@ -1106,6 +1103,13 @@ if (G_LIKELY (buffer->len && buffer->str[buffer->len - 1] == '\n')) buffer->len--; + /* Now that we've chopped off the likely trailing newline (which is only rarely missing, + * if the ring ends in a soft wrapped line; see bug 181), the position we're about to + * locate can be anywhere in the string, including just after its last character, + * but not beyond that. */ + g_assert_cmpuint(offset->text_offset, >=, records[0].text_start_offset); + g_assert_cmpuint(offset->text_offset, <=, records[0].text_start_offset + buffer->len); + row = index(position); /* row and buffer now contain the same text, in different representation */ @@ -1113,7 +1117,7 @@ /* count the number of characters for the given UTF-8 text offset */ off = offset->text_offset - records[0].text_start_offset; num_chars = 0; - for (i = 0; i < off && i < buffer->len; i++) { + for (i = 0; i < off; i++) { if ((buffer->str[i] & 0xC0) != 0x80) num_chars++; } diff -Nru vte2.91-0.58.0/src/vte.cc vte2.91-0.58.2/src/vte.cc --- vte2.91-0.58.0/src/vte.cc 2019-09-09 19:26:25.000000000 +0000 +++ vte2.91-0.58.2/src/vte.cc 2019-10-11 10:53:07.000000000 +0000 @@ -2910,8 +2910,9 @@ VteRowData *rowdata = ensure_row(); _vte_row_data_fill (rowdata, &m_color_defaults, m_column_count); } - } else { - /* Otherwise, just move the cursor down. */ + } else if (m_screen->cursor.row < m_screen->insert_delta + m_row_count - 1) { + /* Otherwise, just move the cursor down; unless it's already in the last + * physical row (which is possible with scrolling region, see #176). */ m_screen->cursor.row++; } } @@ -4564,7 +4565,7 @@ feed_child_using_modes(text, -1); /* Committed text was committed because the user pressed a key, so * we need to obey the scroll-on-keystroke setting. */ - if (m_scroll_on_keystroke) { + if (m_scroll_on_keystroke && m_input_enabled) { maybe_scroll_to_bottom(); } } @@ -5242,7 +5243,7 @@ } /* Keep the cursor on-screen. */ if (!scrolled && !modifier && - m_scroll_on_keystroke) { + m_scroll_on_keystroke && m_input_enabled) { maybe_scroll_to_bottom(); } return true;