Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vte for openSUSE:Factory checked in 
at 2026-08-09 21:31:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vte (Old)
 and      /work/SRC/openSUSE:Factory/.vte.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vte"

Sun Aug  9 21:31:44 2026 rev:176 rq:1369841 version:0.84.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/vte/vte.changes  2026-04-10 17:47:39.876582433 
+0200
+++ /work/SRC/openSUSE:Factory/.vte.new.16738/vte.changes       2026-08-09 
21:32:14.159833275 +0200
@@ -1,0 +2,13 @@
+Sun Aug  2 07:22:24 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 0.84.1:
+  * vte.sh: Unify the escape character's notation
+  * vte.sh: Preserve the previous value of PS0
+  * vte.sh: Fix improper escaping in PS0
+  * lib: Unify erase/backspace binding handling
+  * lib: Fix typo in comment
+  * app: Try a XTERM_RQTCAP query when --no-pty
+  * build: simdutf: Update to 8.2.0
+  * app: Add preset option
+
+-------------------------------------------------------------------

Old:
----
  vte-0.84.0.tar.xz

New:
----
  vte-0.84.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vte.spec ++++++
--- /var/tmp/diff_new_pack.iDk1KM/_old  2026-08-09 21:32:16.515913866 +0200
+++ /var/tmp/diff_new_pack.iDk1KM/_new  2026-08-09 21:32:16.531914413 +0200
@@ -27,7 +27,7 @@
 %bcond_with     glade_support
 
 Name:           vte
-Version:        0.84.0
+Version:        0.84.1
 Release:        0
 Summary:        Terminal Emulator Library
 License:        CC-BY-4.0 AND LGPL-3.0-or-later AND GPL-3.0-or-later AND MIT

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.iDk1KM/_old  2026-08-09 21:32:16.799923581 +0200
+++ /var/tmp/diff_new_pack.iDk1KM/_new  2026-08-09 21:32:16.847925222 +0200
@@ -1,6 +1,6 @@
-mtime: 1774020818
-commit: 745f14f9011718d47cce88bf6556fa5f41688d767aa4b157e6e4ac8f7d6d2b6b
+mtime: 1785655608
+commit: f8257ab66d8c3d0e5013ea83c660242a8a38460f8f15b2f1624fc8730e5d03ac
 url: https://src.opensuse.org/GNOME/vte
-revision: 745f14f9011718d47cce88bf6556fa5f41688d767aa4b157e6e4ac8f7d6d2b6b
+revision: f8257ab66d8c3d0e5013ea83c660242a8a38460f8f15b2f1624fc8730e5d03ac
 projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.iDk1KM/_old  2026-08-09 21:32:17.015930969 +0200
+++ /var/tmp/diff_new_pack.iDk1KM/_new  2026-08-09 21:32:17.051932201 +0200
@@ -5,7 +5,7 @@
     <param name="scm">git</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
-    <param name="revision">0.84.0</param>
+    <param name="revision">0.84.1</param>
     <param name="exclude">doc/vttest.*</param>
   </service>
   <service name="tar" mode="manual"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.iDk1KM/_old  2026-08-09 21:32:17.231938358 +0200
+++ /var/tmp/diff_new_pack.iDk1KM/_new  2026-08-09 21:32:17.251939042 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://gitlab.gnome.org/GNOME/vte.git</param>
-              <param 
name="changesrevision">5da1ed34b210f2b000ef954c147f9a1391da363b</param></service></servicedata>
+              <param 
name="changesrevision">f2223e45d7f04c5383c59e76772501f0ed4215bc</param></service></servicedata>
 (No newline at EOF)
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-08-02 09:26:48.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+osc-collab.*

++++++ vte-0.84.0.tar.xz -> vte-0.84.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/meson.build new/vte-0.84.1/meson.build
--- old/vte-0.84.0/meson.build  2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/meson.build  2026-07-18 20:17:22.000000000 +0200
@@ -17,7 +17,7 @@
 project(
   'vte',
   ['c', 'cpp'],
-  version: '0.84.0',
+  version: '0.84.1',
   license: ['LGPL-3.0-or-later', 'GPL-3.0-or-later'],
   default_options: [
     'buildtype=release',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/src/app/app.cc 
new/vte-0.84.1/src/app/app.cc
--- old/vte-0.84.0/src/app/app.cc       2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/src/app/app.cc       2026-07-18 20:17:22.000000000 +0200
@@ -51,8 +51,11 @@
 
 #include <algorithm>
 #include <cmath>
+#include <string_view>
 #include <vector>
 
+using namespace std::literals::string_view_literals;
+
 #include <fmt/format.h>
 
 #include "std-glue.hh"
@@ -525,6 +528,52 @@
                 return true;
         }
 
+        bool
+        preset_options(std::string_view value)
+        {
+                if (value == "gnome"sv ||
+                    value == "gnome-terminal"sv) {
+#if VTE_GTK == 3
+                        fallback_scrolling = true;
+                        kinetic_scrolling = false;
+                        overlay_scrollbar = false;
+                        scroll_unit_is_pixels = false;
+                        scrollbar = true;
+                        use_scrolled_window = false;
+#elif VTE_GTK == 4
+                        fallback_scrolling = false;
+                        kinetic_scrolling = true; // by default
+                        overlay_scrollbar = false; // by default
+                        scroll_unit_is_pixels = true;
+                        scrollbar = true;
+                        use_scrolled_window = true;
+#else
+#error
+#endif // VTE_GTK
+                }
+#if VTE_GTK == 4
+                else if (value == "gnome-console"sv) {
+                        fallback_scrolling = false;
+                        kinetic_scrolling = false;
+                        overlay_scrollbar = true;
+                        scroll_unit_is_pixels = true;
+                        scrollbar = true;
+                        use_scrolled_window = true;
+                } else if (value == "ptyxis"sv) {
+                        fallback_scrolling = false;
+                        kinetic_scrolling = false;
+                        overlay_scrollbar = true; // by default
+                        scroll_unit_is_pixels = true;
+                        scrollbar = true;
+                        use_scrolled_window = true;
+                }
+#endif // VTE_GTK == 4
+                else {
+                        return false;
+                }
+                return true;
+        };
+
         static gboolean
         parse_background_image(char const* option, char const* value, void* 
data, GError** error)
         {
@@ -677,6 +726,18 @@
                 return rv;
         }
 
+        static gboolean
+        parse_presets(char const* option, char const* value, void* data, 
GError** error)
+        {
+                Options* that = static_cast<Options*>(data);
+                if (!that->preset_options(value)) {
+                        g_set_error(error, G_OPTION_ERROR, 
G_OPTION_ERROR_BAD_VALUE,
+                                    "Unknown preset \"%s\"", value);
+                        return false;
+                }
+                return  true;
+        };
+
         char const*
         default_config_path() {
                 auto const dh = g_get_user_config_dir();
@@ -1431,6 +1492,12 @@
                         { "test-mode", 0, 0, G_OPTION_ARG_NONE, &test_mode,
                           "Enable test mode", nullptr },
 
+                        // This option exists to make it easier to run the app
+                        // with the same scrolling options as some known 
vte-based
+                        // terminals (gnome-terminal, gnome-console, ptyxis, 
...).
+                        { "x-presets", 0,  G_OPTION_FLAG_HIDDEN, 
G_OPTION_ARG_CALLBACK, (void*)parse_presets,
+                          "Preset some options", "PRESET" },
+
                         /* Options for compatibility with the old vteapp test 
application */
                         { "border-width", 0, G_OPTION_FLAG_HIDDEN, 
G_OPTION_ARG_INT, &extra_margin,
                           nullptr, nullptr },
@@ -3318,6 +3385,12 @@
 vteapp_window_tick(VteappWindow* window,
                    GError** error)
 {
+        // First send some queries, see issue
+        // https://gitlab.gnome.org/GNOME/vte/-/work_items/2952
+        constexpr auto query = "\eP+q6b62;6b44\e\\"sv; // XTERM_RQTCAP for 
"kb" and "kD"
+        vte_terminal_feed(window->terminal, query.data(), query.size());
+
+        // Tick tock tick tock
         g_timeout_add_seconds(1, (GSourceFunc) tick_cb, window);
         return true;
 }
@@ -3332,7 +3405,7 @@
                 rv = vteapp_window_launch_argv(window, options.exec_argv, 
error);
         else if (options.command != nullptr)
                 rv = vteapp_window_launch_commandline(window, options.command, 
error);
-        else if (options.shell)
+        else if (options.shell && options.pty)
                 rv = vteapp_window_launch_shell(window, error);
         else if (options.pty)
                 rv = vteapp_window_fork(window, error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/src/vte.cc new/vte-0.84.1/src/vte.cc
--- old/vte-0.84.0/src/vte.cc   2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/src/vte.cc   2026-07-18 20:17:22.000000000 +0200
@@ -5080,8 +5080,8 @@
                                 normal = g_strdup_printf("%c", 
tio.c_cc[VERASE]);
                                 normal_length = 1;
                                 suppress_alt_esc = false;
+                                break;
                         }
-                        break;
                 } /* else: AUTO */
                 assert(auto_mode != eTTY);
                 [[fallthrough]];
@@ -5109,6 +5109,32 @@
         }
 }
 
+void
+Terminal::map_erase_binding_for_key(unsigned keysym,
+                                    unsigned modifiers,
+                                    char*& normal,
+                                    size_t& normal_length,
+                                    bool& suppress_alt_esc,
+                                    bool& add_modifiers)
+{
+        if (keysym == GDK_KEY_Delete ||
+            keysym == GDK_KEY_KP_Delete) {
+                map_erase_binding(m_delete_binding,
+                                  EraseMode::eDELETE_SEQUENCE,
+                                  modifiers,
+                                  normal, normal_length,
+                                  suppress_alt_esc, add_modifiers);
+        } else if (keysym == GDK_KEY_BackSpace) {
+                map_erase_binding(m_backspace_binding == EraseMode::eAUTO ? 
EraseMode::eTTY : m_backspace_binding,
+                                  EraseMode::eASCII_BACKSPACE,
+                                  modifiers,
+                                  normal, normal_length,
+                                  suppress_alt_esc, add_modifiers);
+        } else {
+                __builtin_unreachable();
+        }
+}
+
 std::pair<bool, bool>
 Terminal::key_event_action(vte::platform::KeyEvent const& event)
 {
@@ -5398,26 +5424,18 @@
                /* Map the key to a sequence name if we can. */
                switch (event.keyval()) {
                case GDK_KEY_BackSpace:
-                        map_erase_binding(m_backspace_binding,
-                                          ((m_backspace_binding != 
EraseMode::eTTY) && pty()) ? EraseMode::eTTY : EraseMode::eASCII_BACKSPACE,
-                                          m_modifiers,
-                                          normal,
-                                          normal_length,
-                                          suppress_alt_esc,
-                                          add_modifiers);
-                       handled = true;
-                       break;
                case GDK_KEY_KP_Delete:
                case GDK_KEY_Delete:
-                        map_erase_binding(m_delete_binding,
-                                          EraseMode::eDELETE_SEQUENCE,
-                                          m_modifiers,
-                                          normal,
-                                          normal_length,
-                                          suppress_alt_esc,
-                                          add_modifiers);
-                        handled = true;
+                        map_erase_binding_for_key(event.keyval(),
+                                                  m_modifiers,
+                                                  normal,
+                                                  normal_length,
+                                                  suppress_alt_esc,
+                                                  add_modifiers);
+                       handled = true;
                        break;
+                default:
+                        break;
                 }
 
                /* Try mapping to a literal or capability name. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/src/vte.sh.in new/vte-0.84.1/src/vte.sh.in
--- old/vte-0.84.0/src/vte.sh.in        2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/src/vte.sh.in        2026-07-18 20:17:22.000000000 +0200
@@ -30,25 +30,32 @@
 
 __vte_termprop_signal() {
     local errsv="$?"
-    printf '\033]666;%s!\033\\' "$1"
+    printf '\e]666;%s!\e\\' "$1"
+    return $errsv
+}
+
+__vte_termprop_signal_psN() {
+    local errsv="$?"
+    # https://gitlab.gnome.org/GNOME/vte/-/work_items/2951
+    printf '\\e]666;%s!\\e\\\\' "$1"
     return $errsv
 }
 
 __vte_termprop_set() {
     local errsv="$?"
-    printf '\033]666;%s=%s\033\\' "$1" "$2"
+    printf '\e]666;%s=%s\e\\' "$1" "$2"
     return $errsv
 }
 
 __vte_termprop_reset() {
     local errsv="$?"
-    printf '\033]666;%s\033\\' "$1"
+    printf '\e]666;%s\e\\' "$1"
     return $errsv
 }
 
 __vte_osc7 () {
     local errsv="$?"
-    printf "\033]7;file://%s%s\033\\" "${HOSTNAME}" 
"$(@libexecdir@/vte-urlencode-cwd)"
+    printf "\e]7;file://%s%s\e\\" "${HOSTNAME}" 
"$(@libexecdir@/vte-urlencode-cwd)"
     return $errsv
 }
 
@@ -66,7 +73,7 @@
     local pwd='~'
     [ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/}
     pwd="${pwd//[[:cntrl:]]}"
-    printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${pwd}"
+    printf "\e]0;%s@%s:%s\e\\" "${USER}" "${HOSTNAME%%.*}" "${pwd}"
     __vte_termprop_signal "vte.shell.precmd"
     return $errsv
 }
@@ -85,7 +92,16 @@
     else
         PROMPT_COMMAND="__vte_prompt_command"
     fi
-    PS0=$(__vte_termprop_signal "vte.shell.preexec")
+
+    # '\r' serves two purposes here.
+    # It ensures that the kernel's cooked mode has the right idea of
+    # the column, important for handling TAB followed by BS keypresses.
+    # It is also a workaround for the string not to end in a backslash, as
+    # that would need different level of escaping in the 'promptvars' vs.
+    # non-'promptvars' cases to prevent spillover if a custom user string
+    # is appended, see
+    # https://gitlab.gnome.org/GNOME/vte/-/work_items/2951
+    PS0=$(__vte_termprop_signal_psN "vte.shell.preexec")'\r'"${PS0:-}"
 
     # Shell integration
     if [[ "$PS1" != *\]133\;* ]]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/src/vteinternal.hh 
new/vte-0.84.1/src/vteinternal.hh
--- old/vte-0.84.0/src/vteinternal.hh   2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/src/vteinternal.hh   2026-07-18 20:17:22.000000000 +0200
@@ -304,7 +304,7 @@
                 eUNDERLINE
         };
 
-        /* NOTE: This needs to be kept in sync with the public VteEraseMode 
enum */
+        /* NOTE: This needs to be kept in sync with the public VteEraseBinding 
enum */
         enum EraseMode {
                 eAUTO,
                 eASCII_BACKSPACE,
@@ -1626,6 +1626,12 @@
                                size_t& normal_length,
                                bool& suppress_alt_esc,
                                bool& add_modifiers);
+        void map_erase_binding_for_key(unsigned keysym,
+                                       unsigned modifiers,
+                                       char*& normal,
+                                       size_t& normal_length,
+                                       bool& suppress_alt_esc,
+                                       bool& add_modifiers);
         std::pair<bool, bool> key_event_action(vte::platform::KeyEvent const& 
event);
 
         bool set_enable_a11y(bool setting);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/src/vteseq.cc new/vte-0.84.1/src/vteseq.cc
--- old/vte-0.84.0/src/vteseq.cc        2026-03-14 21:44:12.000000000 +0100
+++ new/vte-0.84.1/src/vteseq.cc        2026-07-18 20:17:22.000000000 +0200
@@ -9879,13 +9879,12 @@
                                         char* normal = nullptr;
                                         auto len = 0uz;
                                         auto suppress = false, add_modifiers = 
false;
-                                        map_erase_binding(keycode == 
GDK_KEY_Delete ? m_delete_binding : m_backspace_binding,
-                                                          keycode == 
GDK_KEY_Delete ? EraseMode::eDELETE_SEQUENCE : EraseMode::eTTY,
-                                                          state,
-                                                          normal,
-                                                          len,
-                                                          suppress,
-                                                          add_modifiers);
+                                        map_erase_binding_for_key(keycode,
+                                                                  state,
+                                                                  normal,
+                                                                  len,
+                                                                  suppress,
+                                                                  
add_modifiers);
                                         if (add_modifiers) {
                                                 
_vte_keymap_key_add_key_modifiers(keycode,
                                                                                
   state,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/subprojects/packagefiles/simdutf/1.patch 
new/vte-0.84.1/subprojects/packagefiles/simdutf/1.patch
--- old/vte-0.84.0/subprojects/packagefiles/simdutf/1.patch     2026-03-14 
21:44:12.000000000 +0100
+++ new/vte-0.84.1/subprojects/packagefiles/simdutf/1.patch     1970-01-01 
01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-From 7390382f017cecf01de628be58957dc13494bdb8 Mon Sep 17 00:00:00 2001
-From: Christian Persch <[email protected]>
-Date: Wed, 24 Dec 2025 09:28:12 +0100
-Subject: [PATCH] Try fixing VTE build with simdutf 7.7.1
-
----
- src/implementation.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/implementation.cpp b/src/implementation.cpp
-index 2f4006d4..0c452c72 100644
---- a/src/implementation.cpp
-+++ b/src/implementation.cpp
-@@ -873,7 +873,7 @@ public:
-   }
- #endif // SIMDUTF_FEATURE_ASCII
- 
--#if SIMDUTF_FEATURE_ASCII
-+#if SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_ASCII
-   simdutf_warn_unused bool
-   validate_utf16le_as_ascii(const char16_t *,
-                             size_t) const noexcept final override {
-@@ -885,7 +885,7 @@ public:
-                             size_t) const noexcept final override {
-     return false;
-   }
--#endif // SIMDUTF_FEATURE_ASCII
-+#endif // SIMDUTF_FEATURE_UTF16 && SIMDUTF_FEATURE_ASCII
- 
- #if SIMDUTF_FEATURE_UTF16 || SIMDUTF_FEATURE_DETECT_ENCODING
-   simdutf_warn_unused bool
--- 
-2.51.0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vte-0.84.0/subprojects/packagefiles/simdutf/meson.build 
new/vte-0.84.1/subprojects/packagefiles/simdutf/meson.build
--- old/vte-0.84.0/subprojects/packagefiles/simdutf/meson.build 2026-03-14 
21:44:12.000000000 +0100
+++ new/vte-0.84.1/subprojects/packagefiles/simdutf/meson.build 2026-07-18 
20:17:22.000000000 +0200
@@ -20,7 +20,7 @@
     'cpp_std=gnu++23'
   ],
   license: ['MIT',],
-  version: '7.7.1',
+  version: '8.2.0',
 )
 
 py = import('python')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vte-0.84.0/subprojects/simdutf.wrap 
new/vte-0.84.1/subprojects/simdutf.wrap
--- old/vte-0.84.0/subprojects/simdutf.wrap     2026-03-14 21:44:12.000000000 
+0100
+++ new/vte-0.84.1/subprojects/simdutf.wrap     2026-07-18 20:17:22.000000000 
+0200
@@ -16,9 +16,8 @@
 [wrap-git]
 depth = 1
 patch_directory = simdutf
-revision = v7.7.1
+revision = v8.2.0
 url = https://github.com/simdutf/simdutf.git
-diff_files = simdutf/1.patch
 
 [provide]
 simdutf = simdutf_dep

++++++ vte.obsinfo ++++++
--- /var/tmp/diff_new_pack.iDk1KM/_old  2026-08-09 21:32:18.163970239 +0200
+++ /var/tmp/diff_new_pack.iDk1KM/_new  2026-08-09 21:32:18.175970649 +0200
@@ -1,5 +1,5 @@
 name: vte
-version: 0.84.0
-mtime: 1773521052
-commit: 5da1ed34b210f2b000ef954c147f9a1391da363b
+version: 0.84.1
+mtime: 1784398642
+commit: f2223e45d7f04c5383c59e76772501f0ed4215bc
 

Reply via email to