mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-04 20:40:57 +02:00
34476: change _store_cache assignment format
Avoids potentially expensive lexical analysis of the array values.
This commit is contained in:
parent
7398fea059
commit
ae7dcab5ed
2 changed files with 13 additions and 2 deletions
|
@ -4,6 +4,10 @@
|
|||
Back out 34485, an alternate solution needs to be worked
|
||||
out. (Tweaked to keep the unrelated hunk of the E01 test.)
|
||||
|
||||
* 34476: Completion/Base/Utility/_store_cache: change the
|
||||
assignment format to avoid potentially expensive lexical
|
||||
analysis of the array values
|
||||
|
||||
2015-02-11 Peter Stephenson <p.stephenson@samsung.com>
|
||||
|
||||
* users/19850: Doc/Zsh/params.yo, Src/watch.c: watch variable
|
||||
|
|
|
@ -46,8 +46,15 @@ if zstyle -t ":completion:${curcontext}:" use-cache; then
|
|||
for var; do
|
||||
case ${(Pt)var} in
|
||||
(*readonly*) ;;
|
||||
(*(association|array)*) print -r "$var=( ${(kv@Pqq)^^var} )";;
|
||||
(*) print -r "$var=${(Pqq)^^var}";;
|
||||
(*(association|array)*)
|
||||
# Dump the array as a here-document to reduce parsing overhead
|
||||
# when reloading the cache with "source" from _retrieve_cache
|
||||
print -r "$var=( "'"${(zQ)$(<<\EO:'"$var"
|
||||
print -r "${(kv@Pqq)^^var}"
|
||||
print -r "EO:$var"
|
||||
print -r ')}" )'
|
||||
;;
|
||||
(*) print -r "$var=${(Pqq)^^var}";;
|
||||
esac
|
||||
done >! "$_cache_dir/$_cache_ident"
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue