From 97afa7b0982964653c0428e9022b1f70471a1750 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Thu, 2 Jul 2015 11:00:36 +0200 Subject: [PATCH] Resolves: #1238544 - backport completion-related upstream fixes --- zsh-5.0.8-comp-bz1238544.patch | 176 +++++++++++++++++++++++++++++++++ zsh.spec | 9 +- 2 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 zsh-5.0.8-comp-bz1238544.patch diff --git a/zsh-5.0.8-comp-bz1238544.patch b/zsh-5.0.8-comp-bz1238544.patch new file mode 100644 index 0000000..5885dc1 --- /dev/null +++ b/zsh-5.0.8-comp-bz1238544.patch @@ -0,0 +1,176 @@ +From a7b7f90b87289bf68c3175f867f77f68f1ef6a26 Mon Sep 17 00:00:00 2001 +From: Peter Stephenson +Date: Tue, 2 Jun 2015 14:43:08 +0100 +Subject: [PATCH 1/4] users/20243: turn off GLOB_ASSIGN in completion system. + +Upstream-commit: 6b4d6eaa9b040a05ad9796d20cda0b797209a443 +Signed-off-by: Kamil Dudka +--- + Completion/compinit | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Completion/compinit b/Completion/compinit +index 9470c92..79f9d42 100644 +--- a/Completion/compinit ++++ b/Completion/compinit +@@ -142,6 +142,7 @@ _comp_options=( + NO_cshnullglob + NO_cshjunkiequotes + NO_errexit ++ NO_globassign + NO_globsubst + NO_histsubstpattern + NO_ignorebraces +-- +2.4.3 + + +From 589d031cc414f44542f335e37052594b7fc89aa6 Mon Sep 17 00:00:00 2001 +From: Mikael Magnusson +Date: Tue, 2 Jun 2015 15:33:07 +0200 +Subject: [PATCH 2/4] GLOB_ASSIGN should only affect scalar assignments + +Upstream-commit: 4dc4e23376888697234e00e0c34184bb308886e1 +Signed-off-by: Kamil Dudka +--- + Src/exec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Src/exec.c b/Src/exec.c +index 9f163a6..daed3b1 100644 +--- a/Src/exec.c ++++ b/Src/exec.c +@@ -2264,14 +2264,14 @@ addvars(Estate state, Wordcode pc, int addflags) + state->pc = opc; + return; + } +- if (!isstr || (isset(GLOBASSIGN) && ++ if (!isstr || (isset(GLOBASSIGN) && isstr && + haswilds((char *)getdata(firstnode(vl))))) { + globlist(vl, 0); + /* Unset the parameter to force it to be recreated + * as either scalar or array depending on how many + * matches were found for the glob. + */ +- if (isset(GLOBASSIGN)) ++ if (isset(GLOBASSIGN) && isstr) + unsetparam(name); + } + if (errflag) { +-- +2.4.3 + + +From e4ca35f21b2497fd7fc1477733f5549b399597f5 Mon Sep 17 00:00:00 2001 +From: Peter Stephenson +Date: Tue, 2 Jun 2015 16:23:08 +0100 +Subject: [PATCH 3/4] 35369: better GLOB_ASSIGN testing + +Upstream-commit: 897ad466920e6d46d317e0630b5263d4c37c907f +Signed-off-by: Kamil Dudka +--- + Test/A06assign.ztst | 25 ++++++++++++++++++++++--- + Test/E01options.ztst | 10 +--------- + 2 files changed, 23 insertions(+), 12 deletions(-) + +diff --git a/Test/A06assign.ztst b/Test/A06assign.ztst +index 0ad9a0a..a4401cb 100644 +--- a/Test/A06assign.ztst ++++ b/Test/A06assign.ztst +@@ -419,14 +419,14 @@ + >worldliness + >world + +- integer i n x ++ (integer i n x + float f + setopt globassign + i=tmpfile1 +- n=tmp* ++ n=tmpf* + x=*2 + f=2+2 +- typeset -p i n x f ++ typeset -p i n x f) + 0:GLOB_ASSIGN with numeric types + >typeset -i i=0 + >typeset -a n +@@ -434,6 +434,25 @@ + >typeset x=tmpfile2 + >typeset -E f=4.000000000e+00 + ++ setopt globassign ++ foo=tmpf* ++ print $foo ++ unsetopt globassign ++ foo=tmpf* ++ print $foo ++0:GLOB_ASSIGN option ++>tmpfile1 tmpfile2 ++>tmpf* ++ ++ (setopt globassign ++ typeset -A foo ++ touch gatest1 gatest2 ++ foo=(gatest*) ++ print ${(t)foo} ++ rm -rf gatest*) ++0:GLOB_ASSIGN doesn't monkey with type if not scalar assignment. ++>association-local ++ + A=(first second) + A="${A[*]}" /bin/sh -c 'echo $A' + print -l "${A[@]}" +diff --git a/Test/E01options.ztst b/Test/E01options.ztst +index 5c453c8..d64f7ac 100644 +--- a/Test/E01options.ztst ++++ b/Test/E01options.ztst +@@ -473,15 +473,7 @@ + >outside2 scalar + >inside3 scalar-export + +- setopt globassign +- foo=tmp* +- print $foo +- unsetopt globassign +- foo=tmp* +- print $foo +-0:GLOB_ASSIGN option +->tmpcd tmpfile1 tmpfile2 +->tmp* ++# GLOB_ASSIGN is tested in A06assign.ztst. + + mkdir onlysomefiles + touch onlysomefiles/.thisfile onlysomefiles/thatfile +-- +2.4.3 + + +From e271bb49214b8dd8b2794858769ff186f3076d4a Mon Sep 17 00:00:00 2001 +From: Peter Stephenson +Date: Tue, 23 Jun 2015 12:02:06 +0100 +Subject: [PATCH 4/4] 35573: turn off POSIX_BUILTINS in completion. + +This is now needed to get suitable OPTIND behaviour. + +Upstream-commit: a68d22eb00ea5c85422d70d1be7efa42acfda739 +Signed-off-by: Kamil Dudka +--- + Completion/compinit | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Completion/compinit b/Completion/compinit +index 79f9d42..4b9a778 100644 +--- a/Completion/compinit ++++ b/Completion/compinit +@@ -152,6 +152,7 @@ _comp_options=( + NO_kshtypeset + NO_markdirs + NO_octalzeroes ++ NO_posixbuiltins + NO_shwordsplit + NO_shglob + NO_warncreateglobal +-- +2.4.3 + diff --git a/zsh.spec b/zsh.spec index 8dba3dc..1ee05ca 100644 --- a/zsh.spec +++ b/zsh.spec @@ -3,7 +3,7 @@ Summary: Powerful interactive shell Name: zsh Version: 5.0.8 -Release: 2%{?dist} +Release: 3%{?dist} License: MIT URL: http://zsh.sourceforge.net/ Group: System Environment/Shells @@ -21,6 +21,9 @@ Patch0: zsh-serial.patch Patch1: zsh-4.3.6-8bit-prompts.patch Patch2: zsh-test-C02-dev_fd-mock.patch +# backport completion-related upstream fixes (#1238544) +Patch3: zsh-5.0.8-comp-bz1238544.patch + BuildRequires: coreutils sed ncurses-devel libcap-devel BuildRequires: texinfo texi2html gawk hostname Requires(post): info grep @@ -57,6 +60,7 @@ This package contains the Zsh manual in html format. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 cp -p %SOURCE7 . @@ -174,6 +178,9 @@ fi %doc Doc/*.html %changelog +* Thu Jul 02 2015 Kamil Dudka - 5.0.8-3 +- backport completion-related upstream fixes (#1238544) + * Fri Jun 19 2015 Fedora Release Engineering - 5.0.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild