diff --git a/PKGBUILD b/PKGBUILD index 02531cc..c1ef00e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,20 +3,22 @@ pkgbase=zsh pkgname=('zsh' 'zsh-doc') pkgver=5.9 -pkgrel=3 +pkgrel=4 arch=('x86_64') url='https://www.zsh.org/' license=('custom') makedepends=('pcre' 'libcap' 'gdbm' 'yodl') source=("https://www.zsh.org/pub/zsh-${pkgver}"{,-doc}".tar.xz"{,.asc} '0001-50629-do-not-use-egrep-in-tests.patch' - 'zprofile') + 'zprofile' + 'bug-50325.patch') sha512sums=('d9138b7f379ad942a5f46819d2dd52d31f3a1129f2a0d1b53d4c5cd43c318b60396da6d37c57c477b8e958fb750209aca0ae93f8c9dd42ac958de006a0ff067e' 'SKIP' '5cc6abcdcfb4f5ad7bc4a31364ca49dfd87ae03e0082d89cc2ba1f00570f6757266ee60894ad31b562408de91494c22f177b414b03cb78c31d92328686be9860' 'SKIP' 'af6a905e83807efb614a585ac1876e0a9cc8b745911b43915b06aab46757a6df6dfc64a7a60b53cc7e62e528c04aa7460e660a1de6720476030dd746af76c6e3' - 'b287e00d8de4dc4cfb1c52bb2aef1d4b191de3512baad4c91dc81e78ddc3e5bb07297f43924b022ac44ff401a348d8a9fa366e19ddc8ea1ea72df311f5ed0034') + 'b287e00d8de4dc4cfb1c52bb2aef1d4b191de3512baad4c91dc81e78ddc3e5bb07297f43924b022ac44ff401a348d8a9fa366e19ddc8ea1ea72df311f5ed0034' + 'ecff8e70a7a6f3e9d65921eab60127049e400af9c20a666d04ba79d556a7e44bea52be937748448f67ec67b4df2650cfdc5119da77c2da5366ddc5e2aa98ec1c') validpgpkeys=('F7B2754C7DE2830914661F0EA71D9A9D4BDB27B3' 'E96646BE08C0AF0AA0F90788A5FEEE3AC7937444' '7CA7ECAAF06216B90F894146ACF8146CAE8CBBC4') @@ -42,6 +44,10 @@ prepare() { # force generation of documentation with correct paths rm Doc/version.yo + + # https://github.com/zsh-users/zsh/commit/3e3cfabcc74dc79d4d8717c4e5859d8d01be6c54 + # https://www.zsh.org/mla/workers/2022/msg00652.html + patch -Np1 -i ../bug-50325.patch } build() { diff --git a/bug-50325.patch b/bug-50325.patch new file mode 100644 index 0000000..9f3200f --- /dev/null +++ b/bug-50325.patch @@ -0,0 +1,38 @@ +From 3e3cfabcc74dc79d4d8717c4e5859d8d01be6c54 Mon Sep 17 00:00:00 2001 +From: Bart Schaefer +Date: Fri, 3 Jun 2022 20:08:15 -0700 +Subject: [PATCH] 50325: revert 38150 and fix in calling function + cfp_matcher_range() instead + +--- + ChangeLog | 5 +++++ + Src/Zle/compmatch.c | 2 +- + Src/Zle/computil.c | 2 +- + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c +index bb8359f1d1..56e5509a45 100644 +--- a/Src/Zle/compmatch.c ++++ b/Src/Zle/compmatch.c +@@ -1319,7 +1319,7 @@ pattern_match_equivalence(Cpattern lp, convchar_t wind, int wmtp, + convchar_t lchr; + int lmtp; + +- if (!PATMATCHINDEX(lp->u.str, wind, &lchr, &lmtp)) { ++ if (!PATMATCHINDEX(lp->u.str, wind-1, &lchr, &lmtp)) { + /* + * No equivalent. No possible match; give up. + */ +diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c +index 59abb4cc40..77ccdebf7e 100644 +--- a/Src/Zle/computil.c ++++ b/Src/Zle/computil.c +@@ -4383,7 +4383,7 @@ cfp_matcher_range(Cmatcher *ms, char *add) + * word pattern. + */ + if ((ind = pattern_match_equivalence +- (m->word, ind, mt, addc)) != CHR_INVALID) { ++ (m->word, ind+1, mt, addc)) != CHR_INVALID) { + if (ret) { + if (imeta(ind)) { + *p++ = Meta;