updated for version 7.0130
diff --git a/runtime/spell/af/af_ZA.diff b/runtime/spell/af/af_ZA.diff
new file mode 100644
index 0000000..9c85804
--- /dev/null
+++ b/runtime/spell/af/af_ZA.diff
@@ -0,0 +1,36 @@
+*** af_ZA.orig.aff	Sun Aug 14 17:37:01 2005
+--- af_ZA.aff	Sun Aug 14 17:38:11 2005
+***************
+*** 23,24 ****
+--- 23,34 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++ 
++ MIDWORD	'-
++ SLASH ,
++ 
+  MAP 3
+*** af_ZA.orig.dic	Sun Aug 14 17:37:01 2005
+--- af_ZA.dic	Sun Aug 14 17:38:54 2005
+***************
+*** 1861,1864 ****
+  T-skyf
+! TCP/IP
+! TCP/IP-bondel
+  TLA
+--- 1861,1864 ----
+  T-skyf
+! TCP,IP
+! TCP,IP-bondel
+  TLA
+***************
+*** 124109,124111 ****
+  vrywilliglik
+- vt
+  vuile/R
+--- 124109,124110 ----
diff --git a/runtime/spell/af/main.aap b/runtime/spell/af/main.aap
new file mode 100644
index 0000000..d393c5f
--- /dev/null
+++ b/runtime/spell/af/main.aap
@@ -0,0 +1,79 @@
+# Aap recipe for Afrikaans 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    = af_ZA.aff af_ZA.dic
+
+all: $SPELLDIR/af.latin1.spl $SPELLDIR/af.utf-8.spl ../README_af.txt
+
+$SPELLDIR/af.latin1.spl : $VIM $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
+        :sys env LANG=af_ZA.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q
+
+../README_af.txt : README_af_ZA.txt
+        :copy $source $target
+
+#
+# Fetching the file from SourceForge.  The archive at OpenOffice is broken!
+#
+FILE = http://surfnet.dl.sourceforge.net/sourceforge/translate/myspell-af_ZA-20040727.zip
+
+:attr {fetch = $FILE} af_ZA.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.
+af_ZA.aff af_ZA.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch af_ZA.zip
+        :sys $UNZIP af_ZA.zip
+        :delete af_ZA.zip
+        @if not os.path.exists('af_ZA.orig.aff'):
+            :copy af_ZA.aff af_ZA.orig.aff
+        @if not os.path.exists('af_ZA.orig.dic'):
+            :copy af_ZA.dic af_ZA.orig.dic
+        @if os.path.exists('af_ZA.diff'):
+            :sys patch <af_ZA.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 af_ZA.orig.aff af_ZA.aff >af_ZA.diff
+        :sys {force} diff -a -C 1 af_ZA.orig.dic af_ZA.dic >>af_ZA.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 af_ZA.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../af_ZA.zip
+            :sys {force} diff ../af_ZA.orig.aff af_ZA.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy af_ZA.aff ../af_ZA.new.aff
+            :sys {force} diff ../af_ZA.orig.dic af_ZA.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy af_ZA.dic ../af_ZA.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete af_ZA.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/bg/bg_BG.diff b/runtime/spell/bg/bg_BG.diff
new file mode 100644
index 0000000..da0a4f3
--- /dev/null
+++ b/runtime/spell/bg/bg_BG.diff
@@ -0,0 +1,42 @@
+*** bg_BG.orig.aff	Sun Aug 14 18:12:44 2005
+--- bg_BG.aff	Sun Aug 14 18:13:12 2005
+***************
+*** 1,2 ****
+! SET microsoft-cp1251
+  TRY àåíîèðòâñëêìïçäÿóúá÷ãöæõøôéùþüÀÅÍÎÈÐÒÂÑËÊÌÏÇÄßÓÚÁ×ÃÖÆÕØÔÉÙÞÜ
+--- 1,2 ----
+! SET cp1251
+  TRY àåíîèðòâñëêìïçäÿóúá÷ãöæõøôéùþüÀÅÍÎÈÐÒÂÑËÊÌÏÇÄßÓÚÁ×ÃÖÆÕØÔÉÙÞÜ
+***************
+*** 1682,1684 ****
+  
+! MAP 26
+  MAP àúüa
+--- 1682,1684 ----
+  
+! MAP 25
+  MAP àúüa
+***************
+*** 1691,1695 ****
+  MAP æø
+! MAP çñ
+  MAP pð
+- MAP cñ
+  MAP xõ
+--- 1691,1694 ----
+  MAP æø
+! MAP cçñ
+  MAP pð
+  MAP xõ
+***************
+*** 1707,1709 ****
+  MAP PÐ
+- MAP YÓ
+  MAP XÕ
+--- 1706,1711 ----
+  MAP PÐ
+  MAP XÕ
++ 
++ REP 2
++ REP Y Ó
++ REP Ó Y
diff --git a/runtime/spell/bg/main.aap b/runtime/spell/bg/main.aap
new file mode 100644
index 0000000..7849526
--- /dev/null
+++ b/runtime/spell/bg/main.aap
@@ -0,0 +1,79 @@
+# Aap recipe for Czech 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    = bg_BG.aff bg_BG.dic
+
+all: $SPELLDIR/bg.cp1251.spl $SPELLDIR/bg.utf-8.spl ../README_bg.txt
+
+$SPELLDIR/bg.cp1251.spl : $VIM $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
+        :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
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} bg_BG.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.
+bg_BG.aff bg_BG.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch bg_BG.zip
+        :sys $UNZIP bg_BG.zip
+        :delete bg_BG.zip
+        :sys $VIM bg_BG.aff -c "set ff=unix" -c "update" -c q
+        :sys $VIM bg_BG.dic -c "set ff=unix" -c "update" -c q
+        @if not os.path.exists('bg_BG.orig.aff'):
+            :copy bg_BG.aff bg_BG.orig.aff
+        @if not os.path.exists('bg_BG.orig.dic'):
+            :copy bg_BG.dic bg_BG.orig.dic
+        @if os.path.exists('bg_BG.diff'):
+            :sys patch <bg_BG.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 bg_BG.orig.aff bg_BG.aff >bg_BG.diff
+        :sys {force} diff -a -C 1 bg_BG.orig.dic bg_BG.dic >>bg_BG.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 bg_BG.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../bg_BG.zip
+            :sys {force} diff ../bg_BG.orig.aff bg_BG.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy bg_BG.aff ../bg_BG.new.aff
+            :sys {force} diff ../bg_BG.orig.dic bg_BG.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy bg_BG.dic ../bg_BG.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete bg_BG.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/ca/ca_ES.diff b/runtime/spell/ca/ca_ES.diff
new file mode 100644
index 0000000..dda3b0a
--- /dev/null
+++ b/runtime/spell/ca/ca_ES.diff
@@ -0,0 +1,76 @@
+*** ca_ES.orig.aff	Sat Aug 13 18:01:36 2005
+--- ca_ES.aff	Sat Aug 13 18:01:32 2005
+***************
+*** 44,48 ****
+  
+! # substitucions preferides
+! FIRST a/à e/é/è é/è/e è/é/e i/í/ï í/i/ï o/ó/ò ó/ò/o ò/ó/o u/ú/ü ú/u/ü ü/u/ú
+! FIRST l/l·l l·l/l
+  
+--- 44,65 ----
+  
+! FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+! LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+! UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+! 
+! SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
+! SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
+! 
+! MIDWORD	·-'
+! 
+! MAP 6
+! MAP aàáâãäå
+! MAP eèéêë
+! MAP iìíîï
+! MAP oòóôõö
+! MAP uùúûü
+! MAP cç
+! 
+! REP 2
+! REP l l·l
+! REP l·l l
+  
+*** ca_ES.orig.dic	Sat Aug 13 18:01:55 2005
+--- ca_ES.dic	Sat Aug 13 18:01:51 2005
+***************
+*** 25312,25314 ****
+  caos/E
+- cap
+  cap-rodo/E
+--- 25312,25313 ----
+***************
+*** 35103,35105 ****
+  corrasió/G
+- corre
+  corre-corrents
+--- 35102,35103 ----
+***************
+*** 99806,99808 ****
+  majúscul/F
+- mal
+  mal-llevat/E
+--- 99804,99805 ----
+***************
+*** 107517,107519 ****
+  notòriament
+- nou
+  nou-centes/E
+--- 107514,107515 ----
+***************
+*** 122687,122689 ****
+  ratània/E
+- rau
+  rau-rau/E
+--- 122683,122684 ----
+***************
+*** 139389,139391 ****
+  taüt/E
+- te
+  te'l
+--- 139384,139385 ----
+***************
+*** 147590,147592 ****
+  vitícola/E
+- viu
+  viu-viu/E
+--- 147584,147585 ----
diff --git a/runtime/spell/ca/main.aap b/runtime/spell/ca/main.aap
new file mode 100644
index 0000000..b2f7350
--- /dev/null
+++ b/runtime/spell/ca/main.aap
@@ -0,0 +1,81 @@
+# Aap recipe for Catelan (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    = ca_ES.aff ca_ES.dic
+
+all: $SPELLDIR/ca.latin1.spl $SPELLDIR/ca.utf-8.spl ../README_ca.txt
+
+$SPELLDIR/ca.latin1.spl : $VIM $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
+        :sys env LANG=ca_ES.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/ca ca_ES" -c q
+
+../README_ca.txt : README_ca_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%} ca_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.
+# Make sure the files are in Unix fileformat
+ca_ES.aff ca_ES.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch ca_ES.zip
+        :sys $UNZIP ca_ES.zip
+        :delete ca_ES.zip
+        :sys $VIM ca_ES.aff -c "set ff=unix" -c "update" -c q
+        :sys $VIM ca_ES.dic -c "set ff=unix" -c "update" -c q
+        @if not os.path.exists('ca_ES.orig.aff'):
+            :copy ca_ES.aff ca_ES.orig.aff
+        @if not os.path.exists('ca_ES.orig.dic'):
+            :copy ca_ES.dic ca_ES.orig.dic
+        @if os.path.exists('ca_ES.diff'):
+            :sys patch <ca_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 ca_ES.orig.aff ca_ES.aff >ca_ES.diff
+        :sys {force} diff -a -C 1 ca_ES.orig.dic ca_ES.dic >>ca_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 ca_ES.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../ca_ES.zip
+            :sys {force} diff ../ca_ES.orig.aff ca_ES.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy ca_ES.aff ../ca_ES.new.aff
+            :sys {force} diff ../ca_ES.orig.dic ca_ES.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy ca_ES.dic ../ca_ES.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete ca_ES.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/cs/cs_CZ.diff b/runtime/spell/cs/cs_CZ.diff
new file mode 100644
index 0000000..40a84ef
--- /dev/null
+++ b/runtime/spell/cs/cs_CZ.diff
@@ -0,0 +1,783 @@
+*** cs_CZ.orig.aff	Sat Aug 13 21:38:29 2005
+--- cs_CZ.aff	Sat Aug 13 23:29:13 2005
+***************
+*** 3,4 ****
+--- 3,8 ----
+  
++ FOL ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP ¡¢£¥¦¨©ª«¬®¯±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
+  PFX N Y 1
+***************
+*** 2118,2120 ****
+  SFX A   nout        ly         [aeiouyáéíóúýùì]rnout
+! SFX A   nout        l          [aeiouyáéíóúýùìr][^aeiouyáéíóúýùìrl][^aeiouy
+  SFX A   nout        l          [aeiouyáéíóúýùìr][^aeiouyáéíóúýùìrl]nout
+--- 2122,2124 ----
+  SFX A   nout        ly         [aeiouyáéíóúýùì]rnout
+! SFX A   nout        l          [aeiouyáéíóúýùìr][^aeiouyáéíóúýùìrl][^aeiouy]out
+  SFX A   nout        l          [aeiouyáéíóúýùìr][^aeiouyáéíóúýùìrl]nout
+*** cs_CZ.orig.dic	Sat Aug 13 21:38:29 2005
+--- cs_CZ.dic	Sun Aug 14 15:33:38 2005
+***************
+*** 2944,2946 ****
+  ar/H
+- arch
+  archaický/YCRN
+--- 2944,2945 ----
+***************
+*** 3098,3100 ****
+  arogantní/YKRN
+- aroma
+  aroma/K
+--- 3097,3098 ----
+***************
+*** 4753,4755 ****
+  banjo/MQ
+- bank
+  banka/ZQ
+--- 4751,4752 ----
+***************
+*** 5540,5542 ****
+  Bechyòákùv/Y
+- Bechynì
+  Bechynì/S
+--- 5537,5538 ----
+***************
+*** 5945,5947 ****
+  bermudský/YRN
+- Bermudy
+  Bermudy/ZQ
+--- 5941,5942 ----
+***************
+*** 6111,6113 ****
+  Beustùv/Y
+- bez
+  Bezáková/Y
+--- 6106,6107 ----
+***************
+*** 7294,7296 ****
+  blána/Z
+- Blanc
+  Blanc/PV
+--- 7288,7289 ----
+***************
+*** 9456,9458 ****
+  bøichovitý/YKR
+- bøímì
+  bøímì/M
+--- 9449,9450 ----
+***************
+*** 9667,9669 ****
+  budy¹ínský/Y
+- bufet
+  bufetáøèin/Y
+--- 9659,9660 ----
+***************
+*** 9677,9679 ****
+  bufferový/YRN
+- buffet
+  buffet/H
+--- 9668,9669 ----
+***************
+*** 11386,11388 ****
+  cop/H
+- copyright
+  copyright/H
+--- 11376,11377 ----
+***************
+*** 11446,11448 ****
+  cresc
+- crescendo
+  crescendo/MQ
+--- 11435,11436 ----
+***************
+*** 13810,13812 ****
+  daktylus/Q
+- dál
+  dalajláma/PV
+--- 13798,13799 ----
+***************
+*** 13816,13818 ****
+  dál/E
+- dále
+  Dalecký/Y
+--- 13803,13804 ----
+***************
+*** 13821,13823 ****
+  dále/E
+- daleko
+  dalekohled/H
+--- 13807,13808 ----
+***************
+*** 14082,14084 ****
+  datla
+- datle
+  datlech
+--- 14067,14068 ----
+***************
+*** 14756,14758 ****
+  dekuraèní/YRN
+- dìl
+  delaborace/Z
+--- 14740,14741 ----
+***************
+*** 15301,15303 ****
+  desaterákùv/Y
+- desatero
+  desatero/MQ
+--- 15284,15285 ----
+***************
+*** 15716,15718 ****
+  devaterník/H
+- devatero
+  devatero/MQ
+--- 15698,15699 ----
+***************
+*** 16152,16154 ****
+  DIK
+- dík
+  dikalciumfosfát/H
+--- 16133,16134 ----
+***************
+*** 16603,16605 ****
+  Diùv/Y
+- div
+  divácký/YKR
+--- 16583,16584 ----
+***************
+*** 19886,19888 ****
+  dopola
+- dopoledne
+  dopoledne/M
+--- 19865,19866 ----
+***************
+*** 19970,19972 ****
+  doprat/ATN
+- doprava
+  doprava/ZQ
+--- 19948,19949 ----
+***************
+*** 22912,22914 ****
+  døív/E
+- døíve
+  døíveèko/MQ
+--- 22889,22890 ----
+***************
+*** 26369,26371 ****
+  fakoemulsifikace/Z
+- faksimile
+  faksimile/Z
+--- 26345,26346 ----
+***************
+*** 27266,27268 ****
+  fimóza/ZQ
+- finále
+  finále/Z
+--- 27241,27242 ----
+***************
+*** 28101,28103 ****
+  foxtrotový/Y
+- foyer
+  foyer/H
+--- 28075,28076 ----
+***************
+*** 28759,28761 ****
+  Gajdùv/Y
+- Gal
+  gal
+--- 28732,28733 ----
+***************
+*** 29060,29062 ****
+  gemovat/ATN
+- gen
+  genciánový/YR
+--- 29032,29033 ----
+***************
+*** 29410,29412 ****
+  glejt/H
+- glissando
+  glissando/MQ
+--- 29381,29382 ----
+***************
+*** 31247,31249 ****
+  hefebrand/H
+- Hegel
+  Hegela
+--- 31217,31218 ----
+***************
+*** 31602,31604 ****
+  Herkulem
+- Herkules
+  Herkules/D
+--- 31571,31572 ----
+***************
+*** 32258,32260 ****
+  hloubìtínský/Y
+- hloubi
+  hloubicí/Y
+--- 32226,32227 ----
+***************
+*** 32612,32614 ****
+  Hocký/Y
+- hod
+  Hodìjice/C
+--- 32579,32580 ----
+***************
+*** 33069,33071 ****
+  homoisoflavonoid/H
+- Homola
+  Homola/PV
+--- 33035,33036 ----
+***************
+*** 34389,34391 ****
+  høebelec/S
+- høeben
+  høebenatka/ZQ
+--- 34354,34355 ----
+***************
+*** 34817,34819 ****
+  Huserkùv/Y
+- husí
+  husice/ZQ
+--- 34781,34782 ----
+***************
+*** 36441,36443 ****
+  chøupavý/YKRN
+- chtì
+  chtìje/XN
+--- 36404,36405 ----
+***************
+*** 38569,38571 ****
+  jajaj
+- jak
+  jakákoli
+--- 38531,38532 ----
+***************
+*** 39323,39325 ****
+  jedné/N
+- jedni
+  jednice/ZQ
+--- 39284,39285 ----
+***************
+*** 39534,39536 ****
+  jednotýdenní/YR
+- jednou
+  jednoúèelový/YRN
+--- 39494,39495 ----
+***************
+*** 39717,39719 ****
+  jemu¾
+- jen
+  Jena/ZQ
+--- 39676,39677 ----
+***************
+*** 39755,39757 ****
+  jen/N
+- jenom
+  jenom/N
+--- 39713,39714 ----
+***************
+*** 40149,40151 ****
+  jináè/S
+- jinak
+  jinak/N
+--- 40106,40107 ----
+***************
+*** 41317,41319 ****
+  Kalistùv/Y
+- Kali¹
+  kalí¹ek/Q
+--- 41273,41274 ----
+***************
+*** 42861,42863 ****
+  kde¾to
+- kdo
+  kdojíjak
+--- 42816,42817 ----
+***************
+*** 44048,44050 ****
+  Klsákùv/Y
+- klub
+  klubající/YN
+--- 44002,44003 ----
+***************
+*** 44235,44237 ****
+  Kneøùv/Y
+- knìz
+  knìze
+--- 44188,44189 ----
+***************
+*** 45007,45009 ****
+  kolik
+- kolika
+  kolikaciferný/YKRN
+--- 44959,44960 ----
+***************
+*** 46292,46294 ****
+  kontinuum/MQ
+- konto
+  kontokorent/H
+--- 46243,46244 ----
+***************
+*** 47152,47154 ****
+  kosmopolitùv/Y
+- kosmos
+  kosmos/Q
+--- 47102,47103 ----
+***************
+*** 51844,51846 ****
+  Leclancheùv/Y
+- leè
+  léèba/ZQ
+--- 51793,51794 ----
+***************
+*** 52449,52451 ****
+  le¹tivý/YKRN
+- let
+  létací/YN
+--- 52397,52398 ----
+***************
+*** 54351,54353 ****
+  lùj
+- luk
+  Lukáèová/Y
+--- 54298,54299 ----
+***************
+*** 55408,55410 ****
+  Mallorca/ZQ
+- málo
+  malobur¾oasie/Z
+--- 55354,55355 ----
+***************
+*** 55574,55576 ****
+  mamutùv/Y
+- Man
+  má/N
+--- 55519,55520 ----
+***************
+*** 55852,55854 ****
+  Maputo/MQ
+- marabu
+  marabu/PV
+--- 55796,55797 ----
+***************
+*** 57254,57256 ****
+  Mendlùv/Y
+- ménì
+  ménìcennìj¹í/YRW
+--- 57197,57198 ----
+***************
+*** 58358,58360 ****
+  milený/YN
+- milerád
+  milerád/O
+--- 58300,58301 ----
+***************
+*** 59426,59428 ****
+  mocím
+- mocipán
+  mocipána
+--- 59367,59368 ----
+***************
+*** 60833,60835 ****
+  Muchùv/Y
+- mùj
+  mùj/Y
+--- 60773,60774 ----
+***************
+*** 62308,62310 ****
+  nadplocha/ZQ
+- nadpoèet
+  nadpoèetnìj¹í/YRW
+--- 62247,62248 ----
+***************
+*** 66114,66116 ****
+  nava¾ující/YN
+- naveèer
+  naveèer/L
+--- 66052,66053 ----
+***************
+*** 66581,66583 ****
+  nebes
+- nebesa
+  nebesa/MQ
+--- 66518,66519 ----
+***************
+*** 68080,68082 ****
+  noblesní/YKR
+- noc
+  nocemi
+--- 68016,68017 ----
+***************
+*** 68562,68564 ****
+  novum/MQ
+- Nový
+  Nový/Y
+--- 68497,68498 ----
+***************
+*** 73018,73020 ****
+  odpojovávat/JTN
+- odpoledne
+  odpoledne/M
+--- 72952,72953 ----
+***************
+*** 73121,73123 ****
+  odpra¹ovat/ATN
+- odprava
+  odprava/ZQ
+--- 73054,73055 ----
+***************
+*** 76145,76147 ****
+  oosféra/ZQ
+- op
+  opáèení/SN
+--- 76077,76078 ----
+***************
+*** 78040,78042 ****
+  ostøihnout/ATN
+- Ostøihom
+  Ostøihom/K
+--- 77971,77972 ----
+***************
+*** 80117,80121 ****
+  pantheistický/YCR
+- pantofel
+  pantofel/Q
+- pantofle
+  pantoflemi
+--- 80047,80049 ----
+***************
+*** 80258,80260 ****
+  par
+- pár
+  paraamfibolit/H
+--- 80186,80187 ----
+***************
+*** 81414,81416 ****
+  PE
+- pec
+  pecaø/U
+--- 81341,81342 ----
+***************
+*** 82720,82722 ****
+  pianistùv/Y
+- piano
+  piáno/MQ
+--- 82646,82647 ----
+***************
+*** 83321,83323 ****
+  pizzerie/Z
+- pizzicato
+  pizzicato/MQ
+--- 83246,83247 ----
+***************
+*** 83731,83733 ****
+  plebiscit/H
+- plebs
+  plebse
+--- 83655,83656 ----
+***************
+*** 83833,83835 ****
+  Pleskotùv/Y
+- plesky
+  plesky/H
+--- 83756,83757 ----
+***************
+*** 85861,85863 ****
+  podøadìní/SN
+- podøadìný
+  podøadìný/YKRN
+--- 85783,85784 ----
+***************
+*** 89077,89079 ****
+  popøávat/JN
+- popøedí
+  popøedí/S
+--- 88998,88999 ----
+***************
+*** 91358,91360 ****
+  pozabíjet/JTN
+- pozadí
+  pozadí/S
+--- 91278,91279 ----
+***************
+*** 91783,91785 ****
+  práceschopný/YKR
+- prací
+  práci
+--- 91702,91703 ----
+***************
+*** 92176,92178 ****
+  pravìký/YKR
+- právem
+  právem/N
+--- 92094,92095 ----
+***************
+*** 95377,95379 ****
+  prospávat/JTN
+- prospìch
+  prospìchání/SN
+--- 95294,95295 ----
+***************
+*** 105195,105197 ****
+  pùldenní/YR
+- pùldne
+  pùldnech
+--- 105111,105112 ----
+***************
+*** 105216,105218 ****
+  pùldruhý/Y
+- pùle
+  pulec/U
+--- 105131,105132 ----
+***************
+*** 106257,106259 ****
+  rámcový/YR
+- rámì
+  rámec/S
+--- 106171,106172 ----
+***************
+*** 109304,109306 ****
+  rozdìlující/YN
+- rozdíl
+  rozdílení/SN
+--- 109217,109218 ----
+***************
+*** 113029,113031 ****
+  Rúr/H
+- Rus
+  rusalèí/Y
+--- 112941,112942 ----
+***************
+*** 113124,113126 ****
+  ru¹tina/ZQ
+- Rút
+  Rùta/PV
+--- 113035,113036 ----
+***************
+*** 115104,115106 ****
+  scezovat/ATN
+- science
+  science/Z
+--- 115014,115015 ----
+***************
+*** 115723,115725 ****
+  sedmerèe/K
+- sedmero
+  sedmero/MQ
+--- 115632,115633 ----
+***************
+*** 116249,116251 ****
+  Sémùv/Y
+- sen
+  senaø/PI
+--- 116157,116158 ----
+***************
+*** 116962,116964 ****
+  se¹vindlovat/ATN
+- set
+  setba/ZQ
+--- 116869,116870 ----
+***************
+*** 117786,117788 ****
+  Sikùv/Y
+- sil
+  silácký/YKRN
+--- 117692,117693 ----
+***************
+*** 121635,121637 ****
+  spatný/YKR
+- spatra
+  spatra/ZQ
+--- 121540,121541 ----
+***************
+*** 121887,121889 ****
+  spí¹
+- spí¹e
+  spí¹e/E
+--- 121791,121792 ----
+***************
+*** 122323,122325 ****
+  spolupráce/N
+- spolupráci
+  spolupracích/N
+--- 122226,122227 ----
+***************
+*** 122890,122892 ****
+  srovnanìj¹í/YRW
+- srovnání
+  srovnání/SN
+--- 122792,122793 ----
+***************
+*** 129987,129989 ****
+  ¹unt/H
+- ¹up
+  ¹upácký/YKR
+--- 129888,129889 ----
+***************
+*** 130427,130429 ****
+  takovouto
+- takový
+  takovýchto
+--- 130327,130328 ----
+***************
+*** 131190,131192 ****
+  tem¾ský/Y
+- ten
+  tenata/MQ
+--- 131089,131090 ----
+***************
+*** 131958,131960 ****
+  tichý/YKRO
+- tik
+  tikající/YN
+--- 131856,131857 ----
+***************
+*** 132541,132543 ****
+  Tomaschùv/Y
+- Tomá¹
+  Tomá¹ek/PV
+--- 132438,132439 ----
+***************
+*** 133890,133892 ****
+  Trubská/Y
+- truc
+  truc/H
+--- 133786,133787 ----
+***************
+*** 134057,134059 ****
+  tøást/IN
+- tøeba
+  tøeba/N
+--- 133952,133953 ----
+***************
+*** 135024,135026 ****
+  tvrz/Z
+- tvùj
+  tvùj/Y
+--- 134918,134919 ----
+***************
+*** 135532,135534 ****
+  úèesový/YR
+- úèet
+  úèetnický/YRN
+--- 135425,135426 ----
+***************
+*** 139620,139622 ****
+  uzamknutí/SN
+- uzamknutý
+  uzamknutý/YKRN
+--- 139512,139513 ----
+***************
+*** 141624,141626 ****
+  Verdolùv/Y
+- vìren
+  vìren/N
+--- 141515,141516 ----
+***************
+*** 141651,141653 ****
+  vìr/N
+- vìrna
+  vìrna/N
+--- 141541,141542 ----
+***************
+*** 141663,141665 ****
+  Verne/Y
+- vìrni
+  vìrni/N
+--- 141552,141553 ----
+***************
+*** 141667,141669 ****
+  vernisá¾/Z
+- vìrno
+  vìrno/N
+--- 141555,141556 ----
+***************
+*** 141671,141676 ****
+  vernovka/ZQ
+- vìrnu
+  vìrnu/N
+  Vernùv/Y
+- vìrny
+  vìrny/N
+--- 141558,141561 ----
+***************
+*** 141924,141926 ****
+  vetknutí/SN
+- vetknutý
+  vetknutý/YKRN
+--- 141809,141810 ----
+***************
+*** 142117,142119 ****
+  vhloubený/YKRN
+- vhloubit
+  vhloubit/ATN
+--- 142001,142002 ----
+***************
+*** 144104,144106 ****
+  Voldánùv/Y
+- vole
+  volební/YR
+--- 143987,143988 ----
+***************
+*** 144409,144411 ****
+  Votýpkùv/Y
+- vous
+  vousáè/U
+--- 144291,144292 ----
+***************
+*** 144952,144954 ****
+  vrtulový/YR
+- vrub
+  vrub/H
+--- 144833,144834 ----
+***************
+*** 144979,144981 ****
+  vrývavý/YR
+- vrz
+  Vrzáèek/PV
+--- 144859,144860 ----
+***************
+*** 151330,151332 ****
+  vytknutí/SN
+- vytknutý
+  vytknutý/YRN
+--- 151209,151210 ----
+***************
+*** 151927,151929 ****
+  vyvrhnutí/SN
+- vyvrhnutý
+  vyvrhnutý/YKRN
+--- 151805,151806 ----
+***************
+*** 152435,152437 ****
+  vzdìlávat/JTN
+- vzdor
+  vzdor/H
+--- 152312,152313 ----
+***************
+*** 156040,156042 ****
+  zamknutí/SN
+- zamknutý
+  zamknutý/YKRN
+--- 155916,155917 ----
+***************
+*** 157795,157797 ****
+  zastonejte/N
+- zastoupení
+  zastoupení/SN
+--- 157670,157671 ----
+***************
+*** 160364,160366 ****
+  zebøí/Y
+- zebu
+  zebu/BN
+--- 160238,160239 ----
+***************
+*** 166409,166411 ****
+  ®muï
+- ¾nec
+  ¾nec/U
+--- 166282,166283 ----
diff --git a/runtime/spell/cs/main.aap b/runtime/spell/cs/main.aap
new file mode 100644
index 0000000..5ead6d0
--- /dev/null
+++ b/runtime/spell/cs/main.aap
@@ -0,0 +1,81 @@
+# Aap recipe for Czech 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    = cs_CZ.aff cs_CZ.dic
+
+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
+        :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
+        :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
+        :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/cs cs_CZ" -c q
+
+../README_cs.txt: README_cs_CZ.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%} cs_CZ.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.
+cs_CZ.aff cs_CZ.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch cs_CZ.zip
+        :sys $UNZIP cs_CZ.zip
+        :delete cs_CZ.zip
+        @if not os.path.exists('cs_CZ.orig.aff'):
+            :copy cs_CZ.aff cs_CZ.orig.aff
+        @if not os.path.exists('cs_CZ.orig.dic'):
+            :copy cs_CZ.dic cs_CZ.orig.dic
+        @if os.path.exists('cs_CZ.diff'):
+            :sys patch <cs_CZ.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 cs_CZ.orig.aff cs_CZ.aff >cs_CZ.diff
+        :sys {force} diff -a -C 1 cs_CZ.orig.dic cs_CZ.dic >>cs_CZ.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 cs_CZ.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../cs_CZ.zip
+            :sys {force} diff ../cs_CZ.orig.aff cs_CZ.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy cs_CZ.aff ../cs_CZ.new.aff
+            :sys {force} diff ../cs_CZ.orig.dic cs_CZ.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy cs_CZ.dic ../cs_CZ.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete cs_CZ.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/da/main.aap b/runtime/spell/da/main.aap
new file mode 100644
index 0000000..53e3716
--- /dev/null
+++ b/runtime/spell/da/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    = da_DK.aff da_DK.dic
+
+all: $SPELLDIR/da.latin1.spl $SPELLDIR/da.utf-8.spl ../README_da.txt
+
+$SPELLDIR/da.latin1.spl : $VIM $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
+        :sys env LANG=da_DK.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/da da_DK" -c q
+
+../README_da.txt : README 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%} da_DK.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.
+da_DK.aff da_DK.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch da_DK.zip
+        :sys $UNZIP da_DK.zip
+        :delete da_DK.zip
+        @if not os.path.exists('da_DK.orig.aff'):
+            :copy da_DK.aff da_DK.orig.aff
+        @if not os.path.exists('da_DK.orig.dic'):
+            :copy da_DK.dic da_DK.orig.dic
+        @if os.path.exists('da_DK.diff'):
+            :sys patch <da_DK.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 da_DK.orig.aff da_DK.aff >da_DK.diff
+        :sys {force} diff -a -C 1 da_DK.orig.dic da_DK.dic >>da_DK.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 da_DK.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../da_DK.zip
+            :sys {force} diff ../da_DK.orig.aff da_DK.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy da_DK.aff ../da_DK.new.aff
+            :sys {force} diff ../da_DK.orig.dic da_DK.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy da_DK.dic ../da_DK.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete da_DK.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/de/de_19.diff b/runtime/spell/de/de_19.diff
new file mode 100644
index 0000000..a807a8b
--- /dev/null
+++ b/runtime/spell/de/de_19.diff
@@ -0,0 +1,27 @@
+*** de_19.orig.aff	Mon Aug 15 22:45:35 2005
+--- de_19.aff	Mon Aug 15 22:54:10 2005
+***************
+*** 3,4 ****
+--- 3,24 ----
+  
++ 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ß
++ 
+  
diff --git a/runtime/spell/de/de_20.diff b/runtime/spell/de/de_20.diff
new file mode 100644
index 0000000..432ad5f
--- /dev/null
+++ b/runtime/spell/de/de_20.diff
@@ -0,0 +1,28 @@
+*** de_20.orig.aff	Mon Aug 15 22:45:41 2005
+--- de_20.aff	Mon Aug 15 22:54:16 2005
+***************
+*** 2,3 ****
+--- 2,24 ----
+  TRY esianrtolcdugmphbyfvkwäüößáéêàâñESIANRTOLCDUGMPHBYFVKWÄÜÖ
++ 
++ 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ß
++ 
+  #
diff --git a/runtime/spell/de/de_AT.diff b/runtime/spell/de/de_AT.diff
new file mode 100644
index 0000000..e13e4d5
--- /dev/null
+++ b/runtime/spell/de/de_AT.diff
@@ -0,0 +1,44 @@
+*** de_AT.orig.aff	Mon Aug 15 22:59:43 2005
+--- de_AT.aff	Mon Aug 15 23:00:25 2005
+***************
+*** 3,4 ****
+--- 3,24 ----
+  
++ 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ß
++ 
+  
+*** de_AT.orig.dic	Mon Aug 15 22:59:43 2005
+--- de_AT.dic	Mon Aug 15 23:03:19 2005
+***************
+*** 18,20 ****
+  Fleischbänke/N
+- Fleischbank
+  Fleischhauer/NS
+--- 18,19 ----
+***************
+*** 151,153 ****
+  zulieb
+! 77857
+  Äbte/N
+--- 150,152 ----
+  zulieb
+! 
+  Äbte/N
diff --git a/runtime/spell/de/de_CH.diff b/runtime/spell/de/de_CH.diff
new file mode 100644
index 0000000..607f874
--- /dev/null
+++ b/runtime/spell/de/de_CH.diff
@@ -0,0 +1,27 @@
+*** de_CH.orig.aff	Mon Aug 15 22:45:43 2005
+--- de_CH.aff	Mon Aug 15 22:54:21 2005
+***************
+*** 3,4 ****
+--- 3,24 ----
+  
++ 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ß
++ 
+  
diff --git a/runtime/spell/de/de_DE.diff b/runtime/spell/de/de_DE.diff
index 0d395e8..fe33b41 100644
--- a/runtime/spell/de/de_DE.diff
+++ b/runtime/spell/de/de_DE.diff
@@ -1,5 +1,5 @@
-*** de_DE.orig.aff	Fri Feb 25 12:50:10 2005
---- de_DE.aff	Sun Jul 31 22:15:49 2005
+*** de_DE.orig.aff	Mon Aug 15 22:45:33 2005
+--- de_DE.aff	Mon Aug 15 22:45:33 2005
 ***************
 *** 2,3 ****
 --- 2,24 ----
diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap
index 80bfcea..df608e1 100644
--- a/runtime/spell/de/main.aap
+++ b/runtime/spell/de/main.aap
@@ -1,4 +1,13 @@
 # Aap recipe for German Vim spell files.
+#
+# Since there is a big discussion about whether to use the old or the new
+# spelling rules, both have been included.
+#    "de": all possible words allowed
+# "de_de": old and new German spelling
+# "de_19": old German spelling
+# "de_20": new German spelling
+# "de_AT": Austrian spelling
+# "de_CH": Swiss spelling
 
 # Use a freshly compiled Vim if it exists.
 @if os.path.exists('../../../src/vim'):
@@ -6,66 +15,170 @@
 @else:
     :progsearch VIM vim
 
-SPELLDIR = ..
-FILES    = de_DE.aff de_DE.dic
-ZIPFILE  = de_DE_comb.zip
+REGIONS = DE 19 20 AT CH
+DE_REGIONS = de_$*REGIONS
 
-all: $(SPELLDIR)/de.latin1.spl $(SPELLDIR)/de.utf-8.spl ../README_de.txt
+SPELLDIR   = ..
+FILES      = de_$*(REGIONS).aff de_$*(REGIONS).dic
 
-$(SPELLDIR)/de.latin1.spl : $(VIM) $(FILES)
+ZIPFILE_DE = de_DE_comb.zip
+ZIPFILE_19 = de_DE.zip
+ZIPFILE_20 = de_DE_neu.zip
+ZIPFILE_AT = de_AT.zip
+ZIPFILE_CH = de_CH.zip
+ZIPFILES   = $ZIPFILE_DE $ZIPFILE_19 $ZIPFILE_20 $ZIPFILE_AT $ZIPFILE_CH
+
+READMES    = README_de_$*(REGIONS).txt
+
+all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt
+
+$SPELLDIR/de.latin1.spl : $VIM $FILES
         :sys env LANG=de_DE.ISO8859-1
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
 
-$(SPELLDIR)/de.utf-8.spl : $(VIM) $(FILES)
+$SPELLDIR/de.utf-8.spl : $VIM $FILES
         :sys env LANG=de_DE.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/de de_DE" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q
 
-../README_de.txt: README_de_DE_comb.txt
-        :copy $source $target
+../README_de.txt: $READMES
+        :print de_DE (combined) >! $target
+        :cat README_de_DE.txt   >> $target
+        :print =================================================== >>$target
+        :print de_19 (old)      >> $target
+        :cat README_de_19.txt   >> $target
+        :print =================================================== >>$target
+        :print de_20 (new)      >> $target
+        :cat README_de_20.txt   >> $target
+        :print =================================================== >>$target
+        :print de_AT (Austria)  >> $target
+        :cat README_de_AT.txt   >> $target
+        :print =================================================== >>$target
+        :print de_CH (Swiss)    >> $target
+        :cat README_de_CH.txt   >> $target
 
 #
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} $(ZIPFILE)
+:attr {fetch = $OODIR/%file%} $ZIPFILES
 
 # 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.
 de_DE.aff de_DE.dic: {buildcheck=}
         :assertpkg unzip patch
-        :fetch $(ZIPFILE)
-        :sys $(UNZIP) $(ZIPFILE)
-        :delete $(ZIPFILE)
+        :fetch $ZIPFILE_DE
+        :sys $UNZIP $ZIPFILE_DE
+        :delete $ZIPFILE_DE
         :move de_DE_comb.aff de_DE.aff
         :move de_DE_comb.dic de_DE.dic
+        :move README_de_DE_comb.txt README_de_DE.txt
         @if not os.path.exists('de_DE.orig.aff'):
-                :copy de_DE.aff de_DE.orig.aff
+            :copy de_DE.aff de_DE.orig.aff
         @if not os.path.exists('de_DE.orig.dic'):
-                :copy de_DE.dic de_DE.orig.dic
+            :copy de_DE.dic de_DE.orig.dic
         @if os.path.exists('de_DE.diff'):
             :sys patch <de_DE.diff
 
+de_19.aff de_19.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch $ZIPFILE_19
+        # Move the other files out of the way.
+        @if os.path.exists("de_DE.aff"):
+            :move de_DE.aff de_DE_comb.aff
+            :move de_DE.dic de_DE_comb.dic
+            :move README_de_DE.txt README_de_DE_comb.txt
+
+        :sys $UNZIP $ZIPFILE_19
+        :delete $ZIPFILE_19
+        :delete {f} de_AT.dic
+        :move de_DE.aff de_19.aff
+        :move de_DE.dic de_19.dic
+        :move README_de_DE.txt README_de_19.txt
+
+        @if os.path.exists("de_DE_comb.aff"):
+            :move de_DE_comb.aff de_DE.aff
+            :move de_DE_comb.dic de_DE.dic
+            :move README_de_DE_comb.txt README_de_DE.txt
+        @if not os.path.exists('de_19.orig.aff'):
+            :copy de_19.aff de_19.orig.aff
+        @if not os.path.exists('de_19.orig.dic'):
+            :copy de_19.dic de_19.orig.dic
+        @if os.path.exists('de_19.diff'):
+            :sys patch <de_19.diff
+
+de_20.aff de_20.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch $ZIPFILE_20
+        :sys $UNZIP $ZIPFILE_20
+        :delete $ZIPFILE_20
+        :move de_DE_neu.aff de_20.aff
+        :move de_DE_neu.dic de_20.dic
+        :move README_de_DE_neu.txt README_de_20.txt
+        @if not os.path.exists('de_20.orig.aff'):
+            :copy de_20.aff de_20.orig.aff
+        @if not os.path.exists('de_20.orig.dic'):
+            :copy de_20.dic de_20.orig.dic
+        @if os.path.exists('de_20.diff'):
+            :sys patch <de_20.diff
+
+# It appears de_AT.dic is only an additional file for another word list.  We
+# guess it's the old spelling one and concatenate them.  Complication is that
+# de_AT.dic is missing a newline at the end.
+de_AT.aff de_AT.dic: {buildcheck=} de_19.dic
+        :assertpkg unzip patch
+        :fetch $ZIPFILE_AT
+        :sys $UNZIP $ZIPFILE_AT
+        :delete $ZIPFILE_AT
+        :print >>de_AT.dic
+        :cat de_19.dic >>de_AT.dic
+        @if not os.path.exists('de_AT.orig.aff'):
+            :copy de_AT.aff de_AT.orig.aff
+        @if not os.path.exists('de_AT.orig.dic'):
+            :copy de_AT.dic de_AT.orig.dic
+        @if os.path.exists('de_AT.diff'):
+            :sys patch <de_AT.diff
+
+de_CH.aff de_CH.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch $ZIPFILE_CH
+        :sys $UNZIP $ZIPFILE_CH
+        :delete $ZIPFILE_CH
+        @if not os.path.exists('de_CH.orig.aff'):
+            :copy de_CH.aff de_CH.orig.aff
+        @if not os.path.exists('de_CH.orig.dic'):
+            :copy de_CH.dic de_CH.orig.dic
+        @if os.path.exists('de_CH.diff'):
+            :sys patch <de_CH.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 de_DE.orig.aff de_DE.aff >de_DE.diff
         :sys {force} diff -a -C 1 de_DE.orig.dic de_DE.dic >>de_DE.diff
+        :sys {force} diff -a -C 1 de_19.orig.aff de_19.aff >de_19.diff
+        :sys {force} diff -a -C 1 de_19.orig.dic de_19.dic >>de_19.diff
+        :sys {force} diff -a -C 1 de_20.orig.aff de_20.aff >de_20.diff
+        :sys {force} diff -a -C 1 de_20.orig.dic de_20.dic >>de_20.diff
+        :sys {force} diff -a -C 1 de_AT.orig.aff de_AT.aff >de_AT.diff
+        :sys {force} diff -a -C 1 de_AT.orig.dic de_AT.dic >>de_AT.diff
+        :sys {force} diff -a -C 1 de_CH.orig.aff de_CH.aff >de_CH.diff
+        :sys {force} diff -a -C 1 de_CH.orig.dic de_CH.dic >>de_CH.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:
+        :print TODO!!!!
         :assertpkg unzip diff
-        :fetch $(ZIPFILE)
+        :fetch $ZIPFILE_DE
         :mkdir tmp
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../$(ZIPFILE)
+            :sys $UNZIP ../$ZIPFILE_DE
             :move de_DE_comb.aff de_DE.aff
             :move de_DE_comb.dic de_DE.dic
             :sys {force} diff ../de_DE.orig.aff de_DE.aff >d
@@ -77,7 +190,7 @@
         @finally:
             :cd ..
             :delete {r}{f}{q} tmp
-            :delete $(ZIPFILE)
+            :delete $ZIPFILE_DE
 
 
 # vim: set sts=4 sw=4 :
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index 73c59c7..c77ef9a 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 ed645b8..851f714 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 bb2bdb5..d6b7836 100644
--- a/runtime/spell/en.utf-8.spl
+++ b/runtime/spell/en.utf-8.spl
Binary files differ
diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap
index d466830..37a9ed1 100644
--- a/runtime/spell/en/main.aap
+++ b/runtime/spell/en/main.aap
@@ -13,21 +13,21 @@
            en_GB.aff en_GB.dic
            en_NZ.aff en_NZ.dic
 
-all: $(SPELLDIR)/en.latin1.spl $(SPELLDIR)/en.utf-8.spl \
-        $(SPELLDIR)/en.ascii.spl ../README_en.txt
+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 : $VIM $FILES
         :sys env LANG=en_US.ISO8859-1
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/en
+		$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 : $VIM $FILES
         :sys env LANG=en_US.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/en
+		$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)
-        :sys $(VIM) -u NONE -e -c "mkspell! -ascii $(SPELLDIR)/en
+$SPELLDIR/en.ascii.spl : $VIM $FILES
+        :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/en
                         en_US en_AU en_CA en_GB en_NZ" -c q
  
 ../README_en.txt: README_en_US.txt README_en_AU.txt
@@ -50,7 +50,7 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} en_US.zip en_CA.zip en_NZ.zip
+:attr {fetch = $OODIR/%file%} en_US.zip en_CA.zip en_NZ.zip
                                 en_GB.zip en_AU.zip
 
 # The files don't depend on the .zip file so that we can delete it.
@@ -58,61 +58,61 @@
 en_US.aff en_US.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch en_US.zip
-        :sys $(UNZIP) en_US.zip
+        :sys $UNZIP en_US.zip
         :delete en_US.zip
         @if not os.path.exists('en_US.orig.aff'):
-                :copy en_US.aff en_US.orig.aff
+            :copy en_US.aff en_US.orig.aff
         @if not os.path.exists('en_US.orig.dic'):
-                :copy en_US.dic en_US.orig.dic
+            :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
         :fetch en_AU.zip
-        :sys $(UNZIP) en_AU.zip
+        :sys $UNZIP en_AU.zip
         :delete en_AU.zip
         @if not os.path.exists('en_AU.orig.aff'):
-                :copy en_AU.aff en_AU.orig.aff
+            :copy en_AU.aff en_AU.orig.aff
         @if not os.path.exists('en_AU.orig.dic'):
-                :copy en_AU.dic en_AU.orig.dic
+            :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
         :fetch en_CA.zip
-        :sys $(UNZIP) en_CA.zip
+        :sys $UNZIP en_CA.zip
         :delete en_CA.zip
         @if not os.path.exists('en_CA.orig.aff'):
-                :copy en_CA.aff en_CA.orig.aff
+            :copy en_CA.aff en_CA.orig.aff
         @if not os.path.exists('en_CA.orig.dic'):
-                :copy en_CA.dic en_CA.orig.dic
+            :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
         :fetch en_GB.zip
-        :sys $(UNZIP) en_GB.zip
+        :sys $UNZIP en_GB.zip
         :delete en_GB.zip
         :delete dictionary.lst.example
         @if not os.path.exists('en_GB.orig.aff'):
-                :copy en_GB.aff en_GB.orig.aff
+            :copy en_GB.aff en_GB.orig.aff
         @if not os.path.exists('en_GB.orig.dic'):
-                :copy en_GB.dic en_GB.orig.dic
+            :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
         :fetch en_NZ.zip
-        :sys $(UNZIP) en_NZ.zip
+        :sys $UNZIP en_NZ.zip
         :delete en_NZ.zip
         @if not os.path.exists('en_NZ.orig.aff'):
-                :copy en_NZ.aff en_NZ.orig.aff
+            :copy en_NZ.aff en_NZ.orig.aff
         @if not os.path.exists('en_NZ.orig.dic'):
-                :copy en_NZ.dic en_NZ.orig.dic
+            :copy en_NZ.dic en_NZ.orig.dic
         @if os.path.exists('en_NZ.diff'):
             :sys patch <en_NZ.diff
 
@@ -146,7 +146,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_US.zip
+            :sys $UNZIP ../en_US.zip
             :sys {force} diff ../en_US.orig.aff en_US.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_US.aff ../en_US.new.aff
@@ -165,7 +165,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_AU.zip
+            :sys $UNZIP ../en_AU.zip
             :sys {force} diff ../en_AU.orig.aff en_AU.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_AU.aff ../en_AU.new.aff
@@ -184,7 +184,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_CA.zip
+            :sys $UNZIP ../en_CA.zip
             :sys {force} diff ../en_CA.orig.aff en_CA.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_CA.aff ../en_CA.new.aff
@@ -203,7 +203,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_GB.zip
+            :sys $UNZIP ../en_GB.zip
             :sys {force} diff ../en_GB.orig.aff en_GB.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_GB.aff ../en_GB.new.aff
@@ -222,7 +222,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../en_NZ.zip
+            :sys $UNZIP ../en_NZ.zip
             :sys {force} diff ../en_NZ.orig.aff en_NZ.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy en_NZ.aff ../en_NZ.new.aff
diff --git a/runtime/spell/fr/main.aap b/runtime/spell/fr/main.aap
index 4580c9c..9e51039 100644
--- a/runtime/spell/fr/main.aap
+++ b/runtime/spell/fr/main.aap
@@ -9,15 +9,15 @@
 SPELLDIR = ..
 FILES    = fr_FR.aff fr_FR.dic
 
-all: $(SPELLDIR)/fr.latin1.spl $(SPELLDIR)/fr.utf-8.spl ../README_fr.txt
+all: $SPELLDIR/fr.latin1.spl $SPELLDIR/fr.utf-8.spl ../README_fr.txt
 
-$(SPELLDIR)/fr.latin1.spl : $(VIM) $(FILES)
+$SPELLDIR/fr.latin1.spl : $VIM $FILES
         :sys env LANG=fr_FR.ISO8859-1
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q
 
-$(SPELLDIR)/fr.utf-8.spl : $(VIM) $(FILES)
+$SPELLDIR/fr.utf-8.spl : $VIM $FILES
         :sys env LANG=fr_FR.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q
 
 ../README_fr.txt : README_fr_FR.txt
         :copy $source $target
@@ -26,19 +26,19 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} fr_FR.zip
+:attr {fetch = $OODIR/%file%} fr_FR.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.
 fr_FR.aff fr_FR.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch fr_FR.zip
-        :sys $(UNZIP) fr_FR.zip
+        :sys $UNZIP fr_FR.zip
         :delete fr_FR.zip
         @if not os.path.exists('fr_FR.orig.aff'):
-                :copy fr_FR.aff fr_FR.orig.aff
+            :copy fr_FR.aff fr_FR.orig.aff
         @if not os.path.exists('fr_FR.orig.dic'):
-                :copy fr_FR.dic fr_FR.orig.dic
+            :copy fr_FR.dic fr_FR.orig.dic
         @if os.path.exists('fr_FR.diff'):
             :sys patch <fr_FR.diff
 
@@ -62,7 +62,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../fr_FR.zip
+            :sys $UNZIP ../fr_FR.zip
             :sys {force} diff ../fr_FR.orig.aff fr_FR.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy fr_FR.aff ../fr_FR.new.aff
diff --git a/runtime/spell/he/main.aap b/runtime/spell/he/main.aap
index a002bc7..4db930b 100644
--- a/runtime/spell/he/main.aap
+++ b/runtime/spell/he/main.aap
@@ -9,15 +9,15 @@
 SPELLDIR = ..
 FILES    = he_IL.aff he_IL.dic
 
-all: $(SPELLDIR)/he.utf-8.spl $(SPELLDIR)/he.iso-8859-8.spl ../README_he.txt
+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 : $VIM $FILES
         :sys env LANG=he_IL.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/he he_IL" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/he he_IL" -c q
 
-$(SPELLDIR)/he.iso-8859-8.spl : $(VIM) $(FILES)
-        :sys $(VIM) -u NONE -e -c "set enc=iso-8859-8"
-                        -c "mkspell! $(SPELLDIR)/he he_IL" -c q
+$SPELLDIR/he.iso-8859-8.spl : $VIM $FILES
+        :sys $VIM -u NONE -e -c "set enc=iso-8859-8"
+                        -c "mkspell! $SPELLDIR/he he_IL" -c q
 
 ../README_he.txt : README_he_IL.txt
         :copy $source $target
@@ -26,19 +26,19 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} he_IL.zip
+:attr {fetch = $OODIR/%file%} he_IL.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.
 he_IL.aff he_IL.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch he_IL.zip
-        :sys $(UNZIP) he_IL.zip
+        :sys $UNZIP he_IL.zip
         :delete he_IL.zip
         @if not os.path.exists('he_IL.orig.aff'):
-                :copy he_IL.aff he_IL.orig.aff
+            :copy he_IL.aff he_IL.orig.aff
         @if not os.path.exists('he_IL.orig.dic'):
-                :copy he_IL.dic he_IL.orig.dic
+            :copy he_IL.dic he_IL.orig.dic
         @if os.path.exists('he_IL.diff'):
             :sys patch <he_IL.diff
 
@@ -62,7 +62,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../he_IL.zip
+            :sys $UNZIP ../he_IL.zip
             :sys {force} diff ../he_IL.orig.aff he_IL.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy he_IL.aff ../he_IL.new.aff
diff --git a/runtime/spell/hr/main.aap b/runtime/spell/hr/main.aap
new file mode 100644
index 0000000..f272b87
--- /dev/null
+++ b/runtime/spell/hr/main.aap
@@ -0,0 +1,81 @@
+# Aap recipe for Polish 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    = hr_HR.aff hr_HR.dic
+
+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
+        :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
+        :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
+        :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hr hr_HR" -c q
+
+../README_hr.txt: README_hr_HR.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%} hr_HR.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.
+hr_HR.aff hr_HR.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch hr_HR.zip
+        :sys $UNZIP hr_HR.zip
+        :delete hr_HR.zip
+        @if not os.path.exists('hr_HR.orig.aff'):
+            :copy hr_HR.aff hr_HR.orig.aff
+        @if not os.path.exists('hr_HR.orig.dic'):
+            :copy hr_HR.dic hr_HR.orig.dic
+        @if os.path.exists('hr_HR.diff'):
+            :sys patch <hr_HR.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 hr_HR.orig.aff hr_HR.aff >hr_HR.diff
+        :sys {force} diff -a -C 1 hr_HR.orig.dic hr_HR.dic >>hr_HR.diff
+
+
+# Check for updated spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch hr_HR.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../hr_HR.zip
+            :sys {force} diff ../hr_HR.orig.aff hr_HR.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy hr_HR.aff ../hr_HR.new.aff
+            :sys {force} diff ../hr_HR.orig.dic hr_HR.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy hr_HR.dic ../hr_HR.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete hr_HR.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/it/main.aap b/runtime/spell/it/main.aap
index 04e116f..ef541c4 100644
--- a/runtime/spell/it/main.aap
+++ b/runtime/spell/it/main.aap
@@ -9,15 +9,15 @@
 SPELLDIR = ..
 FILES    = it_IT.aff it_IT.dic
 
-all: $(SPELLDIR)/it.latin1.spl $(SPELLDIR)/it.utf-8.spl ../README_it.txt
+all: $SPELLDIR/it.latin1.spl $SPELLDIR/it.utf-8.spl ../README_it.txt
 
-$(SPELLDIR)/it.latin1.spl : $(VIM) $(FILES)
+$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
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/it it_IT" -c q
 
-$(SPELLDIR)/it.utf-8.spl : $(VIM) $(FILES)
+$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
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/it it_IT" -c q
 
 ../README_it.txt : README_it_IT.txt
         :copy $source $target
@@ -26,14 +26,14 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} it_IT.zip
+: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
+        :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
@@ -62,7 +62,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../it_IT.zip
+            :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
diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap
index 44d1990..68864b8 100644
--- a/runtime/spell/main.aap
+++ b/runtime/spell/main.aap
@@ -1,7 +1,7 @@
 # "aap": generate all the .spl files
 # "aap diff" create all the diff files
 
-LANG = de en fr he it nl pl yi
+LANG = af bg ca cs da de en fr he hr it nl ny pl sk yi
 
 diff: $*LANG/diff
         :print done
diff --git a/runtime/spell/nl/main.aap b/runtime/spell/nl/main.aap
index b414161..02ae49d 100644
--- a/runtime/spell/nl/main.aap
+++ b/runtime/spell/nl/main.aap
@@ -9,15 +9,15 @@
 SPELLDIR = ..
 FILES    = nl_NL.aff nl_NL.dic
 
-all: $(SPELLDIR)/nl.latin1.spl $(SPELLDIR)/nl.utf-8.spl ../README_nl.txt
+all: $SPELLDIR/nl.latin1.spl $SPELLDIR/nl.utf-8.spl ../README_nl.txt
 
-$(SPELLDIR)/nl.latin1.spl : $(VIM) $(FILES)
+$SPELLDIR/nl.latin1.spl : $VIM $FILES
         :sys env LANG=nl_NL.ISO8859-1
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q
 
-$(SPELLDIR)/nl.utf-8.spl : $(VIM) $(FILES)
+$SPELLDIR/nl.utf-8.spl : $VIM $FILES
         :sys env LANG=nl_NL.UTF-8
-		$(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q
 
 ../README_nl.txt : README_nl_NL.txt
         :copy $source $target
@@ -26,19 +26,19 @@
 # Fetching the files from OpenOffice.org.
 #
 OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-:attr {fetch = $(OODIR)/%file%} nl_NL.zip
+:attr {fetch = $OODIR/%file%} nl_NL.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.
 nl_NL.aff nl_NL.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch nl_NL.zip
-        :sys $(UNZIP) nl_NL.zip
+        :sys $UNZIP nl_NL.zip
         :delete nl_NL.zip
         @if not os.path.exists('nl_NL.orig.aff'):
-                :copy nl_NL.aff nl_NL.orig.aff
+            :copy nl_NL.aff nl_NL.orig.aff
         @if not os.path.exists('nl_NL.orig.dic'):
-                :copy nl_NL.dic nl_NL.orig.dic
+            :copy nl_NL.dic nl_NL.orig.dic
         @if os.path.exists('nl_NL.diff'):
             :sys patch <nl_NL.diff
 
@@ -62,7 +62,7 @@
         :cd tmp
         @try:
             @import stat
-            :sys $(UNZIP) ../nl_NL.zip
+            :sys $UNZIP ../nl_NL.zip
             :sys {force} diff ../nl_NL.orig.aff nl_NL.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy nl_NL.aff ../nl_NL.new.aff
diff --git a/runtime/spell/ny/main.aap b/runtime/spell/ny/main.aap
new file mode 100644
index 0000000..e7fcbf7
--- /dev/null
+++ b/runtime/spell/ny/main.aap
@@ -0,0 +1,82 @@
+# Aap recipe for Dutch 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    = ny_MW.aff ny_MW.dic
+
+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
+        :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
+        :sys $VIM -u NONE -e -c "set enc=utf-8"
+                -c "mkspell! $SPELLDIR/ny ny_MW" -c q
+
+$SPELLDIR/ny.ascii.spl : $VIM $FILES
+        :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/ny ny_MW" -c q
+ 
+../README_ny.txt : README_ny_MW.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%} ny_MW.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.
+ny_MW.aff ny_MW.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch ny_MW.zip
+        :sys $UNZIP ny_MW.zip
+        :delete ny_MW.zip
+        @if not os.path.exists('ny_MW.orig.aff'):
+            :copy ny_MW.aff ny_MW.orig.aff
+        @if not os.path.exists('ny_MW.orig.dic'):
+            :copy ny_MW.dic ny_MW.orig.dic
+        @if os.path.exists('ny_MW.diff'):
+            :sys patch <ny_MW.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 ny_MW.orig.aff ny_MW.aff >ny_MW.diff
+        :sys {force} diff -a -C 1 ny_MW.orig.dic ny_MW.dic >>ny_MW.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 ny_MW.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../ny_MW.zip
+            :sys {force} diff ../ny_MW.orig.aff ny_MW.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy ny_MW.aff ../ny_MW.new.aff
+            :sys {force} diff ../ny_MW.orig.dic ny_MW.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy ny_MW.dic ../ny_MW.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete ny_MW.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/pl/main.aap b/runtime/spell/pl/main.aap
index 6916df3..e33acf8 100644
--- a/runtime/spell/pl/main.aap
+++ b/runtime/spell/pl/main.aap
@@ -9,17 +9,17 @@
 SPELLDIR = ..
 FILES    = pl_PL.aff pl_PL.dic
 
-all: $(SPELLDIR)/pl.iso-8859-2.spl $(SPELLDIR)/pl.utf-8.spl \
-        $(SPELLDIR)/pl.cp1250.spl ../README_pl.txt
+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)
-        :sys env LANG=pl_PL.ISO8859-2 $(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q
+$SPELLDIR/pl.iso-8859-2.spl : $VIM $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)
-        :sys env LANG=pl_PL.UTF-8 $(VIM) -u NONE -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q
+$SPELLDIR/pl.utf-8.spl : $VIM $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)
-        :sys $(VIM) -u NONE -e -c "set enc=cp1250" -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q
+$SPELLDIR/pl.cp1250.spl : $VIM $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
         :copy $source $target
@@ -28,7 +28,7 @@
 # Fetching the files from OpenOffice.org.
 #
 #OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
-#:attr {fetch = $(OODIR)/%file%} pl_PL.zip
+#:attr {fetch = $OODIR/%file%} pl_PL.zip
 
 #
 # Fetching the files from
@@ -43,24 +43,24 @@
         @from time import strftime, gmtime, time
         @for day in range(20):
             date = `strftime('%Y%m%d', gmtime(time() - day * 24 * 60 * 60))`
-            base =  alt-myspell-pl-$(date)
-            fname = $(base).tar.bz2
-            :attr {fetch = $(HTTPDIR)/%file%} $(fname)
+            base =  alt-myspell-pl-$date
+            fname = $base.tar.bz2
+            :attr {fetch = $HTTPDIR/%file%} $fname
             @try:
-                :fetch $(fname)
+                :fetch $fname
                 ok = 1
             @except:
                 ok = 0
             @if ok:
                 @break
-        :sys bunzip2 -c $(fname) | tar xf -
-        :move $(base)/* .
-        :deldir $(base)
-        :delete $(fname)
+        :sys bunzip2 -c $fname | tar xf -
+        :move $base/* .
+        :deldir $base
+        :delete $fname
         @if not os.path.exists('pl_PL.orig.aff'):
-                :copy pl_PL.aff pl_PL.orig.aff
+            :copy pl_PL.aff pl_PL.orig.aff
         @if not os.path.exists('pl_PL.orig.dic'):
-                :copy pl_PL.dic pl_PL.orig.dic
+            :copy pl_PL.dic pl_PL.orig.dic
         @if os.path.exists('pl_PL.diff'):
             :sys patch <pl_PL.diff
 
@@ -74,17 +74,29 @@
         :sys {force} diff -a -C 1 pl_PL.orig.dic pl_PL.dic >>pl_PL.diff
 
 
-# Check for updated OpenOffice spell files.  When there are changes the
+# Check for updated spell files.  When there are changes the
 # ".new.aff" and ".new.dic" files are left behind for manual inspection.
 
 check:
-        :assertpkg unzip diff
-        :fetch pl_PL.zip
-        :mkdir tmp
-        :cd tmp
+        :assertpkg tar bunzip2 diff
+        @from time import strftime, gmtime, time
+        @for day in range(20):
+            date = `strftime('%Y%m%d', gmtime(time() - day * 24 * 60 * 60))`
+            base =  alt-myspell-pl-$date
+            fname = $base.tar.bz2
+            :attr {fetch = $HTTPDIR/%file%} $fname
+            @try:
+                :fetch $fname
+                ok = 1
+            @except:
+                ok = 0
+            @if ok:
+                @break
+        :sys bunzip2 -c $fname | tar xf -
+        :cd $base
         @try:
             @import stat
-            :sys $(UNZIP) ../pl_PL.zip
+            :sys $UNZIP ../pl_PL.zip
             :sys {force} diff ../pl_PL.orig.aff pl_PL.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy pl_PL.aff ../pl_PL.new.aff
@@ -93,8 +105,8 @@
                 :copy pl_PL.dic ../pl_PL.new.dic
         @finally:
             :cd ..
-            :delete {r}{f}{q} tmp
-            :delete pl_PL.zip
+            :delete {r}{f}{q} $base
+            :delete $fname
 
 
 # vim: set sts=4 sw=4 :
diff --git a/runtime/spell/sk/main.aap b/runtime/spell/sk/main.aap
new file mode 100644
index 0000000..b18d195
--- /dev/null
+++ b/runtime/spell/sk/main.aap
@@ -0,0 +1,81 @@
+# Aap recipe for Czech 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    = sk_SK.aff sk_SK.dic
+
+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
+        :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
+        :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
+        :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/sk sk_SK" -c q
+
+../README_sk.txt: README_sk_SK.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%} sk_SK.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.
+sk_SK.aff sk_SK.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch sk_SK.zip
+        :sys $UNZIP sk_SK.zip
+        :delete sk_SK.zip
+        @if not os.path.exists('sk_SK.orig.aff'):
+            :copy sk_SK.aff sk_SK.orig.aff
+        @if not os.path.exists('sk_SK.orig.dic'):
+            :copy sk_SK.dic sk_SK.orig.dic
+        @if os.path.exists('sk_SK.diff'):
+            :sys patch <sk_SK.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 sk_SK.orig.aff sk_SK.aff >sk_SK.diff
+        :sys {force} diff -a -C 1 sk_SK.orig.dic sk_SK.dic >>sk_SK.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 sk_SK.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../sk_SK.zip
+            :sys {force} diff ../sk_SK.orig.aff sk_SK.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy sk_SK.aff ../sk_SK.new.aff
+            :sys {force} diff ../sk_SK.orig.dic sk_SK.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy sk_SK.dic ../sk_SK.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete sk_SK.zip
+
+
+# vim: set sts=4 sw=4 :
diff --git a/runtime/spell/sk/sk_SK.diff b/runtime/spell/sk/sk_SK.diff
new file mode 100644
index 0000000..d279fd3
--- /dev/null
+++ b/runtime/spell/sk/sk_SK.diff
@@ -0,0 +1,18 @@
+*** sk_SK.orig.aff	Sun Aug 14 16:48:21 2005
+--- sk_SK.aff	Sun Aug 14 16:50:08 2005
+***************
+*** 4,5 ****
+--- 4,9 ----
+  
++ FOL ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ LOW ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
++ UPP ¡¢£¥¦¨©ª«¬®¯±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
++ 
+  PFX N Y 1
+*** sk_SK.orig.dic	Sun Aug 14 16:48:21 2005
+--- sk_SK.dic	Sun Aug 14 16:52:23 2005
+***************
+*** 166567,166568 ****
+  ¾viaka»/NX
+- 166567
+--- 166567 ----
diff --git a/runtime/spell/yi/main.aap b/runtime/spell/yi/main.aap
index 8160e83..31d057e 100644
--- a/runtime/spell/yi/main.aap
+++ b/runtime/spell/yi/main.aap
@@ -14,7 +14,7 @@
 
 $SPELLDIR/yi.utf-8.spl : $VIM $FILES
     :sys $VIM -u NONE -e -c "set enc=utf-8"
-            -c "mkspell! $(SPELLDIR)/yi yi" -c q
+            -c "mkspell! $SPELLDIR/yi yi" -c q
 
 ../README_yi.txt : README.txt
     :copy $source $target