diff options
author | Felix Rosencrantz <f_rosencrantz@users.sourceforge.net> | 2002-10-09 20:38:24 +0000 |
---|---|---|
committer | Felix Rosencrantz <f_rosencrantz@users.sourceforge.net> | 2002-10-09 20:38:24 +0000 |
commit | 114d799efd1463eb1d46c0ee33c5e45948fa9e7d (patch) | |
tree | 455193fc28eac7441b132fdf5136416f8e77dabf | |
parent | ae8f4db3857a317a2cc2ff1c7533b7e911ec3221 (diff) | |
download | zsh-114d799efd1463eb1d46c0ee33c5e45948fa9e7d.tar.gz zsh-114d799efd1463eb1d46c0ee33c5e45948fa9e7d.tar.xz zsh-114d799efd1463eb1d46c0ee33c5e45948fa9e7d.zip |
Changes to _store_cache to allow cache names to contain slashes "/".
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | 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 <f_rosencrantz@yahoo.com> + + * 17793: Completion/Base/Utility/_store_cache: Allow / in cache + names. + 2002-10-07 Peter Stephenson <pws@csr.com> * 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 |