A couple of zsh versions ago I started to sometimes get the following error message each time I opened up a new (z)shell: /home/zrajm/.zcompdump:3: bad set of key/value pairs for associative array And after this message, all tab completion stops working in that shell. Once the problem has appeared, all new shells get the exact same symptoms. If I erase the ~/.zcompdump file, however, the shell I start after that will work just fine (but start a little slow, since it is generating a new .zcompdump). Upon starting a new shell after that, though, the problem is back. I.e. *all* shells which source an existing .zcompdump show this problem. At the time I did some experimenting, and found that if I removed the line "cp _cp" inside the associative array assignment of _comps the problem I had went away. Today I realized that this might have something with the global alias "cp" that I have. And sure enough, if I remove the line alias -g cp='cp -b' from my .zshrc the problem goes away. HOWEVER instead of removing the alias, I can also edit the .zcompdump file, quoting the word "cp" on the faulty line. Replacing the cp _cp line, with 'cp' _cp If I do so the problem goes away completely. -- Until zsh generates a new (faulty) .zcompdump file. Thus, zsh should generate a .zcompdump file in which the keys in all associative arrays are quoted, to avoid having them expanded as aliases.
Could you confirm this bug in zsh-4.3.4-r1 ? (~arch)
zsh-4.3.4-r1 is now stable could reproduce your bug, I use plenty of alais -g and never your bug, I'm using zsh-4.3.3-r1 for a long time now.
Please reopen if the problem still exists in later versions. Thanks.