about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-05-26 10:00:46 +0100
committerPeter Stephenson <pws@zsh.org>2015-05-26 10:00:46 +0100
commit899613f5351642c8257401054fef5f25725af172 (patch)
treeca9f47f6fad16b556a9b8fd938a384810009bb38
parent9a6f55dc7a047a07fe40fb52a1badf62e4917c98 (diff)
downloadzsh-899613f5351642c8257401054fef5f25725af172.tar.gz
zsh-899613f5351642c8257401054fef5f25725af172.tar.xz
zsh-899613f5351642c8257401054fef5f25725af172.zip
c.f. 35268: revert completion cache optimisation for now
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Base/Utility/_store_cache11
2 files changed, 6 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e4d1fbdf..dd0511c67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2015-05-26  Peter Stephenson  <p.stephenson@samsung.com>
 
+	* see 35268: revert 34476 (ae7dcab) as it seems to be having
+	effects beyond the intended optimisation of completion caching.
+	To be investigated further after the release.
+
 	* Han Pingtian: 35295: Functions/Zftp/zfcd_match: be more
 	inventive zftp directory listing.
 
diff --git a/Completion/Base/Utility/_store_cache b/Completion/Base/Utility/_store_cache
index 8feaee6f7..86e72e9a9 100644
--- a/Completion/Base/Utility/_store_cache
+++ b/Completion/Base/Utility/_store_cache
@@ -46,15 +46,8 @@ if zstyle -t ":completion:${curcontext}:" use-cache; then
   for var; do
     case ${(Pt)var} in
     (*readonly*) ;;
-    (*(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}";;
+    (*(association|array)*) print -r "$var=( ${(kv@Pqq)^^var} )";;
+    (*)                     print -r "$var=${(Pqq)^^var}";;
     esac
   done >! "$_cache_dir/$_cache_ident"
 else