Hi,
I'm storing a pattern in a var:

E="0='\${\${\\(M\\)\${0::=\${\\(%\\):-%x}}:\\#/\\*}:-\$PWD/\$0}'"

to then match it against:

Q='0=${${(M)${0::=${(%):-%x}}:#/*}:-$PWD/$0}'

with // substitution:

printf %s\\n $E $Q ${Q//$~E/q}

The result is no match. However, if I instead quote the string with \:

E='0=${${\(M\)${0::=${\(%\):-%x}}:\#/*}:-$PWD/$0}'  

(only ),(,#,* are quoted), then it matches. Why? It would be more comfortable to simply quote with ' the whole string...

--
Best regards,
Sebastian Gniazdowski