diff options
author | mrdotx | 2024-02-20 09:59:35 +0100 |
---|---|---|
committer | mrdotx | 2024-02-20 09:59:35 +0100 |
commit | 61ed186890a2bf37585e4704a095be61e6504ac6 (patch) | |
tree | fb2d6209a7299a839417f839f982452688c5ad3b | |
parent | 6d9eab3374c754d0d8ffde929523c3ce0c6da557 (diff) | |
download | aur-rxvt-unicode-truecolor-wide-glyphs.tar.gz |
update the 7-bit-queries.patch with the version commited upstream
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | 24-bit-color.patch | 14 | ||||
-rw-r--r-- | 7-bit-queries.patch | 247 | ||||
-rw-r--r-- | PKGBUILD | 6 |
4 files changed, 254 insertions, 19 deletions
@@ -1,7 +1,7 @@ pkgbase = rxvt-unicode-truecolor-wide-glyphs pkgdesc = Unicode enabled rxvt-clone terminal emulator (urxvt) with true color, enhanced glyphs and improved font rendering support pkgver = 9.31 - pkgrel = 6 + pkgrel = 7 url = http://software.schmorp.de/pkg/rxvt-unicode.html arch = i686 arch = x86_64 @@ -44,9 +44,9 @@ pkgbase = rxvt-unicode-truecolor-wide-glyphs b2sums = 71072f1f262b0759f0251654b7563e0dc5b3f73bc3705321d4e75230c51692541a8f5aa289657714baeab93a9e7b404a0b3ce0eecafb116c389a640209916916 b2sums = 7f760beda37d781ae5bfff280fb912b3210ed4e60c82d279706feb023e5e10e9c5abe8eaa9bef6d7da460df39808c56de91ee2d5ffc63ea0c2e402810fa3dfb5 b2sums = 9e3c03390d44a53b933fd6e11f3b644c43f377d3848975d9a5d1b964b042aca08995c968ada22b143bdc014691282242c8e718820f16086b35588242eb71a15b - b2sums = fbe0135809c8dbf703c0d44d32def466051dc895b6c1e8e0411ed31ab04295934384e1e900ab030ce97f3f738bd792541750ef5417342865be62af21423ea228 + b2sums = 94b110f9901786c398c313199da17b5981644241de2385208d36a3cccbf029c518ee619bbadff0348405bc01cd8f24abf41aa361b2f140178345197c2b476e03 b2sums = dcaeac1c3822bf27d0ea4ac3ae6a8852c88420b3b30a5b31ec9022afbf4f65aa29b1e11e0b5e3f6098de057983d886b6a54b5e3ce489ac93320245a6d6f64703 - b2sums = e62677f91d4d5ba9662dc5c4a41c4a3993a1b7bb45c0746745e4b478b736fbe87505cb067b3f35e4cd46b419f927d66bbdaf47dabca04c63d6479d289cc46651 + b2sums = 201d6a056f55d069af15568ee1dfa1c3eafb019d0dc9629882f93b45a067542a8351c745ff7b9eeba699590bfa85df39da1b22c2f02e8a6e36199bf1bd9ff1c5 b2sums = 8d360d8b0cd274b63f3c0c7651b358cf94aa71c39adb15ca5d8f3c8a05d930bf96ac559e6b7eceb6b3706a2caa3bf7002f75f596a1efdb5e54e43d20b9341590 b2sums = 77b2a764558660cbc16325eacca3a2b17d3071d59c7a956a43c796a8d9374f5d202012e13a50ef4d978e2826009d9f1a93fb118d97e27e4cfbf0569e1d781082 diff --git a/24-bit-color.patch b/24-bit-color.patch index 6209afdbf26b..422d48cd11a1 100644 --- a/24-bit-color.patch +++ b/24-bit-color.patch @@ -120,7 +120,7 @@ } #endif } -@@ -3415,7 +3415,7 @@ +@@ -3424,7 +3424,7 @@ if (str[0] == '?' && !str[1]) { rgba c; @@ -129,7 +129,7 @@ char rgba_str[32]; #if XFT -@@ -3924,7 +3924,7 @@ +@@ -3933,7 +3933,7 @@ { unsigned int i; short rendset; @@ -138,7 +138,7 @@ if (nargs == 0) { -@@ -4030,6 +4030,20 @@ +@@ -4039,6 +4039,20 @@ break; case 38: // set fg color, ISO 8613-6 @@ -159,7 +159,7 @@ case 48: // set bg color, ISO 8613-6 { unsigned int fgbg = arg[i] == 38 ? Color_fg : Color_bg; -@@ -4042,6 +4056,14 @@ +@@ -4051,6 +4065,14 @@ scr_color (idx, fgbg); } @@ -527,7 +527,7 @@ enum { C0_NUL = 0x00, -@@ -538,7 +551,9 @@ +@@ -544,7 +557,9 @@ #endif }; @@ -538,7 +538,7 @@ # define Color_Bits 9 // 0 .. maxTermCOLOR24 #else # define Color_Bits 8 // 0 .. maxTermCOLOR24 -@@ -674,21 +689,21 @@ +@@ -680,21 +695,21 @@ #define ROW(n) ROW_of (this, n) /* how to build & extract colors and attributes */ @@ -571,7 +571,7 @@ #define PIXCOLOR_NAME(idx) rs[Rs_color + (idx)] #define ISSET_PIXCOLOR(idx) (!!rs[Rs_color + (idx)]) -@@ -1488,7 +1503,12 @@ +@@ -1494,7 +1509,12 @@ void scr_swap_screen () noexcept; void scr_change_screen (int scrn); void scr_color (unsigned int color, int fgbg) noexcept; diff --git a/7-bit-queries.patch b/7-bit-queries.patch index 4165d27dc771..991d3e4c1f09 100644 --- a/7-bit-queries.patch +++ b/7-bit-queries.patch @@ -1,19 +1,254 @@ OSC commands returning the colour sequence must be terminated by either -of ST, ESC \, or BEL. rxvt-unicode tries to use the same type of termination -as was in the query but doesn't correctly handle the multiple-char sequence -used for 7-bit queries. Force to using ESC \ instead for now. +of ST, ESC \, or BEL. rxvt-unicode tried to use the same type of termination +as was in the query but didn't correctly handle the multiple-char sequence +used for 7-bit queries. This fixes it. --- src/command.C +++ src/command.C -@@ -3426,9 +3426,9 @@ +@@ -3021,8 +3021,13 @@ + tt_printf ("%-.250s\012", rs[Rs_display_name]); + break; + case 8: /* unofficial extension */ +- process_xterm_seq (XTerm_title, (char *)RESNAME "-" VERSION, CHAR_ST); // char * cast verified +- break; ++ { ++ string_term st; ++ st.v[0] = CHAR_ST; ++ st.v[1] = '\0'; ++ process_xterm_seq (XTerm_title, (char *)RESNAME "-" VERSION, st); // char * cast verified ++ break; ++ } + } + break; + +@@ -3217,7 +3222,7 @@ + * ends_how is terminator used. returned input must be free()'d + */ + char * +-rxvt_term::get_to_st (unicode_t &ends_how) ++rxvt_term::get_to_st (string_term &st) + { + unicode_t ch; + bool seen_esc = false; +@@ -3256,7 +3261,11 @@ + + string[n++] = '\0'; + +- ends_how = (ch == 0x5c ? C0_ESC : ch); ++ n = 0; ++ if (ch == 0x5c) ++ st.v[n++] = C0_ESC; ++ st.v[n++] = ch; ++ st.v[n] = '\0'; + + return rxvt_wcstombs (string); + } +@@ -3272,8 +3281,8 @@ + * Not handled yet + */ + +- unicode_t eh; +- char *s = get_to_st (eh); ++ string_term st; ++ char *s = get_to_st (st); + if (s) + free (s); + +@@ -3295,12 +3304,12 @@ + + if (ch == ';') + { +- unicode_t eh; +- char *s = get_to_st (eh); ++ string_term st; ++ char *s = get_to_st (st); + + if (s) + { +- process_xterm_seq (arg, s, eh); ++ process_xterm_seq (arg, s, st); + free (s); + } + } +@@ -3410,7 +3419,7 @@ + } + + void +-rxvt_term::process_color_seq (int report, int color, const char *str, char resp) ++rxvt_term::process_color_seq (int report, int color, const char *str, string_term &st) + { + if (str[0] == '?' && !str[1]) + { +@@ -3426,9 +3435,9 @@ snprintf (rgba_str, sizeof (rgba_str), "rgb:%04x/%04x/%04x", c.r, c.g, c.b); if (IN_RANGE_INC (color, minCOLOR, maxTermCOLOR)) - tt_printf ("\033]%d;%d;%s%c", report, color - minCOLOR, rgba_str, resp); -+ tt_printf ("\033]%d;%d;%s\033\\", report, color - minCOLOR, rgba_str); ++ tt_printf ("\033]%d;%d;%s%s", report, color - minCOLOR, rgba_str, st.v); else - tt_printf ("\033]%d;%s%c", report, rgba_str, resp); -+ tt_printf ("\033]%d;%s\033\\", report, rgba_str, resp); ++ tt_printf ("\033]%d;%s%s", report, rgba_str, st.v); } else set_window_color (color, str); +@@ -3438,7 +3447,7 @@ + * XTerm escape sequences: ESC ] Ps;Pt (ST|BEL) + */ + void +-rxvt_term::process_xterm_seq (int op, char *str, char resp) ++rxvt_term::process_xterm_seq (int op, char *str, string_term &st) + { + int color; + char *buf, *name; +@@ -3483,7 +3492,7 @@ + && actual_format == 8) + str = (const char *)(value); + +- tt_printf ("\033]%d;%s%c", op, option (Opt_insecure) ? str : "", resp); ++ tt_printf ("\033]%d;%s%s", op, option (Opt_insecure) ? str : "", st.v); + + XFree (value); + } +@@ -3517,49 +3526,49 @@ + if ((buf = strchr (name, ';')) != NULL) + *buf++ = '\0'; + +- process_color_seq (op, color, name, resp); ++ process_color_seq (op, color, name, st); + } + break; + case Rxvt_restoreFG: + case XTerm_Color00: +- process_color_seq (op, Color_fg, str, resp); ++ process_color_seq (op, Color_fg, str, st); + break; + case Rxvt_restoreBG: + case XTerm_Color01: +- process_color_seq (op, Color_bg, str, resp); ++ process_color_seq (op, Color_bg, str, st); + break; + #ifndef NO_CURSORCOLOR + case XTerm_Color_cursor: +- process_color_seq (op, Color_cursor, str, resp); ++ process_color_seq (op, Color_cursor, str, st); + break; + #endif + case XTerm_Color_pointer_fg: +- process_color_seq (op, Color_pointer_fg, str, resp); ++ process_color_seq (op, Color_pointer_fg, str, st); + break; + case XTerm_Color_pointer_bg: +- process_color_seq (op, Color_pointer_bg, str, resp); ++ process_color_seq (op, Color_pointer_bg, str, st); + break; + #ifdef OPTION_HC + case XTerm_Color_HC: +- process_color_seq (op, Color_HC, str, resp); ++ process_color_seq (op, Color_HC, str, st); + break; + case XTerm_Color_HTC: +- process_color_seq (op, Color_HTC, str, resp); ++ process_color_seq (op, Color_HTC, str, st); + break; + #endif + #ifndef NO_BOLD_UNDERLINE_REVERSE + case URxvt_Color_BD: +- process_color_seq (op, Color_BD, str, resp); ++ process_color_seq (op, Color_BD, str, st); + break; + case URxvt_Color_UL: +- process_color_seq (op, Color_UL, str, resp); ++ process_color_seq (op, Color_UL, str, st); + break; + case URxvt_Color_IT: +- process_color_seq (op, Color_IT, str, resp); ++ process_color_seq (op, Color_IT, str, st); + break; + #endif + case URxvt_Color_border: +- process_color_seq (op, Color_border, str, resp); ++ process_color_seq (op, Color_border, str, st); + break; + + case XTerm_logfile: +@@ -3587,10 +3596,10 @@ + case URxvt_boldItalicFont: + #endif + if (query) +- tt_printf ("\33]%d;%-.250s%c", saveop, ++ tt_printf ("\33]%d;%-.250s%s", saveop, + option (Opt_insecure) && fontset[op - URxvt_font]->fontdesc + ? fontset[op - URxvt_font]->fontdesc : "", +- resp); ++ st.v); + else + { + const char *&res = rs[Rs_font + (op - URxvt_font)]; +@@ -3603,23 +3612,23 @@ + + case URxvt_version: + if (query) +- tt_printf ("\33]%d;rxvt-unicode;%-.20s;%c;%c%c", ++ tt_printf ("\33]%d;rxvt-unicode;%-.20s;%c;%c%s", + op, + rs[Rs_name], VERSION[0], VERSION[2], +- resp); ++ st.v); + break; + + #if !ENABLE_MINIMAL + case URxvt_cellinfo: + if (query) +- tt_printf ("\33]%d;%d;%d;%d%c", saveop, ++ tt_printf ("\33]%d;%d;%d;%d%s", saveop, + fwidth, fheight, fbase, +- resp); ++ st.v); + break; + + case URxvt_locale: + if (query) +- tt_printf ("\33]%d;%-.250s%c", op, option (Opt_insecure) ? locale : "", resp); ++ tt_printf ("\33]%d;%-.250s%s", op, option (Opt_insecure) ? locale : "", st.v); + else + { + set_locale (str); +@@ -3644,7 +3653,7 @@ + + #if ENABLE_PERL + case URxvt_perl: +- HOOK_INVOKE ((this, HOOK_OSC_SEQ_PERL, DT_STR, str, DT_STR_LEN, &resp, 1, DT_END)); ++ HOOK_INVOKE ((this, HOOK_OSC_SEQ_PERL, DT_STR, str, DT_STR, st.v, DT_END)); + break; + #endif + } +--- src/rxvt.h ++++ src/rxvt.h +@@ -399,6 +399,12 @@ + C0_DLE, C0_DC1, C0_DC2, D0_DC3, C0_DC4, C0_NAK, C0_SYN, C0_ETB, + C0_CAN, C0_EM , C0_SUB, C0_ESC, C0_IS4, C0_IS3, C0_IS2, C0_IS1, + }; ++ ++struct string_term ++{ ++ unsigned char v[3]; ++}; ++ + #define CHAR_ST 0x9c /* 0234 */ + + /* +@@ -1366,11 +1372,11 @@ + void process_escape_seq (); + void process_csi_seq (); + void process_window_ops (const int *args, unsigned int nargs); +- char *get_to_st (unicode_t &ends_how); ++ char *get_to_st (string_term &st); + void process_dcs_seq (); + void process_osc_seq (); +- void process_color_seq (int report, int color, const char *str, char resp); +- void process_xterm_seq (int op, char *str, char resp); ++ void process_color_seq (int report, int color, const char *str, string_term &st); ++ void process_xterm_seq (int op, char *str, string_term &st); + unsigned int map_rgb24_color (unsigned int r, unsigned int g, unsigned int b, unsigned int a); + int privcases (int mode, unsigned long bit); + void process_terminal_mode (int mode, int priv, unsigned int nargs, const int *arg); @@ -3,7 +3,7 @@ _pkgname=rxvt-unicode pkgname=rxvt-unicode-truecolor-wide-glyphs pkgver=9.31 -pkgrel=6 +pkgrel=7 pkgdesc="Unicode enabled rxvt-clone terminal emulator (urxvt) with true color, enhanced glyphs and improved font rendering support" arch=('i686' 'x86_64') url='http://software.schmorp.de/pkg/rxvt-unicode.html' @@ -59,9 +59,9 @@ b2sums=('439a8c33b7260e0f2fd68b8a4409773c06c3bb7623b5dfbbb0742cc198c9fd25e8a2479 '71072f1f262b0759f0251654b7563e0dc5b3f73bc3705321d4e75230c51692541a8f5aa289657714baeab93a9e7b404a0b3ce0eecafb116c389a640209916916' '7f760beda37d781ae5bfff280fb912b3210ed4e60c82d279706feb023e5e10e9c5abe8eaa9bef6d7da460df39808c56de91ee2d5ffc63ea0c2e402810fa3dfb5' '9e3c03390d44a53b933fd6e11f3b644c43f377d3848975d9a5d1b964b042aca08995c968ada22b143bdc014691282242c8e718820f16086b35588242eb71a15b' - 'fbe0135809c8dbf703c0d44d32def466051dc895b6c1e8e0411ed31ab04295934384e1e900ab030ce97f3f738bd792541750ef5417342865be62af21423ea228' + '94b110f9901786c398c313199da17b5981644241de2385208d36a3cccbf029c518ee619bbadff0348405bc01cd8f24abf41aa361b2f140178345197c2b476e03' 'dcaeac1c3822bf27d0ea4ac3ae6a8852c88420b3b30a5b31ec9022afbf4f65aa29b1e11e0b5e3f6098de057983d886b6a54b5e3ce489ac93320245a6d6f64703' - 'e62677f91d4d5ba9662dc5c4a41c4a3993a1b7bb45c0746745e4b478b736fbe87505cb067b3f35e4cd46b419f927d66bbdaf47dabca04c63d6479d289cc46651' + '201d6a056f55d069af15568ee1dfa1c3eafb019d0dc9629882f93b45a067542a8351c745ff7b9eeba699590bfa85df39da1b22c2f02e8a6e36199bf1bd9ff1c5' '8d360d8b0cd274b63f3c0c7651b358cf94aa71c39adb15ca5d8f3c8a05d930bf96ac559e6b7eceb6b3706a2caa3bf7002f75f596a1efdb5e54e43d20b9341590' '77b2a764558660cbc16325eacca3a2b17d3071d59c7a956a43c796a8d9374f5d202012e13a50ef4d978e2826009d9f1a93fb118d97e27e4cfbf0569e1d781082') |