updated for version 7.0131
diff --git a/runtime/spell/af/main.aap b/runtime/spell/af/main.aap
index d393c5f..ec53825 100644
--- a/runtime/spell/af/main.aap
+++ b/runtime/spell/af/main.aap
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/af.latin1.spl $SPELLDIR/af.utf-8.spl ../README_af.txt
 
-$SPELLDIR/af.latin1.spl : $VIM $FILES
+$SPELLDIR/af.latin1.spl : $FILES
         :sys env LANG=af_ZA.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q
 
-$SPELLDIR/af.utf-8.spl : $VIM $FILES
+$SPELLDIR/af.utf-8.spl : $FILES
         :sys env LANG=af_ZA.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q
 
diff --git a/runtime/spell/bg/main.aap b/runtime/spell/bg/main.aap
index 7849526..5d984be 100644
--- a/runtime/spell/bg/main.aap
+++ b/runtime/spell/bg/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for Czech Vim spell files.
+# Aap recipe for Bulgarian Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -11,14 +11,15 @@
 
 all: $SPELLDIR/bg.cp1251.spl $SPELLDIR/bg.utf-8.spl ../README_bg.txt
 
-$SPELLDIR/bg.cp1251.spl : $VIM $FILES
+$SPELLDIR/bg.cp1251.spl : $FILES
         :sys env LANG=bg_BG.CP1251 $VIM -u NONE -e -c "mkspell! $SPELLDIR/bg bg_BG" -c q
 
-$SPELLDIR/bg.utf-8.spl : $VIM $FILES
+$SPELLDIR/bg.utf-8.spl : $FILES
         :sys env LANG=bg_BG.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/bg bg_BG" -c q
 
 ../README_bg.txt: README_bg_BG.txt
         :copy $source $target
+        :sys $VIM $target -e -c "set ff=unix" -c wq
 
 #
 # Fetching the files from OpenOffice.org.
diff --git a/runtime/spell/ca/main.aap b/runtime/spell/ca/main.aap
index b2f7350..2182f29 100644
--- a/runtime/spell/ca/main.aap
+++ b/runtime/spell/ca/main.aap
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/ca.latin1.spl $SPELLDIR/ca.utf-8.spl ../README_ca.txt
 
-$SPELLDIR/ca.latin1.spl : $VIM $FILES
+$SPELLDIR/ca.latin1.spl : $FILES
         :sys env LANG=ca_ES.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/ca ca_ES" -c q
 
-$SPELLDIR/ca.utf-8.spl : $VIM $FILES
+$SPELLDIR/ca.utf-8.spl : $FILES
         :sys env LANG=ca_ES.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/ca ca_ES" -c q
 
diff --git a/runtime/spell/cs/main.aap b/runtime/spell/cs/main.aap
index 5ead6d0..53ae46f 100644
--- a/runtime/spell/cs/main.aap
+++ b/runtime/spell/cs/main.aap
@@ -12,13 +12,13 @@
 all: $SPELLDIR/cs.iso-8859-2.spl $SPELLDIR/cs.utf-8.spl \
         $SPELLDIR/cs.cp1250.spl ../README_cs.txt
 
-$SPELLDIR/cs.iso-8859-2.spl : $VIM $FILES
+$SPELLDIR/cs.iso-8859-2.spl : $FILES
         :sys env LANG=cs_CZ.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/cs cs_CZ" -c q
 
-$SPELLDIR/cs.utf-8.spl : $VIM $FILES
+$SPELLDIR/cs.utf-8.spl : $FILES
         :sys env LANG=cs_CZ.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/cs cs_CZ" -c q
 
-$SPELLDIR/cs.cp1250.spl : $VIM $FILES
+$SPELLDIR/cs.cp1250.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/cs cs_CZ" -c q
 
 ../README_cs.txt: README_cs_CZ.txt
diff --git a/runtime/spell/da/da_DK.diff b/runtime/spell/da/da_DK.diff
new file mode 100644
index 0000000..afcb8d3
--- /dev/null
+++ b/runtime/spell/da/da_DK.diff
@@ -0,0 +1,16 @@
+*** da_DK.orig.aff	Sun Aug 14 20:04:31 2005
+--- da_DK.aff	Mon Aug 15 14:03:06 2005
+***************
+*** 6,7 ****
+--- 6,16 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++ 
++ MIDWORD	'-
++ 
+  # Foranstilling af u-
diff --git a/runtime/spell/da/main.aap b/runtime/spell/da/main.aap
index 53e3716..b84a80f 100644
--- a/runtime/spell/da/main.aap
+++ b/runtime/spell/da/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for French Vim spell files.
+# Aap recipe for Danish Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/da.latin1.spl $SPELLDIR/da.utf-8.spl ../README_da.txt
 
-$SPELLDIR/da.latin1.spl : $VIM $FILES
+$SPELLDIR/da.latin1.spl : $FILES
         :sys env LANG=da_DK.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/da da_DK" -c q
 
-$SPELLDIR/da.utf-8.spl : $VIM $FILES
+$SPELLDIR/da.utf-8.spl : $FILES
         :sys env LANG=da_DK.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/da da_DK" -c q
 
diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap
index df608e1..718e78c 100644
--- a/runtime/spell/de/main.aap
+++ b/runtime/spell/de/main.aap
@@ -32,11 +32,11 @@
 
 all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt
 
-$SPELLDIR/de.latin1.spl : $VIM $FILES
+$SPELLDIR/de.latin1.spl : $FILES
         :sys env LANG=de_DE.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
 
-$SPELLDIR/de.utf-8.spl : $VIM $FILES
+$SPELLDIR/de.utf-8.spl : $FILES
         :sys env LANG=de_DE.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
 
diff --git a/runtime/spell/el/main.aap b/runtime/spell/el/main.aap
new file mode 100644
index 0000000..51fa0d3
--- /dev/null
+++ b/runtime/spell/el/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Greek 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    = el_GR.aff el_GR.dic
+
+all: $SPELLDIR/el.iso-8859-7.spl $SPELLDIR/el.utf-8.spl ../README_el.txt
+
+$SPELLDIR/el.iso-8859-7.spl : $FILES
+        :sys env LANG=el_GR.ISO8859-7
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q
+
+$SPELLDIR/el.utf-8.spl : $FILES
+        :sys env LANG=el_GR.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q
+
+../README_el.txt : README_el_GR.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%} el_GR.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.
+el_GR.aff el_GR.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch el_GR.zip
+        :sys $UNZIP el_GR.zip
+        :delete el_GR.zip
+        @if not os.path.exists('el_GR.orig.aff'):
+            :copy el_GR.aff el_GR.orig.aff
+        @if not os.path.exists('el_GR.orig.dic'):
+            :copy el_GR.dic el_GR.orig.dic
+        @if os.path.exists('el_GR.diff'):
+            :sys patch <el_GR.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 el_GR.orig.aff el_GR.aff >el_GR.diff
+        :sys {force} diff -a -C 1 el_GR.orig.dic el_GR.dic >>el_GR.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 el_GR.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../el_GR.zip
+            :sys {force} diff ../el_GR.orig.aff el_GR.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy el_GR.aff ../el_GR.new.aff
+            :sys {force} diff ../el_GR.orig.dic el_GR.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy el_GR.dic ../el_GR.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete el_GR.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index c77ef9a..9d2b068 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 851f714..95b5363 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl
index d6b7836..8b2edc6 100644
--- a/runtime/spell/en.utf-8.spl
+++ b/runtime/spell/en.utf-8.spl
Binary files differ
diff --git a/runtime/spell/en/en_AU.diff b/runtime/spell/en/en_AU.diff
index c0ee62d..2d6e42c 100644
--- a/runtime/spell/en/en_AU.diff
+++ b/runtime/spell/en/en_AU.diff
@@ -2352,7 +2352,7 @@
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
 *** en_AU.orig.dic	Fri Apr 15 13:20:36 2005
---- en_AU.dic	Sun Jul  3 17:11:07 2005
+--- en_AU.dic	Tue Aug 16 17:03:44 2005
 ***************
 *** 912,914 ****
   Alaska/M
@@ -2603,25 +2603,26 @@
   Vilnius/M
 ! vim/M
   vinaigrette/MS
---- 43742,43744 ----
+--- 43742,43745 ----
   Vilnius/M
 ! Vim/M
+! vim/?
   vinaigrette/MS
 ***************
 *** 45494,45496 ****
   yippee
 - y/K
   YMCA
---- 45487,45488 ----
+--- 45488,45489 ----
 ***************
 *** 45586,45588 ****
   zap/SGRD
 - z/d
   Zealanders
---- 45578,45579 ----
+--- 45579,45580 ----
 ***************
 *** 45655 ****
---- 45646,45653 ----
+--- 45647,45654 ----
   zymurgy/S
 + nd
 + the the/!
diff --git a/runtime/spell/en/en_CA.diff b/runtime/spell/en/en_CA.diff
index 904e0c6..c6319ce 100644
--- a/runtime/spell/en/en_CA.diff
+++ b/runtime/spell/en/en_CA.diff
@@ -165,7 +165,7 @@
 ! 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
+--- en_CA.dic	Tue Aug 16 17:03:55 2005
 ***************
 *** 46,48 ****
   R/G
@@ -405,6 +405,15 @@
 + Moolenaar/M
   Bresenham/M
 ***************
+*** 40455,40457 ****
+  proneness/MS
+! transl
+  Conchita/M
+--- 40454,40456 ----
+  proneness/MS
+! transl.
+  Conchita/M
+***************
 *** 50272,50273 ****
 --- 50271,50273 ----
   Dutch/M
@@ -415,19 +424,20 @@
   hatchery/MS
 ! vim/SM
   compatriot/MS
---- 52565,52567 ----
+--- 52565,52568 ----
   hatchery/MS
 ! Vim/SM
+! vim/?
   compatriot/MS
 ***************
 *** 53490,53491 ****
---- 53490,53492 ----
+--- 53491,53493 ----
   unsearchable
 + searchable
   felicitous/IY
 ***************
 *** 62341 ****
---- 62342,62349 ----
+--- 62343,62350 ----
   data/M
 + et al.
 + the the/!
diff --git a/runtime/spell/en/en_GB.diff b/runtime/spell/en/en_GB.diff
index 6032c25..714077d 100644
--- a/runtime/spell/en/en_GB.diff
+++ b/runtime/spell/en/en_GB.diff
@@ -2356,7 +2356,7 @@
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
 *** en_GB.orig.dic	Sun Jul  3 18:05:07 2005
---- en_GB.dic	Sun Jul  3 18:19:25 2005
+--- en_GB.dic	Tue Aug 16 17:05:18 2005
 ***************
 *** 630,632 ****
   Byrne/M
@@ -2482,7 +2482,7 @@
   vindaloo/S
 --- 30760,30763 ----
   villein/SM
-! vim/M?
+! vim/?
 ! Vim/M
   vindaloo/S
 ***************
diff --git a/runtime/spell/en/en_NZ.diff b/runtime/spell/en/en_NZ.diff
index 4e28fff..3eee718 100644
--- a/runtime/spell/en/en_NZ.diff
+++ b/runtime/spell/en/en_NZ.diff
@@ -2353,7 +2353,7 @@
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
 *** en_NZ.orig.dic	Fri Apr 15 13:20:36 2005
---- en_NZ.dic	Sun Jul  3 17:11:34 2005
+--- en_NZ.dic	Tue Aug 16 17:05:28 2005
 ***************
 *** 4,6 ****
   2ZB
@@ -2591,82 +2591,83 @@
   Vilnius/M
 ! vim/M
   vinaigrette/MS
---- 44313,44315 ----
+--- 44313,44316 ----
   Vilnius/M
 ! Vim/M
+! vim/?
   vinaigrette/MS
 ***************
 *** 45906,45908 ****
   y'all
 - prey/M
   yacht/M5SmGD
---- 45885,45886 ----
+--- 45886,45887 ----
 ***************
 *** 46198,46200 ****
   rata/M
 - kaka/M
   waka/M
---- 46176,46177 ----
+--- 46177,46178 ----
 ***************
 *** 46216,46218 ****
   jandal/MS
 - Swanndri/M
   hoon/MS
---- 46193,46194 ----
+--- 46194,46195 ----
 ***************
 *** 46242,46244 ****
   Invercargill/M
 - Te
   Alexandra/M
---- 46218,46219 ----
+--- 46219,46220 ----
 ***************
 *** 46261,46263 ****
   Kawerau/M
 - Kerikeri/M
   Lyttelton/M
---- 46236,46237 ----
+--- 46237,46238 ----
 ***************
 *** 46491,46493 ****
   Waianakarua
 - Hakatere
   Swin
---- 46465,46466 ----
+--- 46466,46467 ----
 ***************
 *** 46690,46692 ****
   Omarama/M
 - Wairarapa/M
   Kilda/M
---- 46663,46664 ----
+--- 46664,46665 ----
 ***************
 *** 46711,46713 ****
   Wellsford/M
 - Akaroa/M
   Avonhead/M
---- 46683,46684 ----
+--- 46684,46685 ----
 ***************
 *** 46838,46840 ****
   Ballantyne's
 - DB
   Monteith's
---- 46809,46810 ----
+--- 46810,46811 ----
 ***************
 *** 46920,46922 ****
   Egmont/M
 - Waitaki/M
   katipo/M
---- 46890,46891 ----
+--- 46891,46892 ----
 ***************
 *** 46956,46958 ****
   Sunnyside/M
 - Wairau/M
   Waikoropupu
---- 46925,46926 ----
+--- 46926,46927 ----
 ***************
 *** 47141,47142 ****
   Burkina
 ! Faso/M
 \ No newline at end of file
---- 47109,47117 ----
+--- 47110,47118 ----
   Burkina
 ! Faso/M
 ! nd
diff --git a/runtime/spell/en/en_US.diff b/runtime/spell/en/en_US.diff
index 99ddf0a..17051dc 100644
--- a/runtime/spell/en/en_US.diff
+++ b/runtime/spell/en/en_US.diff
@@ -172,7 +172,7 @@
 + 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
+--- en_US.dic	Tue Aug 16 17:03:31 2005
 ***************
 *** 5944,5946 ****
   bk
@@ -467,6 +467,15 @@
 ! sings
   sybarite/MS
 ***************
+*** 56906,56908 ****
+  transit/SGVMD
+! transl
+  translatability/M
+--- 56905,56907 ----
+  transit/SGVMD
+! transl.
+  translatability/M
+***************
 *** 57728,57730 ****
   TX
 ! t/XTJBG
@@ -501,16 +510,17 @@
   vi/MDR
 ! vim/MS
   vinaigrette/MS
---- 59537,59539 ----
+--- 59537,59540 ----
   vi/MDR
 ! Vim/MS
+! vim/?
   vinaigrette/MS
 ***************
 *** 61534,61536 ****
   WWW
 ! w/XTJGV
   WY
---- 61533,61536 ----
+--- 61534,61537 ----
   WWW
 ! wens
 ! wings
@@ -520,19 +530,19 @@
   yew/SM
 - y/F
   Yggdrasil/M
---- 61750,61751 ----
+--- 61751,61752 ----
 ***************
 *** 62058,62060 ****
   Zsigmondy/M
 ! z/TGJ
   Zubenelgenubi/M
---- 62057,62059 ----
+--- 62058,62060 ----
   Zsigmondy/M
 ! zings
   Zubenelgenubi/M
 ***************
 *** 62077 ****
---- 62076,62083 ----
+--- 62077,62084 ----
   zymurgy/S
 + nd
 + the the/!
diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap
index 37a9ed1..9e4b98e 100644
--- a/runtime/spell/en/main.aap
+++ b/runtime/spell/en/main.aap
@@ -16,17 +16,17 @@
 all: $SPELLDIR/en.latin1.spl $SPELLDIR/en.utf-8.spl \
         $SPELLDIR/en.ascii.spl ../README_en.txt
 
-$SPELLDIR/en.latin1.spl : $VIM $FILES
+$SPELLDIR/en.latin1.spl : $FILES
         :sys env LANG=en_US.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
 
-$SPELLDIR/en.utf-8.spl : $VIM $FILES
+$SPELLDIR/en.utf-8.spl : $FILES
         :sys env LANG=en_US.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
 
-$SPELLDIR/en.ascii.spl : $VIM $FILES
+$SPELLDIR/en.ascii.spl : $FILES
         :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
  
diff --git a/runtime/spell/eo/eo_l3.diff b/runtime/spell/eo/eo_l3.diff
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/runtime/spell/eo/eo_l3.diff
diff --git a/runtime/spell/eo/main.aap b/runtime/spell/eo/main.aap
new file mode 100644
index 0000000..19b7555
--- /dev/null
+++ b/runtime/spell/eo/main.aap
@@ -0,0 +1,80 @@
+# Aap recipe for Esperanto 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    = eo_l3.aff eo_l3.dic
+
+all: $SPELLDIR/eo.iso-8859-3.spl $SPELLDIR/eo.utf-8.spl ../README_eo.txt
+
+$SPELLDIR/eo.iso-8859-3.spl : $FILES
+        :sys $VIM -u NONE -e -c "set enc=iso-8859-3"
+                -c "mkspell! $SPELLDIR/eo eo_l3" -c q
+
+$SPELLDIR/eo.utf-8.spl : $FILES
+        :sys $VIM -u NONE -e -c "set enc=utf-8"
+                -c "mkspell! $SPELLDIR/eo eo_l3" -c q
+
+../README_eo.txt : README_eo_l3.txt
+        :copy $source $target
+        # fix missing newline
+        :sys $VIM $target -e -c "set ff=unix" -c wq
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} eo.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.
+eo_l3.aff eo_l3.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch eo.zip
+        :sys $UNZIP eo.zip
+        :delete eo.zip
+        @if not os.path.exists('eo_l3.orig.aff'):
+            :copy eo_l3.aff eo_l3.orig.aff
+        @if not os.path.exists('eo_l3.orig.dic'):
+            :copy eo_l3.dic eo_l3.orig.dic
+        @if os.path.exists('eo_l3.diff'):
+            :sys patch <eo_l3.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 eo_l3.orig.aff eo_l3.aff >eo_l3.diff
+        :sys {force} diff -a -C 1 eo_l3.orig.dic eo_l3.dic >>eo_l3.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 eo.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../eo.zip
+            :sys {force} diff ../eo_l3.orig.aff eo_l3.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy eo_l3.aff ../eo_l3.new.aff
+            :sys {force} diff ../eo_l3.orig.dic eo_l3.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy eo_l3.dic ../eo_l3.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete eo.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/fo/fo_FO.diff b/runtime/spell/fo/fo_FO.diff
new file mode 100644
index 0000000..212befe
--- /dev/null
+++ b/runtime/spell/fo/fo_FO.diff
@@ -0,0 +1,14 @@
+*** fo_FO.orig.aff	Tue Aug 16 17:39:22 2005
+--- fo_FO.aff	Tue Aug 16 17:41:00 2005
+***************
+*** 6 ****
+--- 6,14 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++ 
++ MIDWORD	'-
diff --git a/runtime/spell/fo/main.aap b/runtime/spell/fo/main.aap
new file mode 100644
index 0000000..948d4a4
--- /dev/null
+++ b/runtime/spell/fo/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Faroese 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    = fo_FO.aff fo_FO.dic
+
+all: $SPELLDIR/fo.latin1.spl $SPELLDIR/fo.utf-8.spl ../README_fo.txt
+
+$SPELLDIR/fo.latin1.spl : $FILES
+        :sys env LANG=fo_FO.ISO8859-1
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q
+
+$SPELLDIR/fo.utf-8.spl : $FILES
+        :sys env LANG=fo_FO.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q
+
+../README_fo.txt : README_fo_FO.txt Copyright
+        :cat $source >! $target
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} fo_FO.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.
+fo_FO.aff fo_FO.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch fo_FO.zip
+        :sys $UNZIP fo_FO.zip
+        :delete fo_FO.zip
+        @if not os.path.exists('fo_FO.orig.aff'):
+            :copy fo_FO.aff fo_FO.orig.aff
+        @if not os.path.exists('fo_FO.orig.dic'):
+            :copy fo_FO.dic fo_FO.orig.dic
+        @if os.path.exists('fo_FO.diff'):
+            :sys patch <fo_FO.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 fo_FO.orig.aff fo_FO.aff >fo_FO.diff
+        :sys {force} diff -a -C 1 fo_FO.orig.dic fo_FO.dic >>fo_FO.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 fo_FO.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../fo_FO.zip
+            :sys {force} diff ../fo_FO.orig.aff fo_FO.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy fo_FO.aff ../fo_FO.new.aff
+            :sys {force} diff ../fo_FO.orig.dic fo_FO.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy fo_FO.dic ../fo_FO.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete fo_FO.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/fr/main.aap b/runtime/spell/fr/main.aap
index 9e51039..e742432 100644
--- a/runtime/spell/fr/main.aap
+++ b/runtime/spell/fr/main.aap
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/fr.latin1.spl $SPELLDIR/fr.utf-8.spl ../README_fr.txt
 
-$SPELLDIR/fr.latin1.spl : $VIM $FILES
+$SPELLDIR/fr.latin1.spl : $FILES
         :sys env LANG=fr_FR.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q
 
-$SPELLDIR/fr.utf-8.spl : $VIM $FILES
+$SPELLDIR/fr.utf-8.spl : $FILES
         :sys env LANG=fr_FR.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q
 
diff --git a/runtime/spell/gl/gl_ES.diff b/runtime/spell/gl/gl_ES.diff
new file mode 100644
index 0000000..1ddcf78
--- /dev/null
+++ b/runtime/spell/gl/gl_ES.diff
@@ -0,0 +1,15 @@
+*** gl_ES.orig.aff	Tue Aug 16 17:55:38 2005
+--- gl_ES.aff	Tue Aug 16 17:57:03 2005
+***************
+*** 2,3 ****
+--- 2,11 ----
+  TRY áéíóúesianrtolcdugmphbfvñ
++ 
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++ 
+  # COMPOUNDMIN 3
diff --git a/runtime/spell/gl/main.aap b/runtime/spell/gl/main.aap
new file mode 100644
index 0000000..2fc012a
--- /dev/null
+++ b/runtime/spell/gl/main.aap
@@ -0,0 +1,78 @@
+# Aap recipe for Galician (Spain) 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    = gl_ES.aff gl_ES.dic
+
+all: $SPELLDIR/gl.latin1.spl $SPELLDIR/gl.utf-8.spl ../README_gl.txt
+
+$SPELLDIR/gl.latin1.spl : $FILES
+        :sys env LANG=gl_ES.ISO8859-1
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
+
+$SPELLDIR/gl.utf-8.spl : $FILES
+        :sys env LANG=gl_ES.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q
+
+../README_gl.txt : README_gl_ES.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%} gl_ES.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.
+gl_ES.aff gl_ES.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch gl_ES.zip
+        :sys $UNZIP gl_ES.zip
+        :delete gl_ES.zip
+        @if not os.path.exists('gl_ES.orig.aff'):
+            :copy gl_ES.aff gl_ES.orig.aff
+        @if not os.path.exists('gl_ES.orig.dic'):
+            :copy gl_ES.dic gl_ES.orig.dic
+        @if os.path.exists('gl_ES.diff'):
+            :sys patch <gl_ES.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 gl_ES.orig.aff gl_ES.aff >gl_ES.diff
+        :sys {force} diff -a -C 1 gl_ES.orig.dic gl_ES.dic >>gl_ES.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 gl_ES.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../gl_ES.zip
+            :sys {force} diff ../gl_ES.orig.aff gl_ES.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy gl_ES.aff ../gl_ES.new.aff
+            :sys {force} diff ../gl_ES.orig.dic gl_ES.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy gl_ES.dic ../gl_ES.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete gl_ES.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/he/main.aap b/runtime/spell/he/main.aap
index 4db930b..7158517 100644
--- a/runtime/spell/he/main.aap
+++ b/runtime/spell/he/main.aap
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/he.utf-8.spl $SPELLDIR/he.iso-8859-8.spl ../README_he.txt
 
-$SPELLDIR/he.utf-8.spl : $VIM $FILES
+$SPELLDIR/he.utf-8.spl : $FILES
         :sys env LANG=he_IL.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/he he_IL" -c q
 
-$SPELLDIR/he.iso-8859-8.spl : $VIM $FILES
+$SPELLDIR/he.iso-8859-8.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=iso-8859-8"
                         -c "mkspell! $SPELLDIR/he he_IL" -c q
 
diff --git a/runtime/spell/hr/main.aap b/runtime/spell/hr/main.aap
index f272b87..699d61f 100644
--- a/runtime/spell/hr/main.aap
+++ b/runtime/spell/hr/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for Polish Vim spell files.
+# Aap recipe for Croatian Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -12,13 +12,13 @@
 all: $SPELLDIR/hr.iso-8859-2.spl $SPELLDIR/pl.utf-8.spl \
         $SPELLDIR/hr.cp1250.spl ../README_pl.txt
 
-$SPELLDIR/hr.iso-8859-2.spl : $VIM $FILES
+$SPELLDIR/hr.iso-8859-2.spl : $FILES
         :sys env LANG=hr_HR.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hr hr_HR" -c q
 
-$SPELLDIR/hr.utf-8.spl : $VIM $FILES
+$SPELLDIR/hr.utf-8.spl : $FILES
         :sys env LANG=hr_HR.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hr hr_HR" -c q
 
-$SPELLDIR/hr.cp1250.spl : $VIM $FILES
+$SPELLDIR/hr.cp1250.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hr hr_HR" -c q
 
 ../README_hr.txt: README_hr_HR.txt
diff --git a/runtime/spell/hu/hu_HU.diff b/runtime/spell/hu/hu_HU.diff
new file mode 100644
index 0000000..de22c79
--- /dev/null
+++ b/runtime/spell/hu/hu_HU.diff
@@ -0,0 +1,128 @@
+*** hu_HU.orig.aff	Tue Aug 16 18:21:10 2005
+--- hu_HU.aff	Tue Aug 16 19:42:34 2005
+***************
+*** 57,62 ****
+  
+! NAME Magyar Ispell helyesírási szótár
+! LANG hu_HU
+! HOME http://magyarispell.sourceforge.net
+! VERSION Magyar 0.99.4.2
+  SET ISO8859-2
+--- 57,62 ----
+  
+! #NAME Magyar Ispell helyesírási szótár
+! #LANG hu_HU
+! #HOME http://magyarispell.sourceforge.net
+! #VERSION Magyar 0.99.4.2
+  SET ISO8859-2
+***************
+*** 65,77 ****
+  COMPOUNDFLAG Y
+! COMPOUNDWORD 2 y
+! COMPOUNDSYLLABLE 6 aáeéiíoóöõuúüû
+! SYLLABLENUM klmc
+! COMPOUNDFIRST v
+! COMPOUNDLAST x
+! FORBIDDENWORD w
+! ONLYROOT u
+! ACCENT áéíóöõúüû aeiooouuu
+! CHECKNUM
+! WORDCHARS -.§%°0123456789
+! HU_KOTOHANGZO Z
+  
+--- 65,80 ----
+  COMPOUNDFLAG Y
+! #COMPOUNDWORD 2 y
+! #COMPOUNDSYLLABLE 6 aáeéiíoóöõuúüû
+! #SYLLABLENUM klmc
+! #COMPOUNDFIRST v
+! #COMPOUNDLAST x
+! #FORBIDDENWORD w
+! BAD w
+! #ONLYROOT u
+! #ACCENT áéíóöõúüû aeiooouuu
+! #CHECKNUM
+! #WORDCHARS -.§%°0123456789
+! #HU_KOTOHANGZO Z
+! 
+! PFXPOSTPONE
+  
+***************
+*** 173,241 ****
+  
+- # character conversion table
+- # (HTML latin-1 entities -> latin-2)
+- # not implemented yet
+- 
+- CHR HTML 35
+- CHR HTML &curren; ¤
+- CHR HTML &deg; °
+- CHR HTML &acute; ´
+- CHR HTML &cedil; ¸
+- CHR HTML &Aacute; Á
+- CHR HTML &Acirc; Â
+- CHR HTML &Auml; Ä
+- CHR HTML &Ccedil; Ç
+- CHR HTML &Eacute; É
+- CHR HTML &Euml; Ë
+- CHR HTML &Iacute; Í
+- CHR HTML &Icirc; Î
+- CHR HTML &Oacute; Ó
+- CHR HTML &Ocirc; Ô
+- CHR HTML &Ouml; Ö
+- CHR HTML &times; ×
+- CHR HTML &Uacute; Ú
+- CHR HTML &Uuml; Ü
+- CHR HTML &Yacute; Ý
+- CHR HTML &szlig; ß
+- CHR HTML &aacute; á
+- CHR HTML &acirc; â
+- CHR HTML &auml; ä
+- CHR HTML &ccedil; ç
+- CHR HTML &eacute; é
+- CHR HTML &euml; ë
+- CHR HTML &iacute; í
+- CHR HTML &icirc; î
+- CHR HTML &oacute; ó
+- CHR HTML &ocirc; ô
+- CHR HTML &ouml; ö
+- CHR HTML &divide; ÷
+- CHR HTML &uacute; ú
+- CHR HTML &uuml; ü
+- CHR HTML &yacute; ý
+- 
+- # character conversion table
+- # (Prószéky-code -> latin-2)
+- # not implemented yet
+- 
+- CHR 123 20
+- CHR 123 a1 á
+- CHR 123 e1 é
+- CHR 123 e2 ë
+- CHR 123 i1 í
+- CHR 123 o1 ó
+- CHR 123 o2 ö
+- CHR 123 o3 õ
+- CHR 123 u1 ú
+- CHR 123 u2 ü
+- CHR 123 u3 û
+- CHR 123 A1 Á
+- CHR 123 E1 É
+- CHR 123 E2 Ë
+- CHR 123 I1 Í
+- CHR 123 O1 Ó
+- CHR 123 O2 Ö
+- CHR 123 O3 Õ
+- CHR 123 U1 Ú
+- CHR 123 U2 Ü
+- CHR 123 U3 Û
+- 
+  SFX z Y 6
+--- 176,177 ----
+***************
+*** 17678,17681 ****
+  PFX D   0    leg          .
+- 
+-    1
+- 
+--- 17614 ----
diff --git a/runtime/spell/hu/main.aap b/runtime/spell/hu/main.aap
new file mode 100644
index 0000000..3890b1e
--- /dev/null
+++ b/runtime/spell/hu/main.aap
@@ -0,0 +1,81 @@
+# Aap recipe for Hungarian 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    = hu_HU.aff hu_HU.dic
+
+all: $SPELLDIR/hu.iso-8859-2.spl $SPELLDIR/hu.utf-8.spl \
+        $SPELLDIR/hu.cp1250.spl ../README_hu.txt
+
+$SPELLDIR/hu.iso-8859-2.spl : $FILES
+        :sys env LANG=hu_HU.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
+
+$SPELLDIR/hu.utf-8.spl : $FILES
+        :sys env LANG=hu_HU.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
+
+$SPELLDIR/hu.cp1250.spl : $FILES
+        :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hu hu_HU" -c q
+
+../README_hu.txt: README_hu_HU.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%} hu_HU.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.
+# This is a bit tricky, since the file name includes the date.
+hu_HU.aff hu_HU.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch hu_HU.zip
+        :sys $UNZIP hu_HU.zip
+        :delete hu_HU.zip
+        @if not os.path.exists('hu_HU.orig.aff'):
+            :copy hu_HU.aff hu_HU.orig.aff
+        @if not os.path.exists('hu_HU.orig.dic'):
+            :copy hu_HU.dic hu_HU.orig.dic
+        @if os.path.exists('hu_HU.diff'):
+            :sys patch <hu_HU.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 hu_HU.orig.aff hu_HU.aff >hu_HU.diff
+        :sys {force} diff -a -C 1 hu_HU.orig.dic hu_HU.dic >>hu_HU.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 hu_HU.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../hu_HU.zip
+            :sys {force} diff ../hu_HU.orig.aff hu_HU.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy hu_HU.aff ../hu_HU.new.aff
+            :sys {force} diff ../hu_HU.orig.dic hu_HU.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy hu_HU.dic ../hu_HU.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete hu_HU.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/it/main.aap b/runtime/spell/it/main.aap
index ef541c4..eaced68 100644
--- a/runtime/spell/it/main.aap
+++ b/runtime/spell/it/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for French Vim spell files.
+# Aap recipe for Italian Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/it.latin1.spl $SPELLDIR/it.utf-8.spl ../README_it.txt
 
-$SPELLDIR/it.latin1.spl : $VIM $FILES
+$SPELLDIR/it.latin1.spl : $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
+$SPELLDIR/it.utf-8.spl : $FILES
         :sys env LANG=it_IT.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/it it_IT" -c q
 
diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap
index 68864b8..1e37c1c 100644
--- a/runtime/spell/main.aap
+++ b/runtime/spell/main.aap
@@ -1,10 +1,22 @@
-# "aap": generate all the .spl files
-# "aap diff" create all the diff files
+# Toplevel Aap recipe for Vim spell files
+#
+# Usage:
+# aap        generate all the .spl files
+# aap diff   create all the diff files
 
-LANG = af bg ca cs da de en fr he hr it nl ny pl sk yi
+LANG = af bg ca cs da de el en eo fr fo gl he hr it nl ny pl sk yi
+
+# TODO:
+# Finnish doesn't work, the dictionary fi_FI.zip file contains hyphenation...
 
 diff: $*LANG/diff
         :print done
 
 @for l in string.split(_no.LANG):
         :child $l/main.aap
+
+# The existing .spl files need to be generated when the spell file format
+# changes.  Depending on the Vim executable does that, but results in doing it
+# much too often.  Generate a dummy .spl file and check if it changed.
+:child check/main.aap
+*.spl: check/check.latin1.spl
diff --git a/runtime/spell/nl/main.aap b/runtime/spell/nl/main.aap
index 02ae49d..e231113 100644
--- a/runtime/spell/nl/main.aap
+++ b/runtime/spell/nl/main.aap
@@ -11,11 +11,11 @@
 
 all: $SPELLDIR/nl.latin1.spl $SPELLDIR/nl.utf-8.spl ../README_nl.txt
 
-$SPELLDIR/nl.latin1.spl : $VIM $FILES
+$SPELLDIR/nl.latin1.spl : $FILES
         :sys env LANG=nl_NL.ISO8859-1
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q
 
-$SPELLDIR/nl.utf-8.spl : $VIM $FILES
+$SPELLDIR/nl.utf-8.spl : $FILES
         :sys env LANG=nl_NL.UTF-8
 		$VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q
 
diff --git a/runtime/spell/ny/main.aap b/runtime/spell/ny/main.aap
index e7fcbf7..b73b50c 100644
--- a/runtime/spell/ny/main.aap
+++ b/runtime/spell/ny/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for Dutch Vim spell files.
+# Aap recipe for Chichewa Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -12,15 +12,15 @@
 all: $SPELLDIR/ny.iso-8859-14.spl $SPELLDIR/ny.utf-8.spl \
         $SPELLDIR/ny.ascii.spl ../README_ny.txt
 
-$SPELLDIR/ny.iso-8859-14.spl : $VIM $FILES
+$SPELLDIR/ny.iso-8859-14.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=iso-8859-14" 
                 -c "mkspell! $SPELLDIR/ny ny_MW" -c q
 
-$SPELLDIR/ny.utf-8.spl : $VIM $FILES
+$SPELLDIR/ny.utf-8.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=utf-8"
                 -c "mkspell! $SPELLDIR/ny ny_MW" -c q
 
-$SPELLDIR/ny.ascii.spl : $VIM $FILES
+$SPELLDIR/ny.ascii.spl : $FILES
         :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/ny ny_MW" -c q
  
 ../README_ny.txt : README_ny_MW.txt
diff --git a/runtime/spell/pl/main.aap b/runtime/spell/pl/main.aap
index e33acf8..eb21c5e 100644
--- a/runtime/spell/pl/main.aap
+++ b/runtime/spell/pl/main.aap
@@ -12,13 +12,13 @@
 all: $SPELLDIR/pl.iso-8859-2.spl $SPELLDIR/pl.utf-8.spl \
         $SPELLDIR/pl.cp1250.spl ../README_pl.txt
 
-$SPELLDIR/pl.iso-8859-2.spl : $VIM $FILES
+$SPELLDIR/pl.iso-8859-2.spl : $FILES
         :sys env LANG=pl_PL.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pl pl_PL" -c q
 
-$SPELLDIR/pl.utf-8.spl : $VIM $FILES
+$SPELLDIR/pl.utf-8.spl : $FILES
         :sys env LANG=pl_PL.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pl pl_PL" -c q
 
-$SPELLDIR/pl.cp1250.spl : $VIM $FILES
+$SPELLDIR/pl.cp1250.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/pl pl_PL" -c q
 
 ../README_pl.txt: README_pl_PL.txt
diff --git a/runtime/spell/sk/main.aap b/runtime/spell/sk/main.aap
index b18d195..db97355 100644
--- a/runtime/spell/sk/main.aap
+++ b/runtime/spell/sk/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for Czech Vim spell files.
+# Aap recipe for Slovak Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -12,13 +12,13 @@
 all: $SPELLDIR/sk.iso-8859-2.spl $SPELLDIR/sk.utf-8.spl \
         $SPELLDIR/sk.cp1250.spl ../README_sk.txt
 
-$SPELLDIR/sk.iso-8859-2.spl : $VIM $FILES
+$SPELLDIR/sk.iso-8859-2.spl : $FILES
         :sys env LANG=sk_SK.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/sk sk_SK" -c q
 
-$SPELLDIR/sk.utf-8.spl : $VIM $FILES
+$SPELLDIR/sk.utf-8.spl : $FILES
         :sys env LANG=sk_SK.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/sk sk_SK" -c q
 
-$SPELLDIR/sk.cp1250.spl : $VIM $FILES
+$SPELLDIR/sk.cp1250.spl : $FILES
         :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/sk sk_SK" -c q
 
 ../README_sk.txt: README_sk_SK.txt
diff --git "a/runtime/spell/yi/\041yi.diff" "b/runtime/spell/yi/\041yi.diff"
index 00ec104..484dc69 100644
--- "a/runtime/spell/yi/\041yi.diff"
+++ "b/runtime/spell/yi/\041yi.diff"
@@ -1,7 +1,8 @@
-*** wordlist.utf8.txt	Thu Aug 11 17:55:15 2005
---- yi.dic	Thu Aug 11 17:56:28 2005
+*** wordlist.utf8.txt	Thu Aug 11 19:49:22 2005
+--- yi.dic	Thu Aug 11 19:49:23 2005
 ***************
-*** 1 ****
---- 1,2 ----
-+ 99999
+*** 1,2 ****
+--- 1,3 ----
++ 999999
   גרונטעלעמענט
+  דזשאָבענדיקס
diff --git "a/runtime/spell/yi/\041yi_tr.diff" "b/runtime/spell/yi/\041yi_tr.diff"
new file mode 100644
index 0000000..5d8183f
--- /dev/null
+++ "b/runtime/spell/yi/\041yi_tr.diff"
@@ -0,0 +1,8 @@
+*** wordlist.txt	Tue Aug 16 10:46:26 2005
+--- yi_tr.dic	Tue Aug 16 10:46:42 2005
+***************
+*** 1,2 ****
+--- 1,3 ----
++ 84608
+  gruntelement
+  dzhobendiks
diff --git a/runtime/spell/yi/README.txt b/runtime/spell/yi/README.txt
index db43293..09af739 100644
--- a/runtime/spell/yi/README.txt
+++ b/runtime/spell/yi/README.txt
@@ -3,4 +3,7 @@
 The word list was provided by Raphael Finkel.  It is the same one that is used
 by uspell.
 
+There also is a romanized (transliterated) word list.  This is used for
+latin1.  To use this list when 'encoding' is utf-8 use ":set spelllang=yi-tr".
+
 Copyright Raphael Finkel.  Included with permission in Vim.
diff --git a/runtime/spell/yi/main.aap b/runtime/spell/yi/main.aap
index 31d057e..8a98ce0 100644
--- a/runtime/spell/yi/main.aap
+++ b/runtime/spell/yi/main.aap
@@ -1,4 +1,4 @@
-# Aap recipe for Hebrew Vim spell files.
+# Aap recipe for Yiddish Vim spell files.
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -6,16 +6,27 @@
 @else:
     :progsearch VIM vim
 
-SPELLDIR  = ..
-FILES     = yi.dic yi.aff
-WORDFILE  = wordlist.utf8.txt
+SPELLDIR    = ..
+FILES       = yi.dic yi.aff
+WORDFILE    = wordlist.utf8.txt
+FILES_TR    = yi_tr.dic yi_tr.aff
+WORDFILE_TR = wordlist.txt
 
-all: $SPELLDIR/yi.utf-8.spl ../README_yi.txt
+all: $SPELLDIR/yi.utf-8.spl $SPELLDIR/yi-tr.utf-8.spl \
+        $SPELLDIR/yi.latin1.spl ../README_yi.txt
 
-$SPELLDIR/yi.utf-8.spl : $VIM $FILES
+$SPELLDIR/yi.utf-8.spl : $FILES
     :sys $VIM -u NONE -e -c "set enc=utf-8"
             -c "mkspell! $SPELLDIR/yi yi" -c q
 
+$SPELLDIR/yi-tr.utf-8.spl : $FILES_TR
+    :sys $VIM -u NONE -e -c "set enc=utf-8"
+            -c "mkspell! $SPELLDIR/yi-tr yi_tr" -c q
+
+$SPELLDIR/yi.latin1.spl : $FILES_TR
+    :sys $VIM -u NONE -e -c "set enc=latin1"
+            -c "mkspell! $SPELLDIR/yi yi_tr" -c q
+
 ../README_yi.txt : README.txt
     :copy $source $target
 
@@ -23,7 +34,7 @@
 # Fetch the word list when needed.
 #
 URLDIR = http://www.cs.uky.edu/~raphael/yiddish
-:attr {fetch = $URLDIR/%file%} $WORDFILE
+:attr {fetch = $URLDIR/%file%} $WORDFILE $WORDFILE_TR
 
 # We use the word list as a .dic file, so that we can use an affix file to
 # define a few extra things.
@@ -35,13 +46,20 @@
         @if os.path.exists('yi.diff'):
             :sys patch < yi.diff
 
-diff:
+$FILES_TR: {buildcheck=}
+        :assertpkg patch
+        :fetch $WORDFILE_TR
+        :copy $WORDFILE_TR yi_tr.dic
+        :touch {force} yi_tr.aff
+        @if os.path.exists('yi_tr.diff'):
+            :sys patch < yi_tr.diff
+
+diff {virtual}:
     :assertpkg diff
-    :delete yi.diff
     # Using a context of two lines to work around a bug in FreeBSD patch.
-    :sys {force} diff -a -C 2 $WORDFILE yi.dic >yi.diff
-    :sys {force} diff -a -N -C 1 /dev/null yi.aff >>yi.diff
-
-
+    :sys {force} diff -a -C 2 $WORDFILE yi.dic > yi.diff
+    :sys {force} diff -a -N -C 1 /dev/null yi.aff >> yi.diff
+    :sys {force} diff -a -C 2 $WORDFILE_TR yi_tr.dic > yi_tr.diff
+    :sys {force} diff -a -N -C 1 /dev/null yi_tr.aff >> yi_tr.diff
 
 # vim: set sts=4 sw=4 :
diff --git a/runtime/spell/yi/yi.diff b/runtime/spell/yi/yi.diff
index 020f2dc..45a2d90 100644
--- a/runtime/spell/yi/yi.diff
+++ b/runtime/spell/yi/yi.diff
@@ -1,18 +1,19 @@
-*** wordlist.utf8.txt	Thu Aug 11 18:40:11 2005
---- yi.dic	Thu Aug 11 19:48:53 2005
+*** wordlist.utf8.txt	Thu Aug 11 19:49:22 2005
+--- yi.dic	Thu Aug 11 19:49:23 2005
 ***************
 *** 1,2 ****
 --- 1,3 ----
 + 999999
   גרונטעלעמענט
   דזשאָבענדיקס
-*** /dev/null	Thu Aug 11 19:48:23 2005
---- yi.aff	Thu Aug 11 18:50:45 2005
+*** /dev/null	Tue Aug 16 10:44:00 2005
+--- yi.aff	Mon Aug 15 23:06:00 2005
 ***************
 *** 0 ****
---- 1,5 ----
+--- 1,6 ----
 + SET UTF-8
 + 
-+ REP 2
++ REP 3
 + REP וו װ
 + REP יי ײ
++ REP וי ױ
diff --git a/runtime/spell/yi/yi_tr.diff b/runtime/spell/yi/yi_tr.diff
new file mode 100644
index 0000000..5f26a7b
--- /dev/null
+++ b/runtime/spell/yi/yi_tr.diff
@@ -0,0 +1,18 @@
+*** wordlist.txt	Tue Aug 16 10:46:26 2005
+--- yi_tr.dic	Tue Aug 16 10:46:42 2005
+***************
+*** 1,2 ****
+--- 1,3 ----
++ 84608
+  gruntelement
+  dzhobendiks
+*** /dev/null	Tue Aug 16 10:44:00 2005
+--- yi_tr.aff	Tue Aug 16 10:48:01 2005
+***************
+*** 0 ****
+--- 1,5 ----
++ SET ISO8859-1
++ 
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ