about summary refs log tree commit diff
path: root/Src/Zle/zle_tricky.c
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-11-25 17:48:48 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-11-25 17:48:48 +0000
commit8fd9a5c558492b6af750bb8eb1d2dac34e4d004a (patch)
treebe979e13a66bbc0d677f46bbbc72774aaa719ed9 /Src/Zle/zle_tricky.c
parente9f8465975db3a4655bf08cdb54d5e96e1659f77 (diff)
downloadzsh-8fd9a5c558492b6af750bb8eb1d2dac34e4d004a.tar.gz
zsh-8fd9a5c558492b6af750bb8eb1d2dac34e4d004a.tar.xz
zsh-8fd9a5c558492b6af750bb8eb1d2dac34e4d004a.zip
Merge of 23900: Better handling of NO_EQUALS in old completion.
Diffstat (limited to 'Src/Zle/zle_tricky.c')
-rw-r--r--Src/Zle/zle_tricky.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index ecd3d98bc..3ecf2b9bd 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1440,6 +1440,13 @@ get_comp_string(void)
                     *q = Bnull;
         }
     }
+    /*
+     * Leading "=" gets tokenized in case the EQUALS options
+     * changes afterwards.  It's too late for that now, so restore it
+     * to a plain "=" if the option is unset.
+     */
+    if (*s == Equals && !isset(EQUALS))
+	*s = '=';
     /* While building the quoted form, we also clean up the command line. */
     for (p = s, i = wb, j = 0; *p; p++, i++)
 	if (INULL(*p)) {