diff options
Diffstat (limited to 'debian/patches/cherry-pick-dd8079e0-fix-$((...))-completion-by-_expand-widget.patch')
-rw-r--r-- | debian/patches/cherry-pick-dd8079e0-fix-$((...))-completion-by-_expand-widget.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/patches/cherry-pick-dd8079e0-fix-$((...))-completion-by-_expand-widget.patch b/debian/patches/cherry-pick-dd8079e0-fix-$((...))-completion-by-_expand-widget.patch new file mode 100644 index 000000000..39fc4c9fb --- /dev/null +++ b/debian/patches/cherry-pick-dd8079e0-fix-$((...))-completion-by-_expand-widget.patch @@ -0,0 +1,38 @@ +Description: 35809: fix $((...)) completion by _expand widget. + This changes internal quoting of the form still including tokens + not to add unnecessary internal backslashes. +Origin: commit dd8079e0415cf213d9bb5d41d1ad95c04b774f3a +Author: Peter Stephenson <p.w.stephenson@ntlworld.com> +Bug-Debian: https://bugs.debian.org/793168 + +Index: zsh/Src/utils.c +=================================================================== +--- zsh.orig/Src/utils.c 2015-07-26 19:50:39.037207942 +0200 ++++ zsh/Src/utils.c 2015-07-26 19:50:39.037207942 +0200 +@@ -5301,7 +5301,25 @@ + /* Needs to be passed straight through. */ + if (dobackslash) + *v++ = '\\'; +- *v++ = *u++; ++ if (*u == Inparmath) { ++ /* ++ * Already syntactically quoted: don't ++ * add more. ++ */ ++ int inmath = 1; ++ *v++ = *u++; ++ for (;;) { ++ char uc = *u; ++ *v++ = *u++; ++ if (uc == '\0') ++ break; ++ else if (uc == Outparmath && !--inmath) ++ break; ++ else if (uc == Inparmath) ++ ++inmath; ++ } ++ } else ++ *v++ = *u++; + continue; + } + |