From 114d799efd1463eb1d46c0ee33c5e45948fa9e7d Mon Sep 17 00:00:00 2001 From: Felix Rosencrantz Date: Wed, 9 Oct 2002 20:38:24 +0000 Subject: Changes to _store_cache to allow cache names to contain slashes "/". --- ChangeLog | 5 +++++ Completion/Base/Utility/_store_cache | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 80e21405c..2dcf66f34 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-10-09 Felix Rosencrantz + + * 17793: Completion/Base/Utility/_store_cache: Allow / in cache + names. + 2002-10-07 Peter Stephenson * 17482 (Karl Tomlinson): Src/Modules/termcap.c, diff --git a/Completion/Base/Utility/_store_cache b/Completion/Base/Utility/_store_cache index 962c4f381..cb6e8d3b1 100644 --- a/Completion/Base/Utility/_store_cache +++ b/Completion/Base/Utility/_store_cache @@ -2,7 +2,7 @@ # # Storage component of completions caching layer -local _cache_ident +local _cache_ident _cache_ident_dir _cache_ident="$1" if zstyle -t ":completion:${curcontext}:" use-cache; then @@ -13,13 +13,28 @@ if zstyle -t ":completion:${curcontext}:" use-cache; then if [[ -e "$_cache_dir" ]]; then _message "cache-dir style points to a non-directory\!" else - mkdir -p "$_cache_dir" + (zmodload zsh/files 2>/dev/null; mkdir -p "$_cache_dir" ) if [[ ! -d "$_cache_dir" ]]; then _message "couldn't create cache-dir $_cache_dir" return 1 fi fi fi + _cache_ident_dir="$_cache_dir/$_cache_ident" + _cache_ident_dir="$_cache_ident_dir:h" + + if [[ ! -d "$_cache_ident_dir" ]]; then + if [[ -e "$_cache_ident_dir" ]]; then + _message "cache ident dir points to a non-directory:$_cache_ident_dir" + else + (zmodload zsh/files 2>/dev/null; mkdir -p "$_cache_ident_dir") + if [[ ! -d "$_cache_ident_dir" ]]; then + _message "couldn't create cache-ident_dir $_cache_ident_dir" + return 1 + fi + fi + fi + shift for var; do -- cgit 1.4.1