about summary refs log tree commit diff
path: root/Functions
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-02 11:34:28 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-02 11:34:28 +0000
commitbe2a2590e4551df42c180b4f2e5aa4b4ffb860c1 (patch)
tree3c6a68023ea97b13f184521b62920fc2f5b4a1f4 /Functions
parent48cd3184fbd74886d39a71e8bb18109e47b79262 (diff)
downloadzsh-be2a2590e4551df42c180b4f2e5aa4b4ffb860c1.tar.gz
zsh-be2a2590e4551df42c180b4f2e5aa4b4ffb860c1.tar.xz
zsh-be2a2590e4551df42c180b4f2e5aa4b4ffb860c1.zip
make zrecompile detect deleted and new files (11061)
Diffstat (limited to 'Functions')
-rw-r--r--Functions/Misc/zrecompile21
1 files changed, 13 insertions, 8 deletions
diff --git a/Functions/Misc/zrecompile b/Functions/Misc/zrecompile
index 88d976f5b..c2aa2a4e3 100644
--- a/Functions/Misc/zrecompile
+++ b/Functions/Misc/zrecompile
@@ -53,7 +53,7 @@ else
 fi
 
 if [[ -n $pats ]]; then
-  local end
+  local end num
 
   while (( $# )); do
     end=$argv[(i)--]
@@ -84,13 +84,18 @@ if [[ -n $pats ]]; then
     (( $#files )) || files=( ${zwc%.zwc} )
 
     if [[ -f $zwc ]]; then
-      re=
-      for file in $files; do
-        if [[ $file -nt $zwc ]]; then
-          re=yes
-	  break
-        fi
-      done
+      num=$(zcompile -t $zwc | wc -l)
+      if [[ num-1 -ne $#files ]]; then
+        re=yes
+      else
+        re=
+        for file in $files; do
+          if [[ $file -nt $zwc ]]; then
+            re=yes
+	    break
+          fi
+        done
+      fi
     else
       re=yes
     fi