summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/compdump2
-rw-r--r--Completion/compinit4
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4499ef610..5ef75de11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-16  Oliver Kiddle  <opk@zsh.org>
+
+	* users/7553: Completion/compdump, Completion/compinit:
+	include zsh version in dump file to avoid problems with upgrades
+
 2004-06-15  Clint Adams  <clint@zsh.org>
 
 	* 20055: Completion/Unix/Command/_tla: additions and fixes
diff --git a/Completion/compdump b/Completion/compdump
index c762eee51..7b43a2668 100644
--- a/Completion/compdump
+++ b/Completion/compdump
@@ -33,7 +33,7 @@ if [[ -n "$_comp_secure" ]]; then
   (( $#_d_wdirs ))  && _d_files=( "${(@)_d_files:#(${(j:|:)_d_wdirs})/*}" )
 fi
 
-print "#files: $#_d_files" > $_d_file
+print "#files: $#_d_files\tversion: $ZSH_VERSION" > $_d_file
 
 # Dump the arrays _comps, _services and _patcomps.  The quoting
 # hieroglyphics ensure that a single quote inside a variable is itself
diff --git a/Completion/compinit b/Completion/compinit
index 332a153ba..785ec5854 100644
--- a/Completion/compinit
+++ b/Completion/compinit
@@ -442,7 +442,9 @@ _i_done=''
 if [[ -f "$_comp_dumpfile" ]]; then
   if [[ -n "$_i_check" ]]; then
     read -rA _i_line < "$_comp_dumpfile"
-    if [[ _i_autodump -eq 1 && $_i_line[2] -eq $#_i_files ]]; then
+    if [[ _i_autodump -eq 1 && $_i_line[2] -eq $#_i_files &&
+        $ZSH_VERSION = $_i_line[4] ]]
+    then
       builtin . "$_comp_dumpfile"
       _i_done=yes
     fi