Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rxvt-unicode for openSUSE:Factory checked in at 2026-10-01 16:42:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rxvt-unicode (Old) and /work/SRC/openSUSE:Factory/.rxvt-unicode.new.1253 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rxvt-unicode" Thu Oct 1 16:42:03 2026 rev:3 rq:1381555 version:9.31+git20241202.5865a435 Changes: -------- --- /work/SRC/openSUSE:Factory/rxvt-unicode/rxvt-unicode.changes 2026-09-28 10:41:56.995635940 +0200 +++ /work/SRC/openSUSE:Factory/.rxvt-unicode.new.1253/rxvt-unicode.changes 2026-10-01 16:43:50.718993339 +0200 @@ -1,0 +2,37 @@ +Fri Sep 25 13:11:04 UTC 2026 - Michael Pujos <[email protected]> + +- update to latest CVS version mirrored on git at https://github.com/exg/rxvt-unicode + containing these fixes since latest v9.31 upstream release: + * Invoke on_view_change hook on key press when scrolling + (Based on a patch by Dennis Hofheinz) + * fix memory leak when a background expression uses the muladd + or focus_fade operators (reported by Erik-Jan) + * fix reference counting of values returned by some perl bindings + * fix OSC responses with 7-bit ST (reported by Stuart Henderson) + * fix mouse reporting of motion notify events to report 3 as + the button number when no button is pressed, same as xterm. + Previously urxvt reported the number of the last button + pressed or an invalid value, before the first button press + (reported by Uli Schlachter) + * change the encoding of buttons 8-11 in mouse reporting + sequences to match xterm's and enable reporting of release + events for them (patch by Pierre-Marc Fournier) + * Updated mouse reporting documentation + * clamp coordinates in mouse reporting sequences to the number + of rows and columns (patch by Nick Hanley) + * added Alt_L/ALt_R and updated some keys in iso 14755 5.2 mode. + * perl 5.38 does not handle empty locale names, use "C" instead + (patch by sxzzsf) + * add emoji test character, so that emoji-only fonts can be used without + any tricks +- added patches: + * use-system-libev.patch to compile against the system's libev instead + of the vendored one + * added show-git-version-in-release-string.patch to display git version + alongside last official version number + * added add_OSC_110_111_112_support.patch +- removed upstreamed patches: + * dont-set-empty-local.patch + * rxvt-unicode-9.31-fix-osc-responses-with-7-bit-st.patch + +------------------------------------------------------------------- Old: ---- dont-set-empty-local.patch rxvt-unicode-9.31-fix-osc-responses-with-7-bit-st.patch rxvt-unicode-9.31.tar.bz2 rxvt-unicode-9.31.tar.bz2.sig New: ---- _service add_OSC_110_111_112_support.patch rxvt-unicode-9.31+git20241202.5865a435.obscpio rxvt-unicode.obsinfo show-git-version-in-release-string.patch use-system-libev.patch ----------(Old B)---------- Old:- removed upstreamed patches: * dont-set-empty-local.patch * rxvt-unicode-9.31-fix-osc-responses-with-7-bit-st.patch Old: * dont-set-empty-local.patch * rxvt-unicode-9.31-fix-osc-responses-with-7-bit-st.patch ----------(Old E)---------- ----------(New B)---------- New: alongside last official version number * added add_OSC_110_111_112_support.patch - removed upstreamed patches: New: of the vendored one * added show-git-version-in-release-string.patch to display git version alongside last official version number New:- added patches: * use-system-libev.patch to compile against the system's libev instead of the vendored one ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rxvt-unicode.spec ++++++ --- /var/tmp/diff_new_pack.9MbeGH/_old 2026-10-01 16:43:51.911043310 +0200 +++ /var/tmp/diff_new_pack.9MbeGH/_new 2026-10-01 16:43:51.915043477 +0200 @@ -18,8 +18,12 @@ # %define _terminfo %{_datadir}/terminfo +%define base_version 9.31 +%define git_version 20241202.5865a435 +%global _default_patch_fuzz 1 + Name: rxvt-unicode -Version: 9.31 +Version: %{base_version}+git%{git_version} Release: 0 # Summary: Rxvt X Terminal with Unicode Support @@ -27,29 +31,33 @@ License: GPL-3.0-or-later Group: System/X11/Terminals URL: https://software.schmorp.de/pkg/rxvt-unicode.html -Source: https://dist.schmorp.de/%{name}/%{name}-%{version}.tar.bz2 +Source: %{name}-%{version}.tar.gz Source2: rxvt-unicode.README.SuSE Source3: rxvt-unicode-256color.desktop Source4: rxvt-unicode.desktop -Source10: https://dist.schmorp.de/%{name}/%{name}-%{version}.tar.bz2.sig Patch1: rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch Patch2: rxvt-unicode-9.21-xsubpp.patch Patch3: rxvt-unicode-0001-Prefer-XDG_RUNTIME_DIR-over-the-HOME.patch Patch4: rxvt-unicode-hardening.patch Patch5: rxvt-unicode-secondarywheel.patch -Patch7: handle-new-tic-and-dont-install-terminfo.patch -Patch8: dont-set-empty-local.patch -Patch9: confirm-paste-Change-y-p-n-to-y-f-n-to-preserve-comp.patch -Patch10: rxvt-unicode-9.31-fix-osc-responses-with-7-bit-st.patch +Patch6: handle-new-tic-and-dont-install-terminfo.patch +Patch7: confirm-paste-Change-y-p-n-to-y-f-n-to-preserve-comp.patch +Patch8: use-system-libev.patch # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=785ecf0b5343348e298a5fad9c46ba58b9b303fe -Patch11: rxvt-unicode-gcc16-compilation-fix.patch +Patch9: rxvt-unicode-gcc16-compilation-fix.patch +# https://lists.schmorp.de/pipermail/rxvt-unicode/2025q4/002704.html +patch10: add_OSC_110_111_112_support.patch +Patch11: show-git-version-in-release-string.patch +BuildRequires: autoconf BuildRequires: gcc-c++ +BuildRequires: libev-devel BuildRequires: ncurses-devel BuildRequires: perl BuildRequires: pkgconfig BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(libev) BuildRequires: pkgconfig(libptytty) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(x11) @@ -72,6 +80,16 @@ install -m 0644 %{SOURCE2} README.SUSE %build + +# lto cause a crash in urxvtd when passed -o and/or -f option +# it is problematic with libev +%define _lto_cflags %{nil} + +# need to regenerate bundled configure since use-system-libev.patch modify the build files +./autogen.sh + +echo "#define GIT_VERSION \"%{git_version}\"" >> src/version.h + # --enable-everything adds support for all non-multichoice options listed in ./configure --help, # except for: --enable-assert, --enable-256-color, --enable-8bitctrls, --enable-fallback and --enable-smart-resize. # It also sets --with-codesets to "all" ++++++ _service ++++++ <services> <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/exg/rxvt-unicode</param> <param name="versionformat">9.31+git%cd.%h</param> <param name="revision">5865a435983be27c8f4a601e7a9920d3a92f102a</param> </service> <service name="tar" mode="buildtime"/> <service name="recompress" mode="buildtime"> <param name="file">*.tar</param> <param name="compression">gz</param> </service> </services> ++++++ add_OSC_110_111_112_support.patch ++++++ Signed-off-by: Ayman Bagabas <ayman.bagabas at gmail.com> --- src/command.C | 36 ++++++++++++++--------- src/init.C | 5 +++- src/main.C | 23 +++++++++++++++ src/rxvt.h | 79 ++++++++++++++++++++++++++++----------------------- 4 files changed, 93 insertions(+), 50 deletions(-) diff --git a/src/command.C b/src/command.C index 891ffab4ad0a..42cf7cbcd02d 100644 --- a/src/command.C +++ b/src/command.C @@ -3315,22 +3315,22 @@ void rxvt_term::process_osc_seq () { int arg; + string_term st; + char *s; - unicode_t ch = cmd_getc (); - for (arg = 0; isdigit (ch); ch = cmd_getc ()) - arg = arg * 10 + (ch - '0'); + s = get_to_st (st); + if (!s) + return; - if (ch == ';') - { - string_term st; - char *s = get_to_st (st); + char *ch = s; + for (arg = 0; isdigit (ch[0]); ch++) + arg = arg * 10 + (*ch - '0'); - if (s) - { - process_xterm_seq (arg, s, st); - free (s); - } - } + if (*ch == ';') + ch++; + + process_xterm_seq (arg, ch, st); + free (s); } static unsigned int @@ -3479,6 +3479,13 @@ rxvt_term::process_xterm_seq (int op, char *str, string_term &st) if (HOOK_INVOKE ((this, HOOK_OSC_SEQ, DT_INT, op, DT_STR, str, DT_END))) return; + // These operations take no parameters and expect empty string. + if (strlen (str) == 0 && + op != XTerm_RestoreColor00 && + op != XTerm_RestoreColor01 && + op != XTerm_RestoreColor_cursor) + return; + switch (op) { case XTerm_name: @@ -3549,14 +3556,17 @@ rxvt_term::process_xterm_seq (int op, char *str, string_term &st) break; case Rxvt_restoreFG: case XTerm_Color00: + case XTerm_RestoreColor00: process_color_seq (op, Color_fg, str, st); break; case Rxvt_restoreBG: case XTerm_Color01: + case XTerm_RestoreColor01: process_color_seq (op, Color_bg, str, st); break; #ifndef NO_CURSORCOLOR case XTerm_Color_cursor: + case XTerm_RestoreColor_cursor: process_color_seq (op, Color_cursor, str, st); break; #endif diff --git a/src/init.C b/src/init.C index 907cdabe87c4..80d5e5065202 100644 --- a/src/init.C +++ b/src/init.C @@ -765,10 +765,13 @@ rxvt_term::init_resources (int argc, const char *const *argv) } #endif - for (i = 0; i < NRS_COLORS; i++) + for (i = 0; i < NRS_COLORS; i++) { if (!rs[Rs_color + i]) rs[Rs_color + i] = def_colorName[i]; + def_colors[i] = rs[Rs_color + i]; + } + #ifndef XTERM_REVERSE_VIDEO /* this is how we implement reverseVideo */ if (option (Opt_reverseVideo)) diff --git a/src/main.C b/src/main.C index 10e5065bbd22..6921378451ea 100644 --- a/src/main.C +++ b/src/main.C @@ -944,6 +944,8 @@ rxvt_term::set_window_color (int idx, const char *color) { #ifdef XTERM_COLOR_CHANGE if (color == NULL || *color == '\0') + color = get_def_color (idx); + if (!color) return; color = strdup (color); @@ -1045,6 +1047,27 @@ rxvt_term::set_color (rxvt_color &color, const char *name) return false; } +const char * +rxvt_term::get_def_color(int idx) +{ + const char *color; + + color = def_colors[idx]; + if (!color) { + // If cursor colors are not defined, use fg/bg respectively. + switch (idx) { + case Color_cursor: + color = def_colors[Color_fg]; + break; + case Color_cursor2: + color = def_colors[Color_bg]; + break; + } + } + + return color; +} + void rxvt_term::alias_color (int dst, int src) { diff --git a/src/rxvt.h b/src/rxvt.h index 37aba23ace80..8cda9a46cef5 100644 --- a/src/rxvt.h +++ b/src/rxvt.h @@ -412,54 +412,58 @@ struct string_term * colour extensions by Christian W. Zuckschwerdt <zany at triq.net> */ enum { - XTerm_name = 0, - XTerm_iconName = 1, - XTerm_title = 2, - XTerm_property = 3, // change X property - XTerm_Color = 4, // change colors - XTerm_Color00 = 10, // change fg color - XTerm_Color01 = 11, // change bg color - XTerm_Color_cursor = 12, // change actual 'Cursor' color - XTerm_Color_pointer_fg = 13, // change actual 'Pointer' fg color - XTerm_Color_pointer_bg = 14, // change actual 'Pointer' bg color - XTerm_Color05 = 15, // not implemented (tektronix fg) - XTerm_Color06 = 16, // not implemented (tektronix bg) - XTerm_Color_HC = 17, // change actual 'Highlight' bg color - XTerm_Color_HTC = 19, // change actual 'Highlight' fg color - XTerm_logfile = 46, // not implemented - XTerm_font = 50, + XTerm_name = 0, + XTerm_iconName = 1, + XTerm_title = 2, + XTerm_property = 3, // change X property + XTerm_Color = 4, // change colors + XTerm_Color00 = 10, // change fg color + XTerm_Color01 = 11, // change bg color + XTerm_Color_cursor = 12, // change actual 'Cursor' color + XTerm_Color_pointer_fg = 13, // change actual 'Pointer' fg color + XTerm_Color_pointer_bg = 14, // change actual 'Pointer' bg color + XTerm_Color05 = 15, // not implemented (tektronix fg) + XTerm_Color06 = 16, // not implemented (tektronix bg) + XTerm_Color_HC = 17, // change actual 'Highlight' bg color + XTerm_Color_HTC = 19, // change actual 'Highlight' fg color + XTerm_logfile = 46, // not implemented + XTerm_font = 50, - XTerm_konsole30 = 30, // reserved for konsole - XTerm_konsole31 = 31, // reserved for konsole - XTerm_emacs51 = 51, // reserved for emacs shell + XTerm_konsole30 = 30, // reserved for konsole + XTerm_konsole31 = 31, // reserved for konsole + XTerm_emacs51 = 51, // reserved for emacs shell /* * rxvt extensions of XTerm OSCs: ESC ] Ps;Pt (ST|BEL) */ // deprecated - Rxvt_restoreFG = 39, - Rxvt_restoreBG = 49, + Rxvt_restoreFG = 39, + Rxvt_restoreBG = 49, - Rxvt_dumpscreen = 55, // dump scrollback and all of screen + Rxvt_dumpscreen = 55, // dump scrollback and all of screen + // + XTerm_RestoreColor00 = 110, // restore fg color + XTerm_RestoreColor01 = 111, // restore bg color + XTerm_RestoreColor_cursor = 112, // restore cursor color - URxvt_locale = 701, // change locale - URxvt_version = 702, // request version + URxvt_locale = 701, // change locale + URxvt_version = 702, // request version - URxvt_Color_IT = 704, // change actual 'Italic' colour - URxvt_Color_BD = 706, // change actual 'Bold' color - URxvt_Color_UL = 707, // change actual 'Underline' color - URxvt_Color_border = 708, + URxvt_Color_IT = 704, // change actual 'Italic' colour + URxvt_Color_BD = 706, // change actual 'Bold' color + URxvt_Color_UL = 707, // change actual 'Underline' color + URxvt_Color_border = 708, - URxvt_font = 710, - URxvt_boldFont = 711, - URxvt_italicFont = 712, - URxvt_boldItalicFont = 713, + URxvt_font = 710, + URxvt_boldFont = 711, + URxvt_italicFont = 712, + URxvt_boldItalicFont = 713, - URxvt_view_up = 720, - URxvt_view_down = 721, + URxvt_view_up = 720, + URxvt_view_down = 721, - URxvt_cellinfo = 776, // returns font cell width, height etc. - URxvt_perl = 777, // for use by perl extensions, starts with "extension-name;" + URxvt_cellinfo = 776, // returns font cell width, height etc. + URxvt_perl = 777, // for use by perl extensions, starts with "extension-name;" }; /* Words starting with `Color_' are colours. Others are counts */ @@ -1228,6 +1232,8 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen #endif const char *rs[NUM_RESOURCES]; + const char *def_colors[NRS_COLORS]; + /* command input buffering */ char *cmdbuf_ptr, *cmdbuf_endp; char cmdbuf_base[CBUFSIZ]; @@ -1417,6 +1423,7 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen void set_window_color (int idx, const char *color); char *get_colorfgbg (); bool set_color (rxvt_color &color, const char *name); + const char *get_def_color(int idx); void alias_color (int dst, int src); void set_widthheight (unsigned int newwidth, unsigned int newheight); void get_window_origin (int &x, int &y); ++++++ rxvt-unicode.obsinfo ++++++ name: rxvt-unicode version: 9.31+git20241202.5865a435 mtime: 1733119291 commit: 5865a435983be27c8f4a601e7a9920d3a92f102a ++++++ show-git-version-in-release-string.patch ++++++ --- rxvt-unicode/src/xdefaults.C 2026-09-25 14:22:42.462826081 +0200 +++ rxvt-unicode.new/src/xdefaults.C 2026-09-25 15:41:12.007406391 +0200 @@ -288,7 +288,12 @@ #undef SWCH #undef BOOL -static const char releasestring[] = "rxvt-unicode (" RXVTNAME ") v" VERSION " - released: " DATE "\n"; +static const char releasestring[] = "rxvt-unicode (" RXVTNAME ") v" VERSION " - released: " DATE +#ifdef GIT_VERSION + " - git: " GIT_VERSION +#endif + "\n"; + static const char optionsstring[] = "options: " #if ENABLE_PERL "perl," ++++++ use-system-libev.patch ++++++ ++++ 629 lines (skipped)
