Hello,
I think I found a bug. _store_cache produces wrong output when
both KSH_TYPESET and MAGIC_EQUAL_SUBST are set.
Here's a piece of code:
for var; do
case ${(Pt)var} in
(*readonly*) ;;
(*(association|array)*) print -r "$var=( ${(kv@Pqq)^^var} )";;
(*) print -r "$var=${(Pqq)^^var}";;
esac
done >! "$_cache_dir/$_cache_ident"
And here is how to reproduce a bug:
$ var=perl_modules
$ perl_modules=(AutoLoader DynaLoader SelfLoader)
$ emulate -R zsh
$ print -r "$var=( ${(kv@Pqq)^^var} )"
perl_modules=( 'AutoLoader' 'DynaLoader' 'SelfLoader' )
$ setopt KSH_TYPESET MAGIC_EQUAL_SUBST
$ print -r "$var=( ${(kv@Pqq)^^var} )"
perl_modules=( 'AutoLoader DynaLoader SelfLoader' )
$
So the cache data are unusable in the second case.
Actually this bug is not specific to _store_cache.
Any ideas?
--
Alexey Tourbin
ALT Linux Team
Attachment:
pgpAY5gDrqIwF.pgp
Description: PGP signature