updated for version 7.0121
diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap
index 6340d43..80bfcea 100644
--- a/runtime/spell/de/main.aap
+++ b/runtime/spell/de/main.aap
@@ -4,7 +4,7 @@
 @if os.path.exists('../../../src/vim'):
     VIM = ../../../src/vim
 @else:
-    VIM = vim
+    :progsearch VIM vim
 
 SPELLDIR = ..
 FILES    = de_DE.aff de_DE.dic
@@ -41,8 +41,9 @@
         @if not os.path.exists('de_DE.orig.aff'):
                 :copy de_DE.aff de_DE.orig.aff
         @if not os.path.exists('de_DE.orig.dic'):
-                :copy de_DE.aff de_DE.orig.dic
-        :sys patch <de_DE.diff
+                :copy de_DE.dic de_DE.orig.dic
+        @if os.path.exists('de_DE.diff'):
+            :sys patch <de_DE.diff
 
 
 # Generate diff files, so that others can get the OpenOffice files and apply
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index 1b51921..73c59c7 100644
--- a/runtime/spell/en.ascii.spl
+++ b/runtime/spell/en.ascii.spl
Binary files differ
diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl
index b759d2f..ed645b8 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en/en_AU.diff b/runtime/spell/en/en_AU.diff
index 1b45c8f..c0ee62d 100644
--- a/runtime/spell/en/en_AU.diff
+++ b/runtime/spell/en/en_AU.diff
@@ -1,11 +1,11 @@
 *** en_AU.orig.aff	Fri Apr 15 13:20:36 2005
---- en_AU.aff	Sun Jul  3 17:11:07 2005
+--- en_AU.aff	Sun Jul 31 22:16:19 2005
 ***************
 *** 7,9 ****
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ 
   REP 24
---- 7,19 ----
+--- 7,140 ----
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ
 ! 
@@ -18,6 +18,127 @@
 ! RAR ?
 ! BAD !
 ! 
+! MAP 9
+! MAP aàáâãäå
+! MAP eèéêë
+! MAP iìíîï
+! MAP oòóôõö
+! MAP uùúûü
+! MAP nñ
+! MAP cç
+! MAP yÿý
+! MAP sß
+! 
+! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
+! 
+! SAL AH(AEIOUY)-^         *H
+! SAL AR(AEIOUY)-^         *R
+! SAL A(HR)^               *
+! SAL A^                   *
+! SAL AH(AEIOUY)-          H
+! SAL AR(AEIOUY)-          R
+! SAL A(HR)                _
+! SAL À^                   *
+! SAL Å^                   *
+! SAL BB-                  _
+! SAL B                    B
+! SAL CQ-                  _
+! SAL CIA                  X
+! SAL CH                   X
+! SAL C(EIY)-              S
+! SAL CK                   K
+! SAL COUGH^               KF
+! SAL CC<                  C
+! SAL C                    K
+! SAL DG(EIY)              K
+! SAL DD-                  _
+! SAL D                    T
+! SAL É<                   E
+! SAL EH(AEIOUY)-^         *H
+! SAL ER(AEIOUY)-^         *R
+! SAL E(HR)^               *
+! SAL ENOUGH^$             *NF
+! SAL E^                   *
+! SAL EH(AEIOUY)-          H
+! SAL ER(AEIOUY)-          R
+! SAL E(HR)                _
+! SAL FF-                  _
+! SAL F                    F
+! SAL GN^                  N
+! SAL GN$                  N
+! SAL GNS$                 NS
+! SAL GNED$                N
+! SAL GH(AEIOUY)-          K
+! SAL GH                   _
+! SAL GG9                  K
+! SAL G                    K
+! SAL H                    H
+! SAL IH(AEIOUY)-^         *H
+! SAL IR(AEIOUY)-^         *R
+! SAL I(HR)^               *
+! SAL I^                   *
+! SAL ING6                 N
+! SAL IH(AEIOUY)-          H
+! SAL IR(AEIOUY)-          R
+! SAL I(HR)                _
+! SAL J                    K
+! SAL KN^                  N
+! SAL KK-                  _
+! SAL K                    K
+! SAL LAUGH^               LF
+! SAL LL-                  _
+! SAL L                    L
+! SAL MB$                  M
+! SAL MM                   M
+! SAL M                    M
+! SAL NN-                  _
+! SAL N                    N
+! SAL OH(AEIOUY)-^         *H
+! SAL OR(AEIOUY)-^         *R
+! SAL O(HR)^               *
+! SAL O^                   *
+! SAL OH(AEIOUY)-          H
+! SAL OR(AEIOUY)-          R
+! SAL O(HR)                _
+! SAL PH                   F
+! SAL PN^                  N
+! SAL PP-                  _
+! SAL P                    P
+! SAL Q                    K
+! SAL RH^                  R
+! SAL ROUGH^               RF
+! SAL RR-                  _
+! SAL R                    R
+! SAL SCH(EOU)-            SK
+! SAL SC(IEY)-             S
+! SAL SH                   X
+! SAL SI(AO)-              X
+! SAL SS-                  _
+! SAL S                    S
+! SAL TI(AO)-              X
+! SAL TH                   @
+! SAL TCH--                _
+! SAL TOUGH^               TF
+! SAL TT-                  _
+! SAL T                    T
+! SAL UH(AEIOUY)-^         *H
+! SAL UR(AEIOUY)-^         *R
+! SAL U(HR)^               *
+! SAL U^                   *
+! SAL UH(AEIOUY)-          H
+! SAL UR(AEIOUY)-          R
+! SAL U(HR)                _
+! SAL V^                   W
+! SAL V                    F
+! SAL WR^                  R
+! SAL WH^                  W
+! SAL W(AEIOU)-            W
+! SAL X^                   S
+! SAL X                    KS
+! SAL Y(AEIOU)-            Y
+! SAL ZZ-                  _
+! SAL Z                    S
+! 
   REP 24
 ***************
 *** 34,53 ****
@@ -41,7 +162,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 44,63 ----
+--- 165,184 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -459,7 +580,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 67,461 ----
+--- 188,582 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1543,7 +1664,7 @@
 ! SFX 3 0 ist's [aeioubp]y 
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
---- 468,1274 ----
+--- 589,1274 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2230,127 +2351,6 @@
 ! SFX 3 0 ist's [aeioubp]y
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
-! 
-! MAP 5
-! MAP aàáâãäå
-! MAP eèéêë
-! MAP iìíîï
-! MAP oòóôõö
-! MAP uùúûü
-! MAP nñ
-! MAP cç
-! MAP yÿý
-! MAP sß
-! 
-! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
-! 
-! SAL AH(AEIOUY)-^         *H
-! SAL AR(AEIOUY)-^         *R
-! SAL A(HR)^               *
-! SAL A^                   *
-! SAL AH(AEIOUY)-          H
-! SAL AR(AEIOUY)-          R
-! SAL A(HR)                _
-! SAL À^                   *
-! SAL Å^                   *
-! SAL BB-                  _
-! SAL B                    B
-! SAL CQ-                  _
-! SAL CIA                  X
-! SAL CH                   X
-! SAL C(EIY)-              S
-! SAL CK                   K
-! SAL COUGH^               KF
-! SAL CC<                  C
-! SAL C                    K
-! SAL DG(EIY)              K
-! SAL DD-                  _
-! SAL D                    T
-! SAL É<                   E
-! SAL EH(AEIOUY)-^         *H
-! SAL ER(AEIOUY)-^         *R
-! SAL E(HR)^               *
-! SAL ENOUGH^$             *NF
-! SAL E^                   *
-! SAL EH(AEIOUY)-          H
-! SAL ER(AEIOUY)-          R
-! SAL E(HR)                _
-! SAL FF-                  _
-! SAL F                    F
-! SAL GN^                  N
-! SAL GN$                  N
-! SAL GNS$                 NS
-! SAL GNED$                N
-! SAL GH(AEIOUY)-          K
-! SAL GH                   _
-! SAL GG9                  K
-! SAL G                    K
-! SAL H                    H
-! SAL IH(AEIOUY)-^         *H
-! SAL IR(AEIOUY)-^         *R
-! SAL I(HR)^               *
-! SAL I^                   *
-! SAL ING6                 N
-! SAL IH(AEIOUY)-          H
-! SAL IR(AEIOUY)-          R
-! SAL I(HR)                _
-! SAL J                    K
-! SAL KN^                  N
-! SAL KK-                  _
-! SAL K                    K
-! SAL LAUGH^               LF
-! SAL LL-                  _
-! SAL L                    L
-! SAL MB$                  M
-! SAL MM                   M
-! SAL M                    M
-! SAL NN-                  _
-! SAL N                    N
-! SAL OH(AEIOUY)-^         *H
-! SAL OR(AEIOUY)-^         *R
-! SAL O(HR)^               *
-! SAL O^                   *
-! SAL OH(AEIOUY)-          H
-! SAL OR(AEIOUY)-          R
-! SAL O(HR)                _
-! SAL PH                   F
-! SAL PN^                  N
-! SAL PP-                  _
-! SAL P                    P
-! SAL Q                    K
-! SAL RH^                  R
-! SAL ROUGH^               RF
-! SAL RR-                  _
-! SAL R                    R
-! SAL SCH(EOU)-            SK
-! SAL SC(IEY)-             S
-! SAL SH                   X
-! SAL SI(AO)-              X
-! SAL SS-                  _
-! SAL S                    S
-! SAL TI(AO)-              X
-! SAL TH                   @
-! SAL TCH--                _
-! SAL TOUGH^               TF
-! SAL TT-                  _
-! SAL T                    T
-! SAL UH(AEIOUY)-^         *H
-! SAL UR(AEIOUY)-^         *R
-! SAL U(HR)^               *
-! SAL U^                   *
-! SAL UH(AEIOUY)-          H
-! SAL UR(AEIOUY)-          R
-! SAL U(HR)                _
-! SAL V^                   W
-! SAL V                    F
-! SAL WR^                  R
-! SAL WH^                  W
-! SAL W(AEIOU)-            W
-! SAL X^                   S
-! SAL X                    KS
-! SAL Y(AEIOU)-            Y
-! SAL ZZ-                  _
-! SAL Z                    S
 *** en_AU.orig.dic	Fri Apr 15 13:20:36 2005
 --- en_AU.dic	Sun Jul  3 17:11:07 2005
 ***************
diff --git a/runtime/spell/en/en_CA.diff b/runtime/spell/en/en_CA.diff
index 0ae8ff8..904e0c6 100644
--- a/runtime/spell/en/en_CA.diff
+++ b/runtime/spell/en/en_CA.diff
@@ -1,8 +1,8 @@
 *** en_CA.orig.aff	Fri Apr 15 13:20:36 2005
---- en_CA.aff	Sun Jul  3 17:09:40 2005
+--- en_CA.aff	Sun Jul 31 22:16:56 2005
 ***************
 *** 3,4 ****
---- 3,13 ----
+--- 3,134 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -13,42 +13,7 @@
 + RAR ?
 + BAD !
 + 
-  PFX A Y 1
-***************
-*** 30,33 ****
-  SFX N   e     ion        e
-! SFX N   y     ication    y 
-! SFX N   0     en         [^ey] 
-  
---- 39,42 ----
-  SFX N   e     ion        e
-! SFX N   y     ication    y
-! SFX N   0     en         [^ey]
-  
-***************
-*** 40,42 ****
-  SFX H   y     ieth       y
-! SFX H   0     th         [^y] 
-  
---- 49,51 ----
-  SFX H   y     ieth       y
-! SFX H   0     th         [^y]
-  
-***************
-*** 47,49 ****
-  SFX G   e     ing        e
-! SFX G   0     ing        [^e] 
-  
---- 56,58 ----
-  SFX G   e     ing        e
-! SFX G   0     ing        [^e]
-  
-***************
-*** 98 ****
---- 107,228 ----
-  SFX L   0     ment       .
-+ 
-+ MAP 5
++ MAP 9
 + MAP aàáâãäå
 + MAP eèéêë
 + MAP iìíîï
@@ -168,6 +133,37 @@
 + SAL Y(AEIOU)-            Y
 + SAL ZZ-                  _
 + SAL Z                    S
++ 
+  PFX A Y 1
+***************
+*** 30,33 ****
+  SFX N   e     ion        e
+! SFX N   y     ication    y 
+! SFX N   0     en         [^ey] 
+  
+--- 160,163 ----
+  SFX N   e     ion        e
+! SFX N   y     ication    y
+! SFX N   0     en         [^ey]
+  
+***************
+*** 40,42 ****
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y] 
+  
+--- 170,172 ----
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y]
+  
+***************
+*** 47,49 ****
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e] 
+  
+--- 177,179 ----
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e]
+  
 *** en_CA.orig.dic	Sat Apr 16 14:40:06 2005
 --- en_CA.dic	Sun Jul  3 17:09:40 2005
 ***************
diff --git a/runtime/spell/en/en_GB.diff b/runtime/spell/en/en_GB.diff
index ab6e8da..6032c25 100644
--- a/runtime/spell/en/en_GB.diff
+++ b/runtime/spell/en/en_GB.diff
@@ -1,8 +1,8 @@
 *** en_GB.orig.aff	Sun Jul  3 17:53:13 2005
---- en_GB.aff	Sun Jul  3 17:59:15 2005
+--- en_GB.aff	Sun Jul 31 22:17:09 2005
 ***************
 *** 8,9 ****
---- 8,19 ----
+--- 8,140 ----
   TRY esiaénrtolcdugmfphbyvkw-'.zqjxSNRTLCGDMFPHBEAUYOIVKWóöâôZQJXÅçèîêàïüäñ
 + 
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -14,6 +14,127 @@
 + RAR ?
 + BAD !
 + 
++ MAP 9
++ MAP aàáâãäå
++ MAP eèéêë
++ MAP iìíîï
++ MAP oòóôõö
++ MAP uùúûü
++ MAP nñ
++ MAP cç
++ MAP yÿý
++ MAP sß
++ 
++ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
++ 
++ SAL AH(AEIOUY)-^         *H
++ SAL AR(AEIOUY)-^         *R
++ SAL A(HR)^               *
++ SAL A^                   *
++ SAL AH(AEIOUY)-          H
++ SAL AR(AEIOUY)-          R
++ SAL A(HR)                _
++ SAL À^                   *
++ SAL Å^                   *
++ SAL BB-                  _
++ SAL B                    B
++ SAL CQ-                  _
++ SAL CIA                  X
++ SAL CH                   X
++ SAL C(EIY)-              S
++ SAL CK                   K
++ SAL COUGH^               KF
++ SAL CC<                  C
++ SAL C                    K
++ SAL DG(EIY)              K
++ SAL DD-                  _
++ SAL D                    T
++ SAL É<                   E
++ SAL EH(AEIOUY)-^         *H
++ SAL ER(AEIOUY)-^         *R
++ SAL E(HR)^               *
++ SAL ENOUGH^$             *NF
++ SAL E^                   *
++ SAL EH(AEIOUY)-          H
++ SAL ER(AEIOUY)-          R
++ SAL E(HR)                _
++ SAL FF-                  _
++ SAL F                    F
++ SAL GN^                  N
++ SAL GN$                  N
++ SAL GNS$                 NS
++ SAL GNED$                N
++ SAL GH(AEIOUY)-          K
++ SAL GH                   _
++ SAL GG9                  K
++ SAL G                    K
++ SAL H                    H
++ SAL IH(AEIOUY)-^         *H
++ SAL IR(AEIOUY)-^         *R
++ SAL I(HR)^               *
++ SAL I^                   *
++ SAL ING6                 N
++ SAL IH(AEIOUY)-          H
++ SAL IR(AEIOUY)-          R
++ SAL I(HR)                _
++ SAL J                    K
++ SAL KN^                  N
++ SAL KK-                  _
++ SAL K                    K
++ SAL LAUGH^               LF
++ SAL LL-                  _
++ SAL L                    L
++ SAL MB$                  M
++ SAL MM                   M
++ SAL M                    M
++ SAL NN-                  _
++ SAL N                    N
++ SAL OH(AEIOUY)-^         *H
++ SAL OR(AEIOUY)-^         *R
++ SAL O(HR)^               *
++ SAL O^                   *
++ SAL OH(AEIOUY)-          H
++ SAL OR(AEIOUY)-          R
++ SAL O(HR)                _
++ SAL PH                   F
++ SAL PN^                  N
++ SAL PP-                  _
++ SAL P                    P
++ SAL Q                    K
++ SAL RH^                  R
++ SAL ROUGH^               RF
++ SAL RR-                  _
++ SAL R                    R
++ SAL SCH(EOU)-            SK
++ SAL SC(IEY)-             S
++ SAL SH                   X
++ SAL SI(AO)-              X
++ SAL SS-                  _
++ SAL S                    S
++ SAL TI(AO)-              X
++ SAL TH                   @
++ SAL TCH--                _
++ SAL TOUGH^               TF
++ SAL TT-                  _
++ SAL T                    T
++ SAL UH(AEIOUY)-^         *H
++ SAL UR(AEIOUY)-^         *R
++ SAL U(HR)^               *
++ SAL U^                   *
++ SAL UH(AEIOUY)-          H
++ SAL UR(AEIOUY)-          R
++ SAL U(HR)                _
++ SAL V^                   W
++ SAL V                    F
++ SAL WR^                  R
++ SAL WH^                  W
++ SAL W(AEIOU)-            W
++ SAL X^                   S
++ SAL X                    KS
++ SAL Y(AEIOU)-            Y
++ SAL ZZ-                  _
++ SAL Z                    S
++ 
   REP 27
 ***************
 *** 37,56 ****
@@ -37,7 +158,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 47,66 ----
+--- 168,187 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -455,7 +576,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 70,464 ----
+--- 191,585 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1543,7 +1664,7 @@
 ! SFX 3 0 ist's [aeioubp]y 
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
---- 471,1281 ----
+--- 592,1281 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2234,127 +2355,6 @@
 ! SFX 3 0 ist's [aeioubp]y
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
-! 
-! MAP 5
-! MAP aàáâãäå
-! MAP eèéêë
-! MAP iìíîï
-! MAP oòóôõö
-! MAP uùúûü
-! MAP nñ
-! MAP cç
-! MAP yÿý
-! MAP sß
-! 
-! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
-! 
-! SAL AH(AEIOUY)-^         *H
-! SAL AR(AEIOUY)-^         *R
-! SAL A(HR)^               *
-! SAL A^                   *
-! SAL AH(AEIOUY)-          H
-! SAL AR(AEIOUY)-          R
-! SAL A(HR)                _
-! SAL À^                   *
-! SAL Å^                   *
-! SAL BB-                  _
-! SAL B                    B
-! SAL CQ-                  _
-! SAL CIA                  X
-! SAL CH                   X
-! SAL C(EIY)-              S
-! SAL CK                   K
-! SAL COUGH^               KF
-! SAL CC<                  C
-! SAL C                    K
-! SAL DG(EIY)              K
-! SAL DD-                  _
-! SAL D                    T
-! SAL É<                   E
-! SAL EH(AEIOUY)-^         *H
-! SAL ER(AEIOUY)-^         *R
-! SAL E(HR)^               *
-! SAL ENOUGH^$             *NF
-! SAL E^                   *
-! SAL EH(AEIOUY)-          H
-! SAL ER(AEIOUY)-          R
-! SAL E(HR)                _
-! SAL FF-                  _
-! SAL F                    F
-! SAL GN^                  N
-! SAL GN$                  N
-! SAL GNS$                 NS
-! SAL GNED$                N
-! SAL GH(AEIOUY)-          K
-! SAL GH                   _
-! SAL GG9                  K
-! SAL G                    K
-! SAL H                    H
-! SAL IH(AEIOUY)-^         *H
-! SAL IR(AEIOUY)-^         *R
-! SAL I(HR)^               *
-! SAL I^                   *
-! SAL ING6                 N
-! SAL IH(AEIOUY)-          H
-! SAL IR(AEIOUY)-          R
-! SAL I(HR)                _
-! SAL J                    K
-! SAL KN^                  N
-! SAL KK-                  _
-! SAL K                    K
-! SAL LAUGH^               LF
-! SAL LL-                  _
-! SAL L                    L
-! SAL MB$                  M
-! SAL MM                   M
-! SAL M                    M
-! SAL NN-                  _
-! SAL N                    N
-! SAL OH(AEIOUY)-^         *H
-! SAL OR(AEIOUY)-^         *R
-! SAL O(HR)^               *
-! SAL O^                   *
-! SAL OH(AEIOUY)-          H
-! SAL OR(AEIOUY)-          R
-! SAL O(HR)                _
-! SAL PH                   F
-! SAL PN^                  N
-! SAL PP-                  _
-! SAL P                    P
-! SAL Q                    K
-! SAL RH^                  R
-! SAL ROUGH^               RF
-! SAL RR-                  _
-! SAL R                    R
-! SAL SCH(EOU)-            SK
-! SAL SC(IEY)-             S
-! SAL SH                   X
-! SAL SI(AO)-              X
-! SAL SS-                  _
-! SAL S                    S
-! SAL TI(AO)-              X
-! SAL TH                   @
-! SAL TCH--                _
-! SAL TOUGH^               TF
-! SAL TT-                  _
-! SAL T                    T
-! SAL UH(AEIOUY)-^         *H
-! SAL UR(AEIOUY)-^         *R
-! SAL U(HR)^               *
-! SAL U^                   *
-! SAL UH(AEIOUY)-          H
-! SAL UR(AEIOUY)-          R
-! SAL U(HR)                _
-! SAL V^                   W
-! SAL V                    F
-! SAL WR^                  R
-! SAL WH^                  W
-! SAL W(AEIOU)-            W
-! SAL X^                   S
-! SAL X                    KS
-! SAL Y(AEIOU)-            Y
-! SAL ZZ-                  _
-! SAL Z                    S
 *** en_GB.orig.dic	Sun Jul  3 18:05:07 2005
 --- en_GB.dic	Sun Jul  3 18:19:25 2005
 ***************
diff --git a/runtime/spell/en/en_NZ.diff b/runtime/spell/en/en_NZ.diff
index 5c95622..4e28fff 100644
--- a/runtime/spell/en/en_NZ.diff
+++ b/runtime/spell/en/en_NZ.diff
@@ -1,11 +1,11 @@
 *** en_NZ.orig.aff	Fri Apr 15 13:20:36 2005
---- en_NZ.aff	Sun Jul  3 17:11:34 2005
+--- en_NZ.aff	Sun Jul 31 22:17:27 2005
 ***************
 *** 7,9 ****
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ 
   REP 66
---- 7,19 ----
+--- 7,140 ----
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ
 ! 
@@ -18,6 +18,127 @@
 ! RAR ?
 ! BAD !
 ! 
+! MAP 9
+! MAP aàáâãäå
+! MAP eèéêë
+! MAP iìíîï
+! MAP oòóôõö
+! MAP uùúûü
+! MAP nñ
+! MAP cç
+! MAP yÿý
+! MAP sß
+! 
+! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
+! 
+! SAL AH(AEIOUY)-^         *H
+! SAL AR(AEIOUY)-^         *R
+! SAL A(HR)^               *
+! SAL A^                   *
+! SAL AH(AEIOUY)-          H
+! SAL AR(AEIOUY)-          R
+! SAL A(HR)                _
+! SAL À^                   *
+! SAL Å^                   *
+! SAL BB-                  _
+! SAL B                    B
+! SAL CQ-                  _
+! SAL CIA                  X
+! SAL CH                   X
+! SAL C(EIY)-              S
+! SAL CK                   K
+! SAL COUGH^               KF
+! SAL CC<                  C
+! SAL C                    K
+! SAL DG(EIY)              K
+! SAL DD-                  _
+! SAL D                    T
+! SAL É<                   E
+! SAL EH(AEIOUY)-^         *H
+! SAL ER(AEIOUY)-^         *R
+! SAL E(HR)^               *
+! SAL ENOUGH^$             *NF
+! SAL E^                   *
+! SAL EH(AEIOUY)-          H
+! SAL ER(AEIOUY)-          R
+! SAL E(HR)                _
+! SAL FF-                  _
+! SAL F                    F
+! SAL GN^                  N
+! SAL GN$                  N
+! SAL GNS$                 NS
+! SAL GNED$                N
+! SAL GH(AEIOUY)-          K
+! SAL GH                   _
+! SAL GG9                  K
+! SAL G                    K
+! SAL H                    H
+! SAL IH(AEIOUY)-^         *H
+! SAL IR(AEIOUY)-^         *R
+! SAL I(HR)^               *
+! SAL I^                   *
+! SAL ING6                 N
+! SAL IH(AEIOUY)-          H
+! SAL IR(AEIOUY)-          R
+! SAL I(HR)                _
+! SAL J                    K
+! SAL KN^                  N
+! SAL KK-                  _
+! SAL K                    K
+! SAL LAUGH^               LF
+! SAL LL-                  _
+! SAL L                    L
+! SAL MB$                  M
+! SAL MM                   M
+! SAL M                    M
+! SAL NN-                  _
+! SAL N                    N
+! SAL OH(AEIOUY)-^         *H
+! SAL OR(AEIOUY)-^         *R
+! SAL O(HR)^               *
+! SAL O^                   *
+! SAL OH(AEIOUY)-          H
+! SAL OR(AEIOUY)-          R
+! SAL O(HR)                _
+! SAL PH                   F
+! SAL PN^                  N
+! SAL PP-                  _
+! SAL P                    P
+! SAL Q                    K
+! SAL RH^                  R
+! SAL ROUGH^               RF
+! SAL RR-                  _
+! SAL R                    R
+! SAL SCH(EOU)-            SK
+! SAL SC(IEY)-             S
+! SAL SH                   X
+! SAL SI(AO)-              X
+! SAL SS-                  _
+! SAL S                    S
+! SAL TI(AO)-              X
+! SAL TH                   @
+! SAL TCH--                _
+! SAL TOUGH^               TF
+! SAL TT-                  _
+! SAL T                    T
+! SAL UH(AEIOUY)-^         *H
+! SAL UR(AEIOUY)-^         *R
+! SAL U(HR)^               *
+! SAL U^                   *
+! SAL UH(AEIOUY)-          H
+! SAL UR(AEIOUY)-          R
+! SAL U(HR)                _
+! SAL V^                   W
+! SAL V                    F
+! SAL WR^                  R
+! SAL WH^                  W
+! SAL W(AEIOU)-            W
+! SAL X^                   S
+! SAL X                    KS
+! SAL Y(AEIOU)-            Y
+! SAL ZZ-                  _
+! SAL Z                    S
+! 
   REP 66
 ***************
 *** 76,95 ****
@@ -41,7 +162,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 86,105 ----
+--- 207,226 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -459,7 +580,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 109,503 ----
+--- 230,624 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1544,7 +1665,7 @@
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
 \ No newline at end of file
---- 510,1316 ----
+--- 631,1316 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2231,127 +2352,6 @@
 ! SFX 3 0 ist's [aeioubp]y
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
-! 
-! MAP 5
-! MAP aàáâãäå
-! MAP eèéêë
-! MAP iìíîï
-! MAP oòóôõö
-! MAP uùúûü
-! MAP nñ
-! MAP cç
-! MAP yÿý
-! MAP sß
-! 
-! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
-! 
-! SAL AH(AEIOUY)-^         *H
-! SAL AR(AEIOUY)-^         *R
-! SAL A(HR)^               *
-! SAL A^                   *
-! SAL AH(AEIOUY)-          H
-! SAL AR(AEIOUY)-          R
-! SAL A(HR)                _
-! SAL À^                   *
-! SAL Å^                   *
-! SAL BB-                  _
-! SAL B                    B
-! SAL CQ-                  _
-! SAL CIA                  X
-! SAL CH                   X
-! SAL C(EIY)-              S
-! SAL CK                   K
-! SAL COUGH^               KF
-! SAL CC<                  C
-! SAL C                    K
-! SAL DG(EIY)              K
-! SAL DD-                  _
-! SAL D                    T
-! SAL É<                   E
-! SAL EH(AEIOUY)-^         *H
-! SAL ER(AEIOUY)-^         *R
-! SAL E(HR)^               *
-! SAL ENOUGH^$             *NF
-! SAL E^                   *
-! SAL EH(AEIOUY)-          H
-! SAL ER(AEIOUY)-          R
-! SAL E(HR)                _
-! SAL FF-                  _
-! SAL F                    F
-! SAL GN^                  N
-! SAL GN$                  N
-! SAL GNS$                 NS
-! SAL GNED$                N
-! SAL GH(AEIOUY)-          K
-! SAL GH                   _
-! SAL GG9                  K
-! SAL G                    K
-! SAL H                    H
-! SAL IH(AEIOUY)-^         *H
-! SAL IR(AEIOUY)-^         *R
-! SAL I(HR)^               *
-! SAL I^                   *
-! SAL ING6                 N
-! SAL IH(AEIOUY)-          H
-! SAL IR(AEIOUY)-          R
-! SAL I(HR)                _
-! SAL J                    K
-! SAL KN^                  N
-! SAL KK-                  _
-! SAL K                    K
-! SAL LAUGH^               LF
-! SAL LL-                  _
-! SAL L                    L
-! SAL MB$                  M
-! SAL MM                   M
-! SAL M                    M
-! SAL NN-                  _
-! SAL N                    N
-! SAL OH(AEIOUY)-^         *H
-! SAL OR(AEIOUY)-^         *R
-! SAL O(HR)^               *
-! SAL O^                   *
-! SAL OH(AEIOUY)-          H
-! SAL OR(AEIOUY)-          R
-! SAL O(HR)                _
-! SAL PH                   F
-! SAL PN^                  N
-! SAL PP-                  _
-! SAL P                    P
-! SAL Q                    K
-! SAL RH^                  R
-! SAL ROUGH^               RF
-! SAL RR-                  _
-! SAL R                    R
-! SAL SCH(EOU)-            SK
-! SAL SC(IEY)-             S
-! SAL SH                   X
-! SAL SI(AO)-              X
-! SAL SS-                  _
-! SAL S                    S
-! SAL TI(AO)-              X
-! SAL TH                   @
-! SAL TCH--                _
-! SAL TOUGH^               TF
-! SAL TT-                  _
-! SAL T                    T
-! SAL UH(AEIOUY)-^         *H
-! SAL UR(AEIOUY)-^         *R
-! SAL U(HR)^               *
-! SAL U^                   *
-! SAL UH(AEIOUY)-          H
-! SAL UR(AEIOUY)-          R
-! SAL U(HR)                _
-! SAL V^                   W
-! SAL V                    F
-! SAL WR^                  R
-! SAL WH^                  W
-! SAL W(AEIOU)-            W
-! SAL X^                   S
-! SAL X                    KS
-! SAL Y(AEIOU)-            Y
-! SAL ZZ-                  _
-! SAL Z                    S
 *** en_NZ.orig.dic	Fri Apr 15 13:20:36 2005
 --- en_NZ.dic	Sun Jul  3 17:11:34 2005
 ***************
diff --git a/runtime/spell/en/en_US.diff b/runtime/spell/en/en_US.diff
index e2321a0..99ddf0a 100644
--- a/runtime/spell/en/en_US.diff
+++ b/runtime/spell/en/en_US.diff
@@ -1,8 +1,8 @@
 *** en_US.orig.aff	Fri Apr 15 13:20:36 2005
---- en_US.aff	Sun Jul  3 16:59:28 2005
+--- en_US.aff	Sun Jul 31 22:17:40 2005
 ***************
 *** 3,4 ****
---- 3,13 ----
+--- 3,134 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -13,49 +13,7 @@
 + RAR ?
 + BAD !
 + 
-  PFX A Y 1
-***************
-*** 30,33 ****
-  SFX N   e     ion        e
-! SFX N   y     ication    y 
-! SFX N   0     en         [^ey] 
-  
---- 39,42 ----
-  SFX N   e     ion        e
-! SFX N   y     ication    y
-! SFX N   0     en         [^ey]
-  
-***************
-*** 40,42 ****
-  SFX H   y     ieth       y
-! SFX H   0     th         [^y] 
-  
---- 49,51 ----
-  SFX H   y     ieth       y
-! SFX H   0     th         [^y]
-  
-***************
-*** 47,49 ****
-  SFX G   e     ing        e
-! SFX G   0     ing        [^e] 
-  
---- 56,58 ----
-  SFX G   e     ing        e
-! SFX G   0     ing        [^e]
-  
-***************
-*** 137,138 ****
---- 146,149 ----
-  REP uy i
-+ REP y ie
-+ REP ie y
-  REP i ee
-***************
-*** 188 ****
---- 199,320 ----
-  REP shun cion
-+ 
-+ MAP 5
++ MAP 9
 + MAP aàáâãäå
 + MAP eèéêë
 + MAP iìíîï
@@ -175,6 +133,44 @@
 + SAL Y(AEIOU)-            Y
 + SAL ZZ-                  _
 + SAL Z                    S
++ 
+  PFX A Y 1
+***************
+*** 30,33 ****
+  SFX N   e     ion        e
+! SFX N   y     ication    y 
+! SFX N   0     en         [^ey] 
+  
+--- 160,163 ----
+  SFX N   e     ion        e
+! SFX N   y     ication    y
+! SFX N   0     en         [^ey]
+  
+***************
+*** 40,42 ****
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y] 
+  
+--- 170,172 ----
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y]
+  
+***************
+*** 47,49 ****
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e] 
+  
+--- 177,179 ----
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e]
+  
+***************
+*** 137,138 ****
+--- 267,270 ----
+  REP uy i
++ REP y ie
++ REP ie y
+  REP i ee
 *** en_US.orig.dic	Fri Apr 15 13:20:36 2005
 --- en_US.dic	Sun Jul  3 16:59:28 2005
 ***************
diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap
index b3bbb24..d466830 100644
--- a/runtime/spell/en/main.aap
+++ b/runtime/spell/en/main.aap
@@ -4,7 +4,7 @@
 @if os.path.exists('../../../src/vim'):
     VIM = ../../../src/vim
 @else:
-    VIM = vim
+    :progsearch VIM vim
 
 SPELLDIR = ..
 FILES    = en_US.aff en_US.dic
@@ -63,8 +63,9 @@
         @if not os.path.exists('en_US.orig.aff'):
                 :copy en_US.aff en_US.orig.aff
         @if not os.path.exists('en_US.orig.dic'):
-                :copy en_US.aff en_US.orig.dic
-        :sys patch <en_US.diff
+                :copy en_US.dic en_US.orig.dic
+        @if os.path.exists('en_US.diff'):
+            :sys patch <en_US.diff
 
 en_AU.aff en_AU.dic: {buildcheck=}
         :assertpkg unzip patch
@@ -74,8 +75,9 @@
         @if not os.path.exists('en_AU.orig.aff'):
                 :copy en_AU.aff en_AU.orig.aff
         @if not os.path.exists('en_AU.orig.dic'):
-                :copy en_AU.aff en_AU.orig.dic
-        :sys patch <en_AU.diff
+                :copy en_AU.dic en_AU.orig.dic
+        @if os.path.exists('en_AU.diff'):
+            :sys patch <en_AU.diff
 
 en_CA.aff en_CA.dic: {buildcheck=}
         :assertpkg unzip patch
@@ -85,8 +87,9 @@
         @if not os.path.exists('en_CA.orig.aff'):
                 :copy en_CA.aff en_CA.orig.aff
         @if not os.path.exists('en_CA.orig.dic'):
-                :copy en_CA.aff en_CA.orig.dic
-        :sys patch <en_CA.diff
+                :copy en_CA.dic en_CA.orig.dic
+        @if os.path.exists('en_CA.diff'):
+            :sys patch <en_CA.diff
 
 en_GB.aff en_GB.dic: {buildcheck=}
         :assertpkg unzip patch
@@ -97,8 +100,9 @@
         @if not os.path.exists('en_GB.orig.aff'):
                 :copy en_GB.aff en_GB.orig.aff
         @if not os.path.exists('en_GB.orig.dic'):
-                :copy en_GB.aff en_GB.orig.dic
-        :sys patch <en_GB.diff
+                :copy en_GB.dic en_GB.orig.dic
+        @if os.path.exists('en_GB.diff'):
+            :sys patch <en_GB.diff
 
 en_NZ.aff en_NZ.dic: {buildcheck=}
         :assertpkg unzip patch
@@ -108,8 +112,9 @@
         @if not os.path.exists('en_NZ.orig.aff'):
                 :copy en_NZ.aff en_NZ.orig.aff
         @if not os.path.exists('en_NZ.orig.dic'):
-                :copy en_NZ.aff en_NZ.orig.dic
-        :sys patch <en_NZ.diff
+                :copy en_NZ.dic en_NZ.orig.dic
+        @if os.path.exists('en_NZ.diff'):
+            :sys patch <en_NZ.diff
 
 
 # Generate diff files, so that others can get the OpenOffice files and apply
diff --git a/runtime/spell/fr/fr_FR.diff b/runtime/spell/fr/fr_FR.diff
index 8233e5c..0e3d516 100644
--- a/runtime/spell/fr/fr_FR.diff
+++ b/runtime/spell/fr/fr_FR.diff
@@ -1,8 +1,8 @@
 *** fr_FR.orig.aff	Sun Jul  3 19:34:20 2005
---- fr_FR.aff	Sun Jul  3 20:09:20 2005
+--- fr_FR.aff	Sun Jul 31 22:17:53 2005
 ***************
 *** 3,4 ****
---- 3,13 ----
+--- 3,24 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -13,13 +13,7 @@
 + 
 + MIDWORD	'
 + 
-  PFX A Y 10
-***************
-*** 691,692 ****
---- 700,712 ----
-  
-+ 
-+ MAP 5
++ MAP 9
 + MAP aàáâãäå
 + MAP eèéêë
 + MAP iìíîï
@@ -29,4 +23,13 @@
 + MAP cç
 + MAP yÿý
 + MAP sß
-  
++ 
+  PFX A Y 10
+***************
+*** 690,694 ****
+  SFX q   ssait      raient     ssait
+- 
+- 
+- 
+- 
+--- 710 ----
diff --git a/runtime/spell/he/main.aap b/runtime/spell/he/main.aap
index 9cd5975..a002bc7 100644
--- a/runtime/spell/he/main.aap
+++ b/runtime/spell/he/main.aap
@@ -4,7 +4,7 @@
 @if os.path.exists('../../../src/vim'):
     VIM = ../../../src/vim
 @else:
-    VIM = vim
+    :progsearch VIM vim
 
 SPELLDIR = ..
 FILES    = he_IL.aff he_IL.dic
@@ -38,8 +38,9 @@
         @if not os.path.exists('he_IL.orig.aff'):
                 :copy he_IL.aff he_IL.orig.aff
         @if not os.path.exists('he_IL.orig.dic'):
-                :copy he_IL.aff he_IL.orig.dic
-        :sys patch <he_IL.diff
+                :copy he_IL.dic he_IL.orig.dic
+        @if os.path.exists('he_IL.diff'):
+            :sys patch <he_IL.diff
 
 
 # Generate diff files, so that others can get the OpenOffice files and apply
diff --git a/runtime/spell/it/it_IT.diff b/runtime/spell/it/it_IT.diff
new file mode 100644
index 0000000..a3c7fce
--- /dev/null
+++ b/runtime/spell/it/it_IT.diff
@@ -0,0 +1,370 @@
+*** it_IT.orig.aff	Sun Jul 31 14:20:13 2005
+--- it_IT.aff	Sun Jul 31 22:14:53 2005
+***************
+*** 33,34 ****
+--- 33,56 ----
+  
++ PFXPOSTPONE
++ 
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++ 
++ MIDWORD	'
++ 
++ MAP 9
++ MAP aàáâãäå
++ MAP eèéêë
++ MAP iìíîï
++ MAP oòóôõö
++ MAP uùúûü
++ MAP nñ
++ MAP cç
++ MAP yÿý
++ MAP sß
++ 
+  SFX A Y 225
+***************
+*** 1112,1114 ****
+  
+! PFX T Y 148
+  PFX T 0 l' [aeiouhAEIOUH]
+--- 1134,1136 ----
+  
+! PFX T Y 70
+  PFX T 0 l' [aeiouhAEIOUH]
+***************
+*** 1120,1128 ****
+  PFX T h l'H h
+- PFX T 0 L' [AEIOUH]
+- PFX T a L'A a
+- PFX T e L'E e
+- PFX T i L'I i
+- PFX T o L'O o
+- PFX T u L'U u
+- PFX T h L'H h
+  PFX T 0 all' [aeiouhAEIOUH]
+--- 1142,1143 ----
+***************
+*** 1134,1143 ****
+  PFX T h all'H h
+- PFX T 0 All' [AEIOUH]
+- PFX T a All'A a
+- PFX T e All'E e
+- PFX T i All'I i
+- PFX T o All'O o
+- PFX T u All'U u
+- PFX T h All'H h
+- PFX T 0 ALL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 dell' [aeiouhAEIOUH]
+--- 1149,1150 ----
+***************
+*** 1149,1158 ****
+  PFX T h dell'H h
+- PFX T 0 Dell' [AEIOUH]
+- PFX T a Dell'A a
+- PFX T e Dell'E e
+- PFX T i Dell'I i
+- PFX T o Dell'O o
+- PFX T u Dell'U u
+- PFX T h Dell'H h
+- PFX T 0 DELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 dall' [aeiouhAEIOUH]
+--- 1156,1157 ----
+***************
+*** 1164,1173 ****
+  PFX T h dall'H h
+- PFX T 0 Dall' [AEIOUH]
+- PFX T a Dall'A a
+- PFX T e Dall'E e
+- PFX T i Dall'I i
+- PFX T o Dall'O o
+- PFX T u Dall'U u
+- PFX T h Dall'H h
+- PFX T 0 DALL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 nell' [aeiouhAEIOUH]
+--- 1163,1164 ----
+***************
+*** 1179,1188 ****
+  PFX T h nell'H h
+- PFX T 0 Nell' [AEIOUH]
+- PFX T a Nell'A a
+- PFX T e Nell'E e
+- PFX T i Nell'I i
+- PFX T o Nell'O o
+- PFX T u Nell'U u
+- PFX T h Nell'H h
+- PFX T 0 NELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 sull' [aeiouhAEIOUH]
+--- 1170,1171 ----
+***************
+*** 1194,1203 ****
+  PFX T h sull'H h
+- PFX T 0 Sull' [AEIOUH]
+- PFX T a Sull'A a
+- PFX T e Sull'E e
+- PFX T i Sull'I i
+- PFX T o Sull'O o
+- PFX T u Sull'U u
+- PFX T h Sull'H h
+- PFX T 0 SULL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 coll' [aeiouhAEIOUH]
+--- 1177,1178 ----
+***************
+*** 1209,1218 ****
+  PFX T h coll'H h
+- PFX T 0 Coll' [AEIOUH]
+- PFX T a Coll'A a
+- PFX T e Coll'E e
+- PFX T i Coll'I i
+- PFX T o Coll'O o
+- PFX T u Coll'U u
+- PFX T h Coll'H h
+- PFX T 0 COLL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 d' [aeiouhAEIOUH]
+--- 1184,1185 ----
+***************
+*** 1224,1232 ****
+  PFX T h d'H h
+- PFX T 0 D' [AEIOUH]
+- PFX T a D'A a
+- PFX T e D'E e
+- PFX T i D'I i
+- PFX T o D'O o
+- PFX T u D'U u
+- PFX T h D'H h
+  PFX T 0 quest' [aeiouhAEIOUH]
+--- 1191,1192 ----
+***************
+*** 1238,1247 ****
+  PFX T h quest'H h
+- PFX T 0 Quest' [AEIOUH]
+- PFX T a Quest'A a
+- PFX T e Quest'E e
+- PFX T i Quest'I i
+- PFX T o Quest'O o
+- PFX T u Quest'U u
+- PFX T h Quest'H h
+- PFX T 0 QUEST' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX T 0 quell' [aeiouhAEIOUH]
+--- 1198,1199 ----
+***************
+*** 1253,1264 ****
+  PFX T h quell'H h
+- PFX T 0 Quell' [AEIOUH]
+- PFX T a Quell'A a
+- PFX T e Quell'E e
+- PFX T i Quell'I i
+- PFX T o Quell'O o
+- PFX T u Quell'U u
+- PFX T h Quell'H h
+- PFX T 0 QUELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+! PFX U Y 30
+  PFX U 0 un' [aeiouhAEIOUH]
+--- 1205,1208 ----
+  PFX T h quell'H h
+  
+! PFX U Y 14
+  PFX U 0 un' [aeiouhAEIOUH]
+***************
+*** 1270,1279 ****
+  PFX U h un'H h
+- PFX U 0 Un' [AEIOUH]
+- PFX U a Un'A a
+- PFX U e Un'E e
+- PFX U i Un'I i
+- PFX U o Un'O o
+- PFX U u Un'U u
+- PFX U h Un'H h
+- PFX U 0 UN' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  PFX U 0 ciascun' [aeiouhAEIOUH]
+--- 1214,1215 ----
+***************
+*** 1285,1296 ****
+  PFX U h ciascun'H h
+- PFX U 0 Ciascun' [AEIOUH]
+- PFX U a Ciascun'A a
+- PFX U e Ciascun'E e
+- PFX U i Ciascun'I i
+- PFX U o Ciascun'O o
+- PFX U u Ciascun'U u
+- PFX U h Ciascun'H h
+- PFX U 0 CIASCUN' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+! PFX X Y 72
+  PFX X 0 m' [aeiouAEIOU]
+--- 1221,1224 ----
+  PFX U h ciascun'H h
+  
+! PFX X Y 36
+  PFX X 0 m' [aeiouAEIOU]
+***************
+*** 1301,1308 ****
+  PFX X u m'U u
+- PFX X 0 M' [AEIOU]
+- PFX X a M'A a
+- PFX X e M'E e
+- PFX X i M'I i
+- PFX X o M'O o
+- PFX X u M'U u
+  PFX X 0 t' [aeiouAEIOU]
+--- 1229,1230 ----
+***************
+*** 1313,1320 ****
+  PFX X u t'U u
+- PFX X 0 T' [AEIOU]
+- PFX X a T'A a
+- PFX X e T'E e
+- PFX X i T'I i
+- PFX X o T'O o
+- PFX X u T'U u
+  PFX X 0 s' [aeiouAEIOU]
+--- 1235,1236 ----
+***************
+*** 1325,1332 ****
+  PFX X u s'U u
+- PFX X 0 S' [AEIOU]
+- PFX X a S'A a
+- PFX X e S'E e
+- PFX X i S'I i
+- PFX X o S'O o
+- PFX X u S'U u
+  PFX X 0 c' [aeiouAEIOU]
+--- 1241,1242 ----
+***************
+*** 1337,1344 ****
+  PFX X u c'U u
+- PFX X 0 C' [AEIOU]
+- PFX X a C'A a
+- PFX X e C'E e
+- PFX X i C'I i
+- PFX X o C'O o
+- PFX X u C'U u
+  PFX X 0 v' [aeiouAEIOU]
+--- 1247,1248 ----
+***************
+*** 1349,1356 ****
+  PFX X u v'U u
+- PFX X 0 V' [AEIOU]
+- PFX X a V'A a
+- PFX X e V'E e
+- PFX X i V'I i
+- PFX X o V'O o
+- PFX X u V'U u
+  PFX X 0 n' [aeiouAEIOU]
+--- 1253,1254 ----
+***************
+*** 1361,1368 ****
+  PFX X u n'U u
+- PFX X 0 N' [AEIOU]
+- PFX X a N'A a
+- PFX X e N'E e
+- PFX X i N'I i
+- PFX X o N'O o
+- PFX X u N'U u
+  
+--- 1259,1260 ----
+***************
+*** 1669,1671 ****
+  
+! PFX i Y 14
+  PFX i 0 l' [aeiouhAEIOUH]
+--- 1561,1563 ----
+  
+! PFX i Y 7
+  PFX i 0 l' [aeiouhAEIOUH]
+***************
+*** 1677,1685 ****
+  PFX i h l'H h
+- PFX i 0 L' [AEIOUH]
+- PFX i a L'A a
+- PFX i e L'E e
+- PFX i i L'I i
+- PFX i o L'O o
+- PFX i u L'U u
+- PFX i h L'H h
+  
+--- 1569,1570 ----
+***************
+*** 1738,1740 ****
+  
+! PFX q Y 15
+  PFX q 0 bell' [aeiouhAEIOUH]
+--- 1623,1625 ----
+  
+! PFX q Y 7
+  PFX q 0 bell' [aeiouhAEIOUH]
+***************
+*** 1746,1757 ****
+  PFX q h bell'H h
+- PFX q 0 Bell' [AEIOUH]
+- PFX q a Bell'A a
+- PFX q e Bell'E e
+- PFX q i Bell'I i
+- PFX q o Bell'O o
+- PFX q u Bell'U u
+- PFX q h Bell'H h
+- PFX q 0 BELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+! PFX r Y 15
+  PFX r 0 brav' [aeiouhAEIOUH]
+--- 1631,1634 ----
+  PFX q h bell'H h
+  
+! PFX r Y 7
+  PFX r 0 brav' [aeiouhAEIOUH]
+***************
+*** 1763,1774 ****
+  PFX r h brav'H h
+- PFX r 0 Brav' [AEIOUH]
+- PFX r a Brav'A a
+- PFX r e Brav'E e
+- PFX r i Brav'I i
+- PFX r o Brav'O o
+- PFX r u Brav'U u
+- PFX r h Brav'H h
+- PFX r 0 BRAV' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+! PFX s Y 15
+  PFX s 0 buon' [aeiouhAEIOUH]
+--- 1640,1643 ----
+  PFX r h brav'H h
+  
+! PFX s Y 7
+  PFX s 0 buon' [aeiouhAEIOUH]
+***************
+*** 1780,1789 ****
+  PFX s h buon'H h
+- PFX s 0 Buon' [AEIOUH]
+- PFX s a Buon'A a
+- PFX s e Buon'E e
+- PFX s i Buon'I i
+- PFX s o Buon'O o
+- PFX s u Buon'U u
+- PFX s h Buon'H h
+- PFX s 0 BUON' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+--- 1649,1650 ----
+***************
+*** 2072,2077 ****
+  
+! PFX ^ Y 3 # gestione dell'elisione nei nomi dei santi 
+  PFX ^ 0 sant' [AEIOUH]
+- PFX ^ 0 Sant' [AEIOUH]
+- PFX ^ 0 SANT' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
+  
+--- 1933,1936 ----
+  
+! PFX ^ Y 1 # gestione dell'elisione nei nomi dei santi 
+  PFX ^ 0 sant' [AEIOUH]
+  
+***************
+*** 2364,2366 ****
+  PFX $ 0 mml x
+- 
+- 
+--- 2223 ----
diff --git a/runtime/spell/it/main.aap b/runtime/spell/it/main.aap
new file mode 100644
index 0000000..04e116f
--- /dev/null
+++ b/runtime/spell/it/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for French Vim spell files.
+
+# Use a freshly compiled Vim if it exists.
+@if os.path.exists('../../../src/vim'):
+    VIM = ../../../src/vim
+@else:
+    :progsearch VIM vim
+
+SPELLDIR = ..
+FILES    = it_IT.aff it_IT.dic
+
+all: $(SPELLDIR)/it.latin1.spl $(SPELLDIR)/it.utf-8.spl ../README_it.txt
+
+$(SPELLDIR)/it.latin1.spl : $(VIM) $(FILES)
+        :sys env LANG=it_IT.ISO8859-1
+		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/it it_IT" -c q
+
+$(SPELLDIR)/it.utf-8.spl : $(VIM) $(FILES)
+        :sys env LANG=it_IT.UTF-8
+		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/it it_IT" -c q
+
+../README_it.txt : README_it_IT.txt
+        :copy $source $target
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $(OODIR)/%file%} it_IT.zip
+
+# The files don't depend on the .zip file so that we can delete it.
+# Only download the zip file if the targets don't exist.
+it_IT.aff it_IT.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch it_IT.zip
+        :sys $(UNZIP) it_IT.zip
+        :delete it_IT.zip
+        @if not os.path.exists('it_IT.orig.aff'):
+            :copy it_IT.aff it_IT.orig.aff
+        @if not os.path.exists('it_IT.orig.dic'):
+            :copy it_IT.dic it_IT.orig.dic
+        @if os.path.exists('it_IT.diff'):
+            :sys patch <it_IT.diff
+
+
+# Generate diff files, so that others can get the OpenOffice files and apply
+# the diffs to get the Vim versions.
+
+diff:
+        :assertpkg diff
+        :sys {force} diff -a -C 1 it_IT.orig.aff it_IT.aff >it_IT.diff
+        :sys {force} diff -a -C 1 it_IT.orig.dic it_IT.dic >>it_IT.diff
+
+
+# Check for updated OpenOffice spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch it_IT.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $(UNZIP) ../it_IT.zip
+            :sys {force} diff ../it_IT.orig.aff it_IT.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy it_IT.aff ../it_IT.new.aff
+            :sys {force} diff ../it_IT.orig.dic it_IT.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy it_IT.dic ../it_IT.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete it_IT.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap
index ded1bc0..34768b6 100644
--- a/runtime/spell/main.aap
+++ b/runtime/spell/main.aap
@@ -1,6 +1,10 @@
-:child de/main.aap
-:child en/main.aap
-:child fr/main.aap
-:child he/main.aap
-:child nl/main.aap
-:child pl/main.aap
+# "aap": generate all the .spl files
+# "aap diff" create all the diff files
+
+LANG = de en fr he it nl pl
+
+diff: $*LANG/diff
+        :print done
+
+@for l in string.split(_no.LANG):
+        :child $l/main.aap
diff --git a/runtime/spell/nl/main.aap b/runtime/spell/nl/main.aap
index f398cb6..b414161 100644
--- a/runtime/spell/nl/main.aap
+++ b/runtime/spell/nl/main.aap
@@ -4,7 +4,7 @@
 @if os.path.exists('../../../src/vim'):
     VIM = ../../../src/vim
 @else:
-    VIM = vim
+    :progsearch VIM vim
 
 SPELLDIR = ..
 FILES    = nl_NL.aff nl_NL.dic
@@ -38,8 +38,9 @@
         @if not os.path.exists('nl_NL.orig.aff'):
                 :copy nl_NL.aff nl_NL.orig.aff
         @if not os.path.exists('nl_NL.orig.dic'):
-                :copy nl_NL.aff nl_NL.orig.dic
-        :sys patch <nl_NL.diff
+                :copy nl_NL.dic nl_NL.orig.dic
+        @if os.path.exists('nl_NL.diff'):
+            :sys patch <nl_NL.diff
 
 
 # Generate diff files, so that others can get the OpenOffice files and apply
diff --git a/runtime/spell/nl/nl_NL.diff b/runtime/spell/nl/nl_NL.diff
index 070dd91..6859a47 100644
--- a/runtime/spell/nl/nl_NL.diff
+++ b/runtime/spell/nl/nl_NL.diff
@@ -1,8 +1,8 @@
-*** nl_NL.orig.aff	Wed Apr 20 11:48:16 2005
---- nl_NL.aff	Wed Jun 29 17:29:49 2005
+*** nl_NL.orig.aff	Sun Jul  3 18:24:07 2005
+--- nl_NL.aff	Sun Jul 31 22:18:15 2005
 ***************
-*** 3,4 ****
---- 3,17 ----
+*** 3,6 ****
+--- 3,30 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -18,6 +18,19 @@
 + BAD !
 + 
   NOSPLITSUGS
+  
++ MAP 9
++ MAP aàáâãäå
++ MAP eèéêë
++ MAP iìíîï
++ MAP oòóôõö
++ MAP uùúûü
++ MAP nñ
++ MAP cç
++ MAP yÿý
++ MAP sß
++ 
+  PFX A Y 1
 ***************
 *** 33,52 ****
   SFX J N 18
@@ -40,7 +53,7 @@
 ! SFX J 0 je [aeiou][bcdfgkpt] 
 ! SFX J 0 jes [aeiou][bcdfgkpt] 
   
---- 46,65 ----
+--- 57,76 ----
   SFX J N 18
 ! SFX J 0 tje [aeiou][aeiou]
 ! SFX J 0 tjes [aeiou][aeiou]
@@ -66,7 +79,7 @@
   REP ubi ibu
 ! REP croc krok 
   REP ten than
---- 266,268 ----
+--- 277,279 ----
   REP ubi ibu
 ! REP croc krok
   REP ten than
@@ -75,7 +88,7 @@
   REP capucino cappuccino
 ! REP celcius Celsius 
   REP kado cadeau
---- 301,303 ----
+--- 312,314 ----
   REP capucino cappuccino
 ! REP celcius Celsius
   REP kado cadeau
@@ -88,7 +101,7 @@
   REP kommittee comité
 ! REP kwis quiz 
   REP kwissen quizzen
---- 307,313 ----
+--- 318,324 ----
   REP committee comité
 ! REP komitee comité
 ! REP komittee comité
@@ -101,7 +114,7 @@
   REP copy kopij
 ! REP pitoresque pittoreske 
   REP reikweite reikwijdte
---- 315,317 ----
+--- 326,328 ----
   REP copy kopij
 ! REP pitoresque pittoreske
   REP reikweite reikwijdte
@@ -113,7 +126,7 @@
 ! REP kontekst context 
 ! REP korrekt correct 
   REP kritikus criticus
---- 327,332 ----
+--- 338,343 ----
   REP klup club
 ! REP wiskid whizzkid
 ! REP kontakt contact
@@ -122,23 +135,12 @@
   REP kritikus criticus
 ***************
 *** 333 ****
---- 346,359 ----
+--- 357,359 ----
   REP aflassen afgelasten
 + REP svp s.v.p.
 + REP zoz z.o.z.
-+ 
-+ MAP 5
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
-*** nl_NL.orig.dic	Tue Apr 19 21:03:15 2005
---- nl_NL.dic	Mon Jun 27 20:38:35 2005
+*** nl_NL.orig.dic	Sun Jul  3 18:24:07 2005
+--- nl_NL.dic	Thu Jul 21 11:06:07 2005
 ***************
 *** 1,3 ****
   119937
@@ -175,6 +177,15 @@
 + DVD
   Dwingeloo
 ***************
+*** 2998,3000 ****
+  achterwagen/S
+! achterwand
+  achterweg/NE
+--- 3002,3004 ----
+  achterwagen/S
+! achterwand/N
+  achterweg/NE
+***************
 *** 7485,7486 ****
 --- 7489,7498 ----
   avond/SN
@@ -211,6 +222,15 @@
 + mg
   maag
 ***************
+*** 80310,80312 ****
+  programmablad
+! programmaboekje
+  programmacode
+--- 80329,80331 ----
+  programmablad
+! programmaboekje/S
+  programmacode
+***************
 *** 97474,97475 ****
 --- 97493,97496 ----
   suïciderisico/X
@@ -231,8 +251,14 @@
 + u
   uchtend/N
 ***************
+*** 110847,110848 ****
+--- 110871,110873 ----
+  voorjaarscollectie/S
++ voorjaarsconferentie/S
+  voorjaarsmoeheid
+***************
 *** 119938 ****
---- 119962,120135 ----
+--- 119963,120137 ----
   überhaupt
 + Christiaan/X
 + Fred/X
@@ -407,3 +433,4 @@
 + evt.
 + enz.
 + bijv.
++ Gerard
diff --git a/runtime/spell/pl/main.aap b/runtime/spell/pl/main.aap
index c9d2e4e..6916df3 100644
--- a/runtime/spell/pl/main.aap
+++ b/runtime/spell/pl/main.aap
@@ -4,7 +4,7 @@
 @if os.path.exists('../../../src/vim'):
     VIM = ../../../src/vim
 @else:
-    VIM = vim
+    :progsearch VIM vim
 
 SPELLDIR = ..
 FILES    = pl_PL.aff pl_PL.dic
@@ -60,8 +60,9 @@
         @if not os.path.exists('pl_PL.orig.aff'):
                 :copy pl_PL.aff pl_PL.orig.aff
         @if not os.path.exists('pl_PL.orig.dic'):
-                :copy pl_PL.aff pl_PL.orig.dic
-        :sys patch <pl_PL.diff
+                :copy pl_PL.dic pl_PL.orig.dic
+        @if os.path.exists('pl_PL.diff'):
+            :sys patch <pl_PL.diff
 
 
 # Generate diff files, so that others can get the OpenOffice files and apply