updated for version 7.0218
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c7ff8f5..61ce342 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 06
+*options.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5020,6 +5020,9 @@
 			global
 	Allows for mappings to work recursively.  If you do not want this for
 	a single entry, use the :noremap[!] command.
+	NOTE: To avoid portability problems with Vim scripts, always keep
+	this option at the default "on".  Only switch it off when working with
+	old Vi scripts.
 
 						*'report'*
 'report'		number	(default 2)
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 5a83700..76e0454 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 07
+*quickfix.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -478,8 +478,13 @@
 - Uses Vim search patterns.  Multi-line patterns can be used.
 - When plugins are enabled: compressed and remote files can be searched.
 	|gzip| |netrw|
-- When 'hidden' is set the files are kept loaded, thus repeating a search is
-  much faster.  Uses a lot of memory though!
+
+To be able to do this Vim loads each file as if it is being edited.  When
+there is no match in the file the assicated buffer is wiped out again.  The
+'hidden' option is ignored here to avoid running out of memory or file
+descriptors when searching many files.  However, when the |:hide| command
+modifier is used the buffers are kept loaded.  This makes following searches
+in the same files a lot faster.
 
 
 5.1 using Vim's internal grep
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 6333ad6..9cc30ea 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5484,6 +5484,7 @@
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f77de5a..d3490ff 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 07
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,13 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Bug in Netbeans interface. (Xavier de Gaye, 2006 Mar 7)
+Code for "insert" is wrong.  Don't use b_p_eol or b_start_eol.
+Handle partial lines properly.  What probably should happen is to append to a
+line when "off" points to the NUL after that line, insert before a line when
+the text doesn't end in a "\n" and only insert line breaks where there is a
+"\n" in the argument.
+
 Win32: Describe how to do debugging and describe it. (George Reilly)
 
 Mac unicode patch (Da Woon Jung):
@@ -45,8 +52,6 @@
 - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
   (Alan Schmitt)
 
-Bug in Netbeans interface. (Xavier de Gaye, 2006 Mar 7)
-
 CONSIDERED FOR VERSION 7.0:
 
 Omni completion:
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 73ec459..ec4d23d 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 07
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1873,4 +1873,7 @@
 When a command was defined not to take arguments and no '|' no warning message
 would be given for using a '|'.  Also with ":loadkeymap".
 
+Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) !=
+sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira)
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/spell/af/af_ZA.diff b/runtime/spell/af/af_ZA.diff
index 9c85804..4ad0e50 100644
--- a/runtime/spell/af/af_ZA.diff
+++ b/runtime/spell/af/af_ZA.diff
@@ -1,8 +1,8 @@
 *** af_ZA.orig.aff	Sun Aug 14 17:37:01 2005
---- af_ZA.aff	Sun Aug 14 17:38:11 2005
+--- af_ZA.aff	Sun Jan 22 14:21:54 2006
 ***************
 *** 23,24 ****
---- 23,34 ----
+--- 23,33 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -12,11 +12,10 @@
 + 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
+--- af_ZA.dic	Sun Jan 22 14:22:17 2006
 ***************
 *** 1861,1864 ****
   T-skyf
@@ -25,8 +24,8 @@
   TLA
 --- 1861,1864 ----
   T-skyf
-! TCP,IP
-! TCP,IP-bondel
+! TCP\/IP
+! TCP\/IP-bondel
   TLA
 ***************
 *** 124109,124111 ****
diff --git a/runtime/spell/ca/ca_ES.diff b/runtime/spell/ca/ca_ES.diff
index 5838af3..43ff904 100644
--- a/runtime/spell/ca/ca_ES.diff
+++ b/runtime/spell/ca/ca_ES.diff
@@ -1,5 +1,5 @@
 *** ca_ES.orig.aff	Sat Aug 13 18:33:44 2005
---- ca_ES.aff	Sat Aug 13 18:33:44 2005
+--- ca_ES.aff	Tue Jan 10 18:06:05 2006
 ***************
 *** 44,48 ****
   
@@ -31,7 +31,14 @@
 ! REP l·l l
   
 *** ca_ES.orig.dic	Sat Aug 13 18:33:44 2005
---- ca_ES.dic	Sat Aug 13 18:33:44 2005
+--- ca_ES.dic	Thu Jan 12 21:55:39 2006
+***************
+*** 1,2 ****
+! 149661
+  a/VY
+--- 1,2 ----
+! 149665
+  a/VY
 ***************
 *** 25312,25314 ****
   caos/E
diff --git a/runtime/spell/de/de_19.diff b/runtime/spell/de/de_19.diff
index 434598b..8689840 100644
--- a/runtime/spell/de/de_19.diff
+++ b/runtime/spell/de/de_19.diff
@@ -501,3 +501,14 @@
 + SAL ZURÜCK^^             ZURIK
 + SAL ZUVER^^              ZUFA    # x
 + SAL Z                    Z
+*** de_19.orig.dic	Thu Aug 25 11:22:08 2005
+--- de_19.dic	Sat Jan  7 12:32:09 2006
+***************
+*** 76258,76259 ****
+  zynismusfördernd/A
+! zzgl
+\ No newline at end of file
+--- 76258,76260 ----
+  zynismusfördernd/A
+! zzgl
+! 
diff --git a/runtime/spell/de/de_20.diff b/runtime/spell/de/de_20.diff
index 51809ef..73141b6 100644
--- a/runtime/spell/de/de_20.diff
+++ b/runtime/spell/de/de_20.diff
@@ -523,3 +523,11 @@
 + SAL ZURÜCK^^             ZURIK
 + SAL ZUVER^^              ZUFA    # x
 + SAL Z                    Z
+*** de_20.orig.dic	Sat Nov 26 19:59:53 2005
+--- de_20.dic	Mon Jan  2 20:19:18 2006
+***************
+*** 1,3 ****
+  314626
+- 23394
+  A-Bombe/N
+--- 1,2 ----
diff --git a/runtime/spell/de/de_DE.diff b/runtime/spell/de/de_DE.diff
index 548dd2e..24e76ef 100644
--- a/runtime/spell/de/de_DE.diff
+++ b/runtime/spell/de/de_DE.diff
@@ -523,3 +523,11 @@
 + SAL ZURÜCK^^             ZURIK
 + SAL ZUVER^^              ZUFA    # x
 + SAL Z                    Z
+*** de_DE.orig.dic	Sat Nov 26 19:59:52 2005
+--- de_DE.dic	Mon Jan  2 15:35:27 2006
+***************
+*** 1,3 ****
+  319017
+- 23508
+  A-Bombe/N
+--- 1,2 ----
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index 524f752..c7d5fef 100644
--- a/runtime/spell/en.ascii.spl
+++ b/runtime/spell/en.ascii.spl
Binary files differ
diff --git a/runtime/spell/en.ascii.sug b/runtime/spell/en.ascii.sug
index f3a9ce8..60055c6 100644
--- a/runtime/spell/en.ascii.sug
+++ b/runtime/spell/en.ascii.sug
Binary files differ
diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl
index 51a5878..ee14a82 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en.latin1.sug b/runtime/spell/en.latin1.sug
index 06a4f52..7364669 100644
--- a/runtime/spell/en.latin1.sug
+++ b/runtime/spell/en.latin1.sug
Binary files differ
diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl
index a04d269..d4fea2a 100644
--- a/runtime/spell/en.utf-8.spl
+++ b/runtime/spell/en.utf-8.spl
Binary files differ
diff --git a/runtime/spell/en.utf-8.sug b/runtime/spell/en.utf-8.sug
index 379d02d..c1943a3 100644
--- a/runtime/spell/en.utf-8.sug
+++ b/runtime/spell/en.utf-8.sug
Binary files differ
diff --git a/runtime/spell/en/en_AU.diff b/runtime/spell/en/en_AU.diff
index 1621ec3..5dddb47 100644
--- a/runtime/spell/en/en_AU.diff
+++ b/runtime/spell/en/en_AU.diff
@@ -1,11 +1,11 @@
 *** en_AU.orig.aff	Fri Apr 15 13:20:36 2005
---- en_AU.aff	Sun Jul 31 22:16:19 2005
+--- en_AU.aff	Wed Jan 11 11:10:45 2006
 ***************
 *** 7,9 ****
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ 
   REP 24
---- 7,140 ----
+--- 7,147 ----
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ
 ! 
@@ -15,7 +15,7 @@
 ! 
 ! MIDWORD	'
 ! 
-! RAR ?
+! RARE ?
 ! BAD !
 ! 
 ! MAP 9
@@ -139,6 +139,13 @@
 ! SAL ZZ-                  _
 ! SAL Z                    S
 ! 
+! # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
+! # soundfolds to "ht".  This difference is too big, thus use REP items to lower
+! # the score.
+! REPSAL 2
+! REPSAL ht @
+! REPSAL @ ht
+! 
   REP 24
 ***************
 *** 34,53 ****
@@ -162,7 +169,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 165,184 ----
+--- 172,191 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -580,7 +587,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 188,582 ----
+--- 195,589 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1664,7 +1671,7 @@
 ! SFX 3 0 ist's [aeioubp]y 
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
---- 589,1274 ----
+--- 596,1305 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2351,8 +2358,39 @@
 ! SFX 3 0 ist's [aeioubp]y
 ! SFX 3 o ist's o
 ! SFX 3 0 ist's [^eoy]
+! 
+! 
+! # list of 250 most common English words (plucked from the internet)
+! COMMON the of to and a in is it you that he was for on are with as I his they
+! COMMON be at one have this from or had by hot word but what some we can out
+! COMMON other were all there when up use your how said an each she which do
+! COMMON their time if will way about many then them write would like so these
+! COMMON her long make thing see him two has look more day could go come did
+! COMMON number sound no most people my over know water than call first who
+! COMMON may down side been now find any new work part take get place made live
+! COMMON where after back little only round man year came show every good me
+! COMMON give our under name very through just form sentence great think say
+! COMMON help low line differ turn cause much mean before move right boy old too
+! COMMON same tell does set three want air well also play small end put home
+! COMMON read hand port large spell add even land here must big high such follow
+! COMMON act why ask men change went light kind off need house picture try
+! COMMON us again animal point mother world near build self earth father head
+! COMMON stand own page should country found answer school grow study still
+! COMMON learn plant cover food sun four between state keep eye never last let
+! COMMON thought city tree cross farm hard start might story saw far sea draw
+! COMMON left late run don't while press close night real life few north
+! 
+! # a few more for consistency
+! COMMON five six seven eight nine ten hundred thousand
 *** en_AU.orig.dic	Fri Apr 15 13:20:36 2005
---- en_AU.dic	Sat Oct  8 15:54:05 2005
+--- en_AU.dic	Wed Mar  8 13:14:30 2006
+***************
+*** 1,2 ****
+! 45654
+  AA
+--- 1,2 ----
+! 45653
+  AA
 ***************
 *** 912,914 ****
   Alaska/M
@@ -2628,12 +2666,15 @@
 --- 45578,45579 ----
 ***************
 *** 45655 ****
---- 45646,45653 ----
+--- 45646,45656 ----
   zymurgy/S
 + nd
 + the the/!
++ and and/!
 + a a/!
 + a an/!
 + an a/!
 + an an/!
 + PayPal
++ Google
++ TCP\/IP
diff --git a/runtime/spell/en/en_CA.diff b/runtime/spell/en/en_CA.diff
index 528bab4..d999571 100644
--- a/runtime/spell/en/en_CA.diff
+++ b/runtime/spell/en/en_CA.diff
@@ -1,8 +1,8 @@
 *** en_CA.orig.aff	Fri Apr 15 13:20:36 2005
---- en_CA.aff	Sun Jul 31 22:16:56 2005
+--- en_CA.aff	Wed Jan 11 22:03:23 2006
 ***************
 *** 3,4 ****
---- 3,134 ----
+--- 3,141 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -10,7 +10,7 @@
 + 
 + MIDWORD	'
 + 
-+ RAR ?
++ RARE ?
 + BAD !
 + 
 + MAP 9
@@ -134,6 +134,13 @@
 + SAL ZZ-                  _
 + SAL Z                    S
 + 
++ # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
++ # soundfolds to "ht".  This difference is too big, thus use REP items to lower
++ # the score.
++ REPSAL 2
++ REPSAL ht @
++ REPSAL @ ht
++ 
   PFX A Y 1
 ***************
 *** 30,33 ****
@@ -141,7 +148,7 @@
 ! SFX N   y     ication    y 
 ! SFX N   0     en         [^ey] 
   
---- 160,163 ----
+--- 167,170 ----
   SFX N   e     ion        e
 ! SFX N   y     ication    y
 ! SFX N   0     en         [^ey]
@@ -151,7 +158,7 @@
   SFX H   y     ieth       y
 ! SFX H   0     th         [^y] 
   
---- 170,172 ----
+--- 177,179 ----
   SFX H   y     ieth       y
 ! SFX H   0     th         [^y]
   
@@ -160,12 +167,12 @@
   SFX G   e     ing        e
 ! SFX G   0     ing        [^e] 
   
---- 177,179 ----
+--- 184,186 ----
   SFX G   e     ing        e
 ! SFX G   0     ing        [^e]
   
 *** en_CA.orig.dic	Sat Apr 16 14:40:06 2005
---- en_CA.dic	Sat Oct  8 15:54:16 2005
+--- en_CA.dic	Wed Mar  8 13:14:35 2006
 ***************
 *** 46,48 ****
   R/G
@@ -437,13 +444,16 @@
   felicitous/IY
 ***************
 *** 62341 ****
---- 62343,62351 ----
+--- 62343,62354 ----
   data/M
 + et al.
 + the the/!
++ and and/!
 + a a/!
 + a an/!
 + an a/!
 + an an/!
 + PayPal
++ Google
 + e.g.
++ TCP\/IP
diff --git a/runtime/spell/en/en_GB.diff b/runtime/spell/en/en_GB.diff
index 980502d..dabb74b 100644
--- a/runtime/spell/en/en_GB.diff
+++ b/runtime/spell/en/en_GB.diff
@@ -1,8 +1,8 @@
 *** en_GB.orig.aff	Sun Jul  3 17:53:13 2005
---- en_GB.aff	Sun Jul 31 22:17:09 2005
+--- en_GB.aff	Wed Jan 11 22:03:27 2006
 ***************
 *** 8,9 ****
---- 8,140 ----
+--- 8,147 ----
   TRY esiaénrtolcdugmfphbyvkw-'.zqjxSNRTLCGDMFPHBEAUYOIVKWóöâôZQJXÅçèîêàïüäñ
 + 
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -11,7 +11,7 @@
 + 
 + MIDWORD	'
 + 
-+ RAR ?
++ RARE ?
 + BAD !
 + 
 + MAP 9
@@ -135,6 +135,13 @@
 + SAL ZZ-                  _
 + SAL Z                    S
 + 
++ # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
++ # soundfolds to "ht".  This difference is too big, thus use REP items to lower
++ # the score.
++ REPSAL 2
++ REPSAL ht @
++ REPSAL @ ht
++ 
   REP 27
 ***************
 *** 37,56 ****
@@ -158,7 +165,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 168,187 ----
+--- 175,194 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -576,7 +583,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 191,585 ----
+--- 198,592 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1664,7 +1671,7 @@
 ! SFX 3 0 ist's [aeioubp]y 
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
---- 592,1281 ----
+--- 599,1288 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2356,7 +2363,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	Wed Sep 28 23:07:50 2005
+--- en_GB.dic	Wed Mar  8 13:14:37 2006
 ***************
 *** 630,632 ****
   Byrne/M
@@ -2544,7 +2551,7 @@
 --- 45670,45671 ----
 ***************
 *** 46281 ****
---- 46260,46275 ----
+--- 46260,46278 ----
   Zurich/M
 + conj.
 + pompon
@@ -2556,8 +2563,11 @@
 + Moolenaar/M
 + pneumonic
 + the the/!
++ and and/!
 + a a/!
 + a an/!
 + an a/!
 + an an/!
 + PayPal
++ Google
++ TCP\/IP
diff --git a/runtime/spell/en/en_NZ.diff b/runtime/spell/en/en_NZ.diff
index 5250a8e..3652d99 100644
--- a/runtime/spell/en/en_NZ.diff
+++ b/runtime/spell/en/en_NZ.diff
@@ -1,11 +1,11 @@
 *** en_NZ.orig.aff	Fri Apr 15 13:20:36 2005
---- en_NZ.aff	Sun Jul 31 22:17:27 2005
+--- en_NZ.aff	Wed Jan 11 22:03:30 2006
 ***************
 *** 7,9 ****
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ 
   REP 66
---- 7,140 ----
+--- 7,147 ----
   SET ISO8859-1
 ! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ
 ! 
@@ -15,7 +15,7 @@
 ! 
 ! MIDWORD	'
 ! 
-! RAR ?
+! RARE ?
 ! BAD !
 ! 
 ! MAP 9
@@ -139,6 +139,13 @@
 ! SAL ZZ-                  _
 ! SAL Z                    S
 ! 
+! # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
+! # soundfolds to "ht".  This difference is too big, thus use REP items to lower
+! # the score.
+! REPSAL 2
+! REPSAL ht @
+! REPSAL @ ht
+! 
   REP 66
 ***************
 *** 76,95 ****
@@ -162,7 +169,7 @@
   PFX E Y 1
 ! PFX E 0 dis . 
   PFX F Y 5
---- 207,226 ----
+--- 214,233 ----
   PFX A Y 2
 ! PFX A 0 re [^e]
 ! PFX A 0 re- e
@@ -580,7 +587,7 @@
   SFX T y iest [^aeiou]y
 ! SFX T 0 er [aeiou]y 
   SFX T 0 est [aeiou]y
---- 230,624 ----
+--- 237,631 ----
   PFX F 0 col l
 ! PFX F 0 con [^abehilmopru].
   PFX K Y 1
@@ -1665,7 +1672,7 @@
 ! SFX 3 o ist's o 
 ! SFX 3 0 ist's [^eoy] 
 \ No newline at end of file
---- 631,1316 ----
+--- 638,1323 ----
   SFX R Y 72
 ! SFX R 0 r e
 ! SFX R 0 rs e
@@ -2353,7 +2360,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	Wed Sep 28 23:08:01 2005
+--- en_NZ.dic	Wed Mar  8 13:14:40 2006
 ***************
 *** 4,6 ****
   2ZB
@@ -2673,13 +2680,16 @@
   Burkina
 ! Faso/M
 \ No newline at end of file
---- 47109,47117 ----
+--- 47109,47120 ----
   Burkina
 ! Faso/M
 ! nd
 ! the the/!
+! and and/!
 ! a a/!
 ! a an/!
 ! an a/!
 ! an an/!
 ! PayPal
+! Google
+! TCP\/IP
diff --git a/runtime/spell/en/en_US.diff b/runtime/spell/en/en_US.diff
index b0db2b3..ee0b3fe 100644
--- a/runtime/spell/en/en_US.diff
+++ b/runtime/spell/en/en_US.diff
@@ -1,8 +1,8 @@
 *** en_US.orig.aff	Fri Apr 15 13:20:36 2005
---- en_US.aff	Wed Sep 28 22:06:01 2005
+--- en_US.aff	Wed Jan 11 22:03:34 2006
 ***************
 *** 3,4 ****
---- 3,134 ----
+--- 3,141 ----
   
 + FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
 + LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
@@ -10,7 +10,7 @@
 + 
 + MIDWORD	'
 + 
-+ RAR ?
++ RARE ?
 + BAD !
 + 
 + MAP 9
@@ -134,6 +134,13 @@
 + SAL ZZ-                  _
 + SAL Z                    S
 + 
++ # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
++ # soundfolds to "ht".  This difference is too big, thus use REP items to lower
++ # the score.
++ REPSAL 2
++ REPSAL ht @
++ REPSAL @ ht
++ 
   PFX A Y 1
 ***************
 *** 30,33 ****
@@ -141,7 +148,7 @@
 ! SFX N   y     ication    y 
 ! SFX N   0     en         [^ey] 
   
---- 160,163 ----
+--- 167,170 ----
   SFX N   e     ion        e
 ! SFX N   y     ication    y
 ! SFX N   0     en         [^ey]
@@ -151,7 +158,7 @@
   SFX H   y     ieth       y
 ! SFX H   0     th         [^y] 
   
---- 170,172 ----
+--- 177,179 ----
   SFX H   y     ieth       y
 ! SFX H   0     th         [^y]
   
@@ -160,7 +167,7 @@
   SFX G   e     ing        e
 ! SFX G   0     ing        [^e] 
   
---- 177,179 ----
+--- 184,186 ----
   SFX G   e     ing        e
 ! SFX G   0     ing        [^e]
   
@@ -169,33 +176,40 @@
   
 ! REP 88
   REP a ei
---- 229,231 ----
+--- 236,238 ----
   
 ! REP 91
   REP a ei
 ***************
 *** 137,138 ****
---- 267,270 ----
+--- 274,277 ----
   REP uy i
 + REP y ie
 + REP ie y
   REP i ee
 ***************
 *** 174,175 ****
---- 306,308 ----
+--- 313,315 ----
   REP ew ue
 + REP uf ough
   REP uff ough
 ***************
 *** 188 ****
---- 321,325 ----
+--- 328,332 ----
   REP shun cion
 + REP an_a a
 + REP an_a an
 + REP a_an a
 + REP a_an an
 *** en_US.orig.dic	Fri Apr 15 13:20:36 2005
---- en_US.dic	Sat Oct  8 15:54:26 2005
+--- en_US.dic	Wed Mar  8 13:14:43 2006
+***************
+*** 1,2 ****
+! 62076
+  a
+--- 1,2 ----
+! 62078
+  a
 ***************
 *** 5944,5946 ****
   bk
@@ -565,10 +579,11 @@
   Zubenelgenubi/M
 ***************
 *** 62077 ****
---- 62077,62089 ----
+--- 62077,62092 ----
   zymurgy/S
 + nd
 + the the/!
++ and and/!
 + a a/!
 + an an/!
 + a an/!
@@ -578,4 +593,6 @@
 + a the/!
 + an the/!
 + PayPal
++ Google
 + e.g.
++ TCP\/IP
diff --git a/runtime/spell/fr/fr_FR.diff b/runtime/spell/fr/fr_FR.diff
index 4a9cf8d..bd6caf1 100644
--- a/runtime/spell/fr/fr_FR.diff
+++ b/runtime/spell/fr/fr_FR.diff
@@ -1,5 +1,5 @@
-*** fr_FR.orig.aff	Sun Jul  3 19:34:20 2005
---- fr_FR.aff	Fri Sep 30 12:58:29 2005
+*** fr_FR.orig.aff	Sun Oct  2 12:36:49 2005
+--- fr_FR.aff	Sun Oct  2 12:36:49 2005
 ***************
 *** 3,4 ****
 --- 3,21 ----
diff --git a/runtime/spell/it/it_IT.diff b/runtime/spell/it/it_IT.diff
index 03b2133..f032bce 100644
--- a/runtime/spell/it/it_IT.diff
+++ b/runtime/spell/it/it_IT.diff
@@ -1,8 +1,8 @@
 *** it_IT.orig.aff	Sun Jul 31 14:20:13 2005
---- it_IT.aff	Tue Aug  9 21:50:25 2005
+--- it_IT.aff	Tue Jan 10 18:06:11 2006
 ***************
 *** 33,34 ****
---- 33,58 ----
+--- 33,61 ----
   
 + # This is no longer required, now that we compress after adding every so many
 + # words.
@@ -15,6 +15,9 @@
 + SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
 + SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
 + 
++ # Building the soundfold tree takes too much memory, skip it.
++ NOSUGFILE
++ 
 + MIDWORD	'
 + 
 + MAP 9
@@ -34,7 +37,7 @@
   
 ! PFX T Y 148
   PFX T 0 l' [aeiouhAEIOUH]
---- 1136,1138 ----
+--- 1139,1141 ----
   
 ! PFX T Y 70
   PFX T 0 l' [aeiouhAEIOUH]
@@ -49,7 +52,7 @@
 - PFX T u L'U u
 - PFX T h L'H h
   PFX T 0 all' [aeiouhAEIOUH]
---- 1144,1145 ----
+--- 1147,1148 ----
 ***************
 *** 1134,1143 ****
   PFX T h all'H h
@@ -62,7 +65,7 @@
 - PFX T h All'H h
 - PFX T 0 ALL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 dell' [aeiouhAEIOUH]
---- 1151,1152 ----
+--- 1154,1155 ----
 ***************
 *** 1149,1158 ****
   PFX T h dell'H h
@@ -75,7 +78,7 @@
 - PFX T h Dell'H h
 - PFX T 0 DELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 dall' [aeiouhAEIOUH]
---- 1158,1159 ----
+--- 1161,1162 ----
 ***************
 *** 1164,1173 ****
   PFX T h dall'H h
@@ -88,7 +91,7 @@
 - PFX T h Dall'H h
 - PFX T 0 DALL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 nell' [aeiouhAEIOUH]
---- 1165,1166 ----
+--- 1168,1169 ----
 ***************
 *** 1179,1188 ****
   PFX T h nell'H h
@@ -101,7 +104,7 @@
 - PFX T h Nell'H h
 - PFX T 0 NELL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 sull' [aeiouhAEIOUH]
---- 1172,1173 ----
+--- 1175,1176 ----
 ***************
 *** 1194,1203 ****
   PFX T h sull'H h
@@ -114,7 +117,7 @@
 - PFX T h Sull'H h
 - PFX T 0 SULL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 coll' [aeiouhAEIOUH]
---- 1179,1180 ----
+--- 1182,1183 ----
 ***************
 *** 1209,1218 ****
   PFX T h coll'H h
@@ -127,7 +130,7 @@
 - PFX T h Coll'H h
 - PFX T 0 COLL' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 d' [aeiouhAEIOUH]
---- 1186,1187 ----
+--- 1189,1190 ----
 ***************
 *** 1224,1232 ****
   PFX T h d'H h
@@ -139,7 +142,7 @@
 - PFX T u D'U u
 - PFX T h D'H h
   PFX T 0 quest' [aeiouhAEIOUH]
---- 1193,1194 ----
+--- 1196,1197 ----
 ***************
 *** 1238,1247 ****
   PFX T h quest'H h
@@ -152,7 +155,7 @@
 - PFX T h Quest'H h
 - PFX T 0 QUEST' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX T 0 quell' [aeiouhAEIOUH]
---- 1200,1201 ----
+--- 1203,1204 ----
 ***************
 *** 1253,1264 ****
   PFX T h quell'H h
@@ -167,7 +170,7 @@
   
 ! PFX U Y 30
   PFX U 0 un' [aeiouhAEIOUH]
---- 1207,1210 ----
+--- 1210,1213 ----
   PFX T h quell'H h
   
 ! PFX U Y 14
@@ -184,7 +187,7 @@
 - PFX U h Un'H h
 - PFX U 0 UN' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   PFX U 0 ciascun' [aeiouhAEIOUH]
---- 1216,1217 ----
+--- 1219,1220 ----
 ***************
 *** 1285,1296 ****
   PFX U h ciascun'H h
@@ -199,7 +202,7 @@
   
 ! PFX X Y 72
   PFX X 0 m' [aeiouAEIOU]
---- 1223,1226 ----
+--- 1226,1229 ----
   PFX U h ciascun'H h
   
 ! PFX X Y 36
@@ -214,7 +217,7 @@
 - PFX X o M'O o
 - PFX X u M'U u
   PFX X 0 t' [aeiouAEIOU]
---- 1231,1232 ----
+--- 1234,1235 ----
 ***************
 *** 1313,1320 ****
   PFX X u t'U u
@@ -225,7 +228,7 @@
 - PFX X o T'O o
 - PFX X u T'U u
   PFX X 0 s' [aeiouAEIOU]
---- 1237,1238 ----
+--- 1240,1241 ----
 ***************
 *** 1325,1332 ****
   PFX X u s'U u
@@ -236,7 +239,7 @@
 - PFX X o S'O o
 - PFX X u S'U u
   PFX X 0 c' [aeiouAEIOU]
---- 1243,1244 ----
+--- 1246,1247 ----
 ***************
 *** 1337,1344 ****
   PFX X u c'U u
@@ -247,7 +250,7 @@
 - PFX X o C'O o
 - PFX X u C'U u
   PFX X 0 v' [aeiouAEIOU]
---- 1249,1250 ----
+--- 1252,1253 ----
 ***************
 *** 1349,1356 ****
   PFX X u v'U u
@@ -258,7 +261,7 @@
 - PFX X o V'O o
 - PFX X u V'U u
   PFX X 0 n' [aeiouAEIOU]
---- 1255,1256 ----
+--- 1258,1259 ----
 ***************
 *** 1361,1368 ****
   PFX X u n'U u
@@ -269,13 +272,13 @@
 - PFX X o N'O o
 - PFX X u N'U u
   
---- 1261,1262 ----
+--- 1264,1265 ----
 ***************
 *** 1669,1671 ****
   
 ! PFX i Y 14
   PFX i 0 l' [aeiouhAEIOUH]
---- 1563,1565 ----
+--- 1566,1568 ----
   
 ! PFX i Y 7
   PFX i 0 l' [aeiouhAEIOUH]
@@ -290,13 +293,13 @@
 - PFX i u L'U u
 - PFX i h L'H h
   
---- 1571,1572 ----
+--- 1574,1575 ----
 ***************
 *** 1738,1740 ****
   
 ! PFX q Y 15
   PFX q 0 bell' [aeiouhAEIOUH]
---- 1625,1627 ----
+--- 1628,1630 ----
   
 ! PFX q Y 7
   PFX q 0 bell' [aeiouhAEIOUH]
@@ -314,7 +317,7 @@
   
 ! PFX r Y 15
   PFX r 0 brav' [aeiouhAEIOUH]
---- 1633,1636 ----
+--- 1636,1639 ----
   PFX q h bell'H h
   
 ! PFX r Y 7
@@ -333,7 +336,7 @@
   
 ! PFX s Y 15
   PFX s 0 buon' [aeiouhAEIOUH]
---- 1642,1645 ----
+--- 1645,1648 ----
   PFX r h brav'H h
   
 ! PFX s Y 7
@@ -350,7 +353,7 @@
 - PFX s h Buon'H h
 - PFX s 0 BUON' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   
---- 1651,1652 ----
+--- 1654,1655 ----
 ***************
 *** 2072,2077 ****
   
@@ -359,7 +362,7 @@
 - PFX ^ 0 Sant' [AEIOUH]
 - PFX ^ 0 SANT' [AEIOUH][QWERTYUIOPLKJHGFDSAZXCVBNM]
   
---- 1935,1938 ----
+--- 1938,1941 ----
   
 ! PFX ^ Y 1 # gestione dell'elisione nei nomi dei santi 
   PFX ^ 0 sant' [AEIOUH]
@@ -369,4 +372,4 @@
   PFX $ 0 mml x
 - 
 - 
---- 2225 ----
+--- 2228 ----
diff --git a/runtime/spell/nl/nl_NL.diff b/runtime/spell/nl/nl_NL.diff
index 5de01c0..51388bc 100644
--- a/runtime/spell/nl/nl_NL.diff
+++ b/runtime/spell/nl/nl_NL.diff
@@ -1,37 +1,48 @@
 *** nl_NL.orig.aff	Sun Jul  3 18:24:07 2005
---- nl_NL.aff	Thu Dec 29 19:42:56 2005
+--- nl_NL.aff	Wed Mar  8 19:09:39 2006
 ***************
-*** 3,6 ****
---- 3,31 ----
+*** 1,5 ****
+  SET ISO8859-1
+  TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
   
-+ FOL  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
-+ LOW  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
-+ UPP  ßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞÿ
-+ 
-+ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
-+ SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
-+ 
-+ MIDWORD	'-
-+ 
-+ KEEPCASE =
-+ RARE ?
-+ BAD !
-+ SLASH ,
-+ 
-  NOSPLITSUGS
+! NOSPLITSUGS
   
-+ MAP 9
-+ MAP aàáâãäå
-+ MAP eèéêë
-+ MAP iìíîï
-+ MAP oòóôõö
-+ MAP uùúûü
-+ MAP nñ
-+ MAP cç
-+ MAP yÿý
-+ MAP sß
+--- 1,35 ----
+  SET ISO8859-1
 + 
-  PFX A Y 1
++ NAME 	Nederlands
++ AUTHOR	Various, edited by Bram Moolenaar
++ VERSION	0.8
++ 
+  TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
+  
+! FOL  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+! LOW  ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+! UPP  ßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞÿ
+! 
+! SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
+! SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
+! 
+! MIDWORD	'-
+! 
+! KEEPCASE =
+! RARE ?
+! BAD !
+! 
+! #NOSPLITSUGS
+! NOSUGGEST *
+! 
+! MAP 9
+! MAP aàáâãäå
+! MAP eèéêë
+! MAP iìíîï
+! MAP oòóôõö
+! MAP uùúûü
+! MAP nñ
+! MAP cç
+! MAP yÿý
+! MAP sß
+  
 ***************
 *** 33,52 ****
   SFX J N 18
@@ -54,7 +65,7 @@
 ! SFX J 0 je [aeiou][bcdfgkpt] 
 ! SFX J 0 jes [aeiou][bcdfgkpt] 
   
---- 58,77 ----
+--- 63,82 ----
   SFX J N 18
 ! SFX J 0 tje [aeiou][aeiou]
 ! SFX J 0 tjes [aeiou][aeiou]
@@ -80,7 +91,7 @@
   REP ubi ibu
 ! REP croc krok 
   REP ten than
---- 278,280 ----
+--- 283,285 ----
   REP ubi ibu
 ! REP croc krok
   REP ten than
@@ -89,7 +100,7 @@
   REP capucino cappuccino
 ! REP celcius Celsius 
   REP kado cadeau
---- 313,315 ----
+--- 318,320 ----
   REP capucino cappuccino
 ! REP celcius Celsius
   REP kado cadeau
@@ -102,7 +113,7 @@
   REP kommittee comité
 ! REP kwis quiz 
   REP kwissen quizzen
---- 319,325 ----
+--- 324,330 ----
   REP committee comité
 ! REP komitee comité
 ! REP komittee comité
@@ -115,7 +126,7 @@
   REP copy kopij
 ! REP pitoresque pittoreske 
   REP reikweite reikwijdte
---- 327,329 ----
+--- 332,334 ----
   REP copy kopij
 ! REP pitoresque pittoreske
   REP reikweite reikwijdte
@@ -127,7 +138,7 @@
 ! REP kontekst context 
 ! REP korrekt correct 
   REP kritikus criticus
---- 339,344 ----
+--- 344,349 ----
   REP klup club
 ! REP wiskid whizzkid
 ! REP kontakt contact
@@ -136,13 +147,13 @@
   REP kritikus criticus
 ***************
 *** 333 ****
---- 358,361 ----
+--- 363,366 ----
   REP aflassen afgelasten
 + REP svp s.v.p.
 + REP zoz z.o.z.
 + 
 *** nl_NL.orig.dic	Sun Jul  3 18:24:07 2005
---- nl_NL.dic	Tue Jan 17 20:39:49 2006
+--- nl_NL.dic	Wed Mar  8 19:24:21 2006
 ***************
 *** 1,3 ****
   119937
@@ -179,6 +190,26 @@
 + DVD
   Dwingeloo
 ***************
+*** 914,916 ****
+  Oranjegezind/E
+! Oranjehemd
+  Oranjehuis
+--- 918,920 ----
+  Oranjegezind/E
+! #Oranjehemd   We hebben al oranjehemd
+  Oranjehuis
+***************
+*** 1323,1326 ****
+  Winterswijk
+! Witrus
+! Witrussisch
+  Wittem
+--- 1327,1330 ----
+  Winterswijk
+! #Witrus		fout volgens Van Dale
+! #Witrussisch	fout volgens Van Dale
+  Wittem
+***************
 *** 2998,3000 ****
   achterwagen/S
 ! achterwand
@@ -194,8 +225,18 @@
 + aidspreventieprogramma
   aidspreventieprogramma's
 ***************
+*** 5175,5177 ****
+  allergeen/P
+! allergeschikste
+  allergie
+--- 5180,5183 ----
+  allergeen/P
+! #allergeschikste  fout volgens Van Dale
+! allergeschiktste
+  allergie
+***************
 *** 7485,7486 ****
---- 7490,7499 ----
+--- 7491,7500 ----
   avond/SN
 + 's avonds/=
 + 's middags/=
@@ -207,29 +248,157 @@
 + 's Morgens
   avondappèl/S
 ***************
+*** 7669,7671 ****
+  baardscheerder/S
+! baardschrapper/S
+  baardvin/M
+--- 7683,7686 ----
+  baardscheerder/S
+! #baardschrapper/S  fout volgens Van Dale
+! baardschraper/S
+  baardvin/M
+***************
+*** 10502,10504 ****
+  beredder/DWI
+! beredderingskosten
+  bereden/O
+--- 10517,10520 ----
+  beredder/DWI
+! #beredderingskosten	fout volgens Van Dale
+! bereddingskosten
+  bereden/O
+***************
+*** 20561,20563 ****
+  curare
+! curatele/N
+  curatelestelling
+--- 20577,20580 ----
+  curare
+! #curatele/N		curatelen is fout volgens Van Dale
+! curatele
+  curatelestelling
+***************
 *** 20681,20682 ****
---- 20694,20696 ----
+--- 20698,20700 ----
   cytostatica
 + d.m.v.
   daad/P
 ***************
+*** 25834,25836 ****
+  driesprong/N
+! driest/TRH
+  driestal/M
+--- 25852,25856 ----
+  driesprong/N
+! #driest/TRH  driestst is fout volgens Van Dale
+! driest/RH
+! driestste
+  driestal/M
+***************
+*** 28239,28241 ****
+  entraineer/WP
+! entre-deutje
+  entre-deux/S
+--- 28259,28261 ----
+  entraineer/WP
+! #entre-deutje    fout volgens Van Dale
+  entre-deux/S
+***************
+*** 31092,31094 ****
+  fotokopie
+! fotokopieer/WP
+  fotokopieerapparaat
+--- 31112,31115 ----
+  fotokopie
+! #fotokopieer/WP    fotokopieren is fout volgens Van Dale
+! fotokopieer/W
+  fotokopieerapparaat
+***************
 *** 41809,41811 ****
   hartelozer
 ! hartelust
   harten/S
---- 41823,41825 ----
+--- 41830,41832 ----
   hartelozer
 ! hartenlust
   harten/S
 ***************
+*** 42393,42395 ****
+  helderziender
+! helderzienst
+  heldhaftig/ETRH
+--- 42414,42417 ----
+  helderziender
+! #helderzienst		fout volgens Van Dale
+! helderziendst
+  heldhaftig/ETRH
+***************
 *** 46300,46301 ****
---- 46314,46316 ----
+--- 46322,46324 ----
   informaticus
 + informatie/S
   informatie-uitwisseling
 ***************
+*** 54255,54257 ****
+  kornalijn/N
+! kornel/M
+  kornet/M
+--- 54278,54282 ----
+  kornalijn/N
+! #kornel/M	kornellen is fout volgens Van Dale
+! kornel
+! kornels
+  kornet/M
+***************
+*** 55926,55929 ****
+  kustweggetje/S
+! kut/M
+! kutje
+  kuttenkop
+--- 55951,55954 ----
+  kustweggetje/S
+! kut/M*
+! kutje/*
+  kuttenkop
+***************
+*** 58883,58885 ****
+  lijkrede/S
+! lijkredenen
+  lijkroof
+--- 58908,58910 ----
+  lijkrede/S
+! #lijkredenen	fout volgens Van Dale
+  lijkroof
+***************
+*** 59340,59342 ****
+  lofredenaar/S
+! lofredenen
+  lofspraak/P
+--- 59365,59367 ----
+  lofredenaar/S
+! #lofredenen	fout volgens Van Dale
+  lofspraak/P
+***************
+*** 60083,60085 ****
+  lukte/G
+! lul/GWM
+  lulleman/M
+--- 60108,60110 ----
+  lukte/G
+! lul/GWM*
+  lulleman/M
+***************
+*** 60087,60089 ****
+  lullepraat
+! lulletje/S
+  lullig
+--- 60112,60114 ----
+  lullepraat
+! lulletje/S*
+  lullig
+***************
 *** 60206,60208 ****
---- 60221,60228 ----
+--- 60231,60238 ----
   löss
 + m.a.w.
 + m.b.t.
@@ -239,8 +408,26 @@
 + mg
   maag
 ***************
+*** 70861,70863 ****
+  ontsmettingsdienst/N
+! ontsmettingsdient
+  ontsmettingsmiddel/N
+--- 70891,70893 ----
+  ontsmettingsdienst/N
+! #ontsmettingsdient	fout volgens Van Dale
+  ontsmettingsmiddel/N
+***************
+*** 77678,77680 ****
+  platvoetwacht
+! platvorm
+  platwalsen
+--- 77708,77710 ----
+  platvoetwacht
+! #platvorm		fout volgens Van Dale
+  platwalsen
+***************
 *** 77996,77997 ****
---- 78016,78018 ----
+--- 78026,78028 ----
   pluisje
 + pluisjes
   pluist/UF
@@ -249,39 +436,170 @@
   programmablad
 ! programmaboekje
   programmacode
---- 80331,80333 ----
+--- 80341,80343 ----
   programmablad
 ! programmaboekje/S
   programmacode
 ***************
+*** 80489,80491 ****
+  pront/RTE
+! pronunciamento
+  pronunciatie/S
+--- 80520,80523 ----
+  pront/RTE
+! #pronunciamento		fout volgens Van Dale
+! pronunciamiento
+  pronunciatie/S
+***************
+*** 95724,95726 ****
+  stoppertje/V
+! stoppertjes/V
+  stopping/VNK
+--- 95756,95759 ----
+  stoppertje/V
+! #stoppertjes/V   verstoppertjes is fout volgens Van Dale
+! stoppertjes
+  stopping/VNK
+***************
 *** 97474,97475 ****
---- 97495,97498 ----
+--- 97507,97510 ----
   suïciderisico/X
 + s.v.p.
 + z.o.z.
   swagger/S
 ***************
+*** 99366,99368 ****
+  tennisracket/S
+! tennisraket/M
+  tennisrokje
+--- 99401,99403 ----
+  tennisracket/S
+! #tennisraket/M  waarschijnlijk fout
+  tennisrokje
+***************
+*** 99899,99901 ****
+  terugziet
+! terugzijn
+  terugzoeken
+--- 99934,99936 ----
+  terugziet
+! #terugzijn	fout volgens Van Dale
+  terugzoeken
+***************
+*** 100485,100487 ****
+  tijdsdruk
+! tijdsduur/P
+  tijdseenheid
+--- 100520,100523 ----
+  tijdsdruk
+! #tijdsduur/P		tijdsduren is fout volgens Van Dale
+! tijdsduur
+  tijdseenheid
+***************
 *** 101428,101429 ****
---- 101451,101454 ----
+--- 101464,101467 ----
   toezichthouder/S
 + toezichthoudersaansprakelijkheidsverzekering
 + toezichthoudersaansprakelijkheidsverzekeringen
   toezie/N
 ***************
 *** 103707,103708 ****
---- 103732,103734 ----
+--- 103745,103747 ----
   tête-à-tête/S
 + u
   uchtend/N
 ***************
+*** 108982,108984 ****
+  violistisch
+! violoncel/SM
+  violoncellist/N
+--- 109021,109025 ----
+  violistisch
+! #violoncel/SM	violoncels is fout volgens Van Dale
+! violoncel/M
+! violoncellen
+  violoncellist/N
+***************
+*** 109497,109499 ****
+  vliegenscheet/P
+! vliegenstront/N
+  vliegensvlug
+--- 109538,109541 ----
+  vliegenscheet/P
+! #vliegenstront/N	vliegenstronten is fout volgens Van Dale
+! vliegenstront
+  vliegensvlug
+***************
 *** 110847,110848 ****
---- 110873,110875 ----
+--- 110889,110891 ----
   voorjaarscollectie/S
 + voorjaarsconferentie/S
   voorjaarsmoeheid
 ***************
+*** 113996,113998 ****
+  weervloed
+! weervoer/N
+  weervoorspeller/S
+--- 114039,114043 ----
+  weervloed
+! #weervoer/N	weervoeren is fout volgens Van Dale
+! weervoer
+! wedervoeren
+  weervoorspeller/S
+***************
+*** 114822,114824 ****
+  wereld/SN
+! wereldbank
+  wereldbeeld
+--- 114867,114870 ----
+  wereld/SN
+! #wereldbank		fout volgens Van Dale
+! Wereldbank
+  wereldbeeld
+***************
+*** 115268,115270 ****
+  wetens/OG
+! wetenschap/SM
+  wetenschappelijk/TREHO
+--- 115314,115317 ----
+  wetens/OG
+! #wetenschap/SM	wetenschaps is fout volgens Van Dale
+! wetenschap/M
+  wetenschappelijk/TREHO
+***************
+*** 115747,115749 ****
+  willekeur/N
+! willekeurig/OENRTH
+  willekeurige/O
+--- 115794,115797 ----
+  willekeur/N
+! #willekeurig/OENRTH    willekeurige is fout volgens Van Dale
+! willekeurig/OERTH
+  willekeurige/O
+***************
+*** 116672,116674 ****
+  wouter/S
+! wouterman/S
+  wouw/N
+--- 116720,116724 ----
+  wouter/S
+! #wouterman/S		woutermans is fout volgens Van Dale
+! wouterman
+! woutermannetje
+  wouw/N
+***************
+*** 117602,117604 ****
+  zegelwet/M
+! zegen/FCGSWNIU
+  zegenbede/N
+--- 117652,117655 ----
+  zegelwet/M
+! #zegen/FCGSWNIU		 uitzegen is fout volgens Van Dale
+! zegen/FCGSWNI
+  zegenbede/N
+***************
 *** 119938 ****
---- 119965,173166 ----
+--- 119989,173194 ----
   überhaupt
 + Christiaan/X
 + Fred/X
@@ -324,7 +642,8 @@
 + chinezen
 + coming man
 + comme il faut
-+ commedia dell' arte
++ #commedia dell' arte	fout volgens Van Dale
++ commedia dell'arte
 + communis opinio
 + consilium abeundi
 + couleur locale
@@ -456,7 +775,8 @@
 + a.s.
 + evt.
 + enz.
-+ t,m
++ t\/m
++ TCP\/IP
 + bijv.
 + t.n.v.
 + m.b.v.
@@ -10124,7 +10444,8 @@
 + consoletafel
 + consoletafels
 + consolidering
-+ consolsysteem
++ #consolsysteem	fout volgens Van Dale
++ consolesysteem
 + conspiraties
 + conspireerde
 + constanties
@@ -53483,4 +53804,5 @@
 + über-ich
 + übermensch
 + übermenschen
-+ 
++ # groene boekje schrijft Majorca, Van Dale Mallorca
++ Mallorca
diff --git a/runtime/spell/sv/sv_SE.diff b/runtime/spell/sv/sv_SE.diff
index ad8b3a7..73ed14b 100644
--- a/runtime/spell/sv/sv_SE.diff
+++ b/runtime/spell/sv/sv_SE.diff
@@ -1,5 +1,5 @@
-*** sv_SE.orig.aff	2003-08-14 14:00:32.000000000 +0200
---- sv_SE.aff	2006-02-21 20:33:31.687500000 +0100
+*** sv_SE.orig.aff	Thu Feb 23 20:02:32 2006
+--- sv_SE.aff	Thu Feb 23 20:02:32 2006
 ***************
 *** 6,7 ****
 --- 6,22 ----
@@ -139,8 +139,8 @@
 + SAL Ä	E
 + SAL ÖG(IE)-6	ÖK	# vokal+g(ie) ger ej j-ljud
 + SAL Ö	Ö
-*** sv_SE.orig.dic	2003-08-14 14:02:06.000000000 +0200
---- sv_SE.dic	2006-02-23 18:39:11.218750000 +0100
+*** sv_SE.orig.dic	Thu Feb 23 20:02:32 2006
+--- sv_SE.dic	Thu Feb 23 20:02:32 2006
 ***************
 *** 4317,4319 ****
   dvaldes/S
diff --git a/runtime/spell/yi/yi.diff b/runtime/spell/yi/yi.diff
index 015a8fc..1153b5c 100644
--- a/runtime/spell/yi/yi.diff
+++ b/runtime/spell/yi/yi.diff
@@ -6,7 +6,7 @@
 + 999999
   גרונטעלעמענט
   דזשאָבענדיקס
-*** /dev/null	Fri Sep 30 14:15:43 2005
+*** /dev/null	Wed Mar  8 22:11:00 2006
 --- yi.aff	Mon Aug 15 23:06:00 2005
 ***************
 *** 0 ****
diff --git a/runtime/spell/yi/yi_tr.diff b/runtime/spell/yi/yi_tr.diff
index 629532a..dcc1706 100644
--- a/runtime/spell/yi/yi_tr.diff
+++ b/runtime/spell/yi/yi_tr.diff
@@ -6,7 +6,7 @@
 + 84608
   gruntelement
   dzhobendiks
-*** /dev/null	Fri Sep 30 14:15:43 2005
+*** /dev/null	Wed Mar  8 22:11:00 2006
 --- yi_tr.aff	Tue Aug 16 10:48:01 2005
 ***************
 *** 0 ****
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index ed8dcb6..3d3db65 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	March 03, 2006
-" Version:	7.0-28
+" Last Change:	March 08, 2006
+" Version:	7.0-29
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -16,11 +16,11 @@
 syn cluster vimCommentGroup	contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained	ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] caddb[uffer] cad[dexpr] caddf[ile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] laddb[uffer] lad[dexpr] laddf[ile] lan[guage] la[st] lb[uffer] lc[d] lch[dir] lcl[ose] le[ft] lefta[bove] lex[pr] lf[ile] lfir[st] lg[etfile] lgr[ep] lgrepa[dd] lh[elpgrep] l[ist] ll lla[st] lli[st] lmak[e] lm[ap] lmapc[lear] lnew[er] lne[xt] lN[ext] lnf[ile] lNf[ile] ln[oremap] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lpf[ile] lp[revious] lr[ewind] ls lt[ag] lu[nmap] lv[imgrep] lvimgrepa[dd] lw[indow] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spellr[epall] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] startg[replace] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabl[ast] tabmove tabnew tabn[ext] tabN[ext] tabo[nly] tabp[revious] tabr[ewind] tabs ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] undoj[oin] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] XMLent XMLns y[ank] 
+syn keyword vimCommand contained	ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] caddb[uffer] cad[dexpr] caddf[ile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] laddb[uffer] lad[dexpr] laddf[ile] lan[guage] la[st] lb[uffer] lc[d] lch[dir] lcl[ose] le[ft] lefta[bove] lex[pr] lf[ile] lfir[st] lg[etfile] lgr[ep] lgrepa[dd] lh[elpgrep] l[ist] ll lla[st] lli[st] lmak[e] lm[ap] lmapc[lear] lnew[er] lne[xt] lN[ext] lnf[ile] lNf[ile] ln[oremap] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lpf[ile] lp[revious] lr[ewind] ls lt[ag] lu[nmap] lv[imgrep] lvimgrepa[dd] lw[indow] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spelli[nfo] spellr[epall] spellu[ndo] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] startg[replace] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabl[ast] tabmove tabnew tabn[ext] tabN[ext] tabo[nly] tabp[revious] tabr[ewind] tabs ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] undoj[oin] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] XMLent XMLns y[ank] 
 syn match   vimCommand contained	"\<z[-+^.=]"
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	: acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma magic makeef makeprg mat matchpairs matchtime maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww 
+syn keyword vimOption contained	: acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma magic makeef makeprg mat matchpairs matchtime maxcombine maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mco mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww 
 
 " vimOptions: These are the turn-off setting variants {{{2
 syn keyword vimOption contained	noacd noai noakm noallowrevins noaltkeymap noanti noantialias noar noarab noarabic noarabicshape noari noarshape noautochdir noautoindent noautoread noautowrite noautowriteall noaw noawa nobackup noballooneval nobeval nobin nobinary nobiosk nobioskey nobk nobl nobomb nobuflisted nocf noci nocin nocindent nocompatible noconfirm noconsk noconskey nocopyindent nocp nocscopetag nocscopeverbose nocst nocsverb nodeco nodelcombine nodg nodiff nodigraph nodisable noea noeb noed noedcompatible noek noendofline noeol noequalalways noerrorbells noesckeys noet noex noexpandtab noexrc nofen nofk nofkmap nofoldenable nogd nogdefault noguipty nohid nohidden nohk nohkmap nohkmapp nohkp nohls nohlsearch noic noicon noignorecase noim noimc noimcmdline noimd noincsearch noinf noinfercase noinsertmode nois nojoinspaces nojs nolazyredraw nolbr nolinebreak nolisp nolist noloadplugins nolpl nolz noma nomagic nomh noml nomod nomodeline nomodifiable nomodified nomore nomousef nomousefocus nomousehide nonu nonumber nopaste nopi nopreserveindent nopreviewwindow noprompt nopvw noreadonly noremap norestorescreen norevins nori norightleft norightleftcmd norl norlc noro nors noru noruler nosb nosc noscb noscrollbind noscs nosecure nosft noshellslash noshelltemp noshiftround noshortname noshowcmd noshowfulltag noshowmatch noshowmode nosi nosm nosmartcase nosmartindent nosmarttab nosmd nosn nosol nospell nosplitbelow nosplitright nospr nosr nossl nosta nostartofline nostmp noswapfile noswf nota notagbsearch notagrelative notagstack notbi notbidi notbs notermbidi noterse notextauto notextmode notf notgst notildeop notimeout notitle noto notop notr nottimeout nottybuiltin nottyfast notx novb novisualbell nowa nowarn nowb noweirdinvert nowfh nowildmenu nowinfixheight nowiv nowmnu nowrap nowrapscan nowrite nowriteany nowritebackup nows 
@@ -55,7 +55,7 @@
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank printf pumvisible range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile 
+syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank printf pumvisible range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
 
 "--- syntax above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
diff --git a/src/buffer.c b/src/buffer.c
index 4e5e037..089def0 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -251,7 +251,7 @@
 	    /* Go to the buffer that was opened. */
 	    aucmd_prepbuf(&aco, old_curbuf);
 #endif
-	    do_modelines(FALSE);
+	    do_modelines(0);
 	    curbuf->b_flags &= ~(BF_CHECK_RO | BF_NEVERLOADED);
 
 #ifdef FEAT_AUTOCMD
@@ -747,7 +747,7 @@
 	ml_recover();
 	MSG_PUTS("\n");	/* don't overwrite the last message */
 	cmdline_row = msg_row;
-	do_modelines(FALSE);
+	do_modelines(0);
 
 # if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
 	/* Restore the error/interrupt/exception state if not discarded by a
@@ -4632,16 +4632,20 @@
 
 #endif /* FEAT_WINDOWS */
 
+static int  chk_modeline __ARGS((linenr_T, int));
+
 /*
  * do_modelines() - process mode lines for the current file
  *
+ * "flags" can be:
+ * OPT_WINONLY	    only set options local to window
+ * OPT_NOWIN	    don't set options local to window
+ *
  * Returns immediately if the "ml" option isn't set.
  */
-static int  chk_modeline __ARGS((linenr_T, int));
-
     void
-do_modelines(win_only)
-    int		win_only;	    /* Only do window-local options. */
+do_modelines(flags)
+    int		flags;
 {
     linenr_T	lnum;
     int		nmlines;
@@ -4658,12 +4662,12 @@
     ++entered;
     for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count && lnum <= nmlines;
 								       ++lnum)
-	if (chk_modeline(lnum, win_only) == FAIL)
+	if (chk_modeline(lnum, flags) == FAIL)
 	    nmlines = 0;
 
     for (lnum = curbuf->b_ml.ml_line_count; lnum > 0 && lnum > nmlines
 		       && lnum > curbuf->b_ml.ml_line_count - nmlines; --lnum)
-	if (chk_modeline(lnum, win_only) == FAIL)
+	if (chk_modeline(lnum, flags) == FAIL)
 	    nmlines = 0;
     --entered;
 }
@@ -4675,9 +4679,9 @@
  * Return FAIL if an error encountered.
  */
     static int
-chk_modeline(lnum, win_only)
+chk_modeline(lnum, flags)
     linenr_T	lnum;
-    int		win_only;	    /* Only do window-local options. */
+    int		flags;		/* Same as for do_modelines(). */
 {
     char_u	*s;
     char_u	*e;
@@ -4774,8 +4778,7 @@
 		save_SID = current_SID;
 		current_SID = SID_MODELINE;
 #endif
-		retval = do_set(s, OPT_MODELINE | OPT_LOCAL
-					      | (win_only ? OPT_WINONLY : 0));
+		retval = do_set(s, OPT_MODELINE | OPT_LOCAL | flags);
 #ifdef FEAT_EVAL
 		current_SID = save_SID;
 #endif
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index d86084b..9deeae4 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2586,7 +2586,7 @@
 	    if (*curbuf->b_p_ft == NUL)
 	    {
 		(void)do_doautocmd((char_u *)"filetypedetect BufRead", TRUE);
-		do_modelines(FALSE);
+		do_modelines(0);
 	    }
 #endif
 	}
@@ -3495,7 +3495,7 @@
 	    /* Read the modelines, but only to set window-local options.  Any
 	     * buffer-local options have already been set and may have been
 	     * changed by the user. */
-	    do_modelines(TRUE);
+	    do_modelines(OPT_WINONLY);
 
 	    apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf,
 								    &retval);
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 31aa4ac..e2f2972 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4743,7 +4743,7 @@
     exarg_T	*eap;
 {
     (void)do_doautocmd(eap->arg, TRUE);
-    do_modelines(FALSE);
+    do_modelines(0);
 }
 #endif
 
@@ -10505,7 +10505,7 @@
 	if (*arg == 'd')
 	{
 	    (void)do_doautocmd((char_u *)"filetypedetect BufRead", TRUE);
-	    do_modelines(FALSE);
+	    do_modelines(0);
 	}
     }
     else if (STRCMP(arg, "off") == 0)
diff --git a/src/fileio.c b/src/fileio.c
index 205e5f0..635bbcf 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4655,7 +4655,7 @@
     {
 	if (au_find_group((char_u *)"filetypedetect") != AUGROUP_ERROR)
 	    (void)do_doautocmd((char_u *)"filetypedetect BufRead", FALSE);
-	do_modelines(FALSE);
+	do_modelines(0);
     }
 #endif
 
@@ -8045,7 +8045,7 @@
 
 	    /* execute the autocommands for this buffer */
 	    retval = do_doautocmd(eap->arg, FALSE);
-	    do_modelines(FALSE);
+	    do_modelines(0);
 
 	    /* restore the current window */
 	    aucmd_restbuf(&aco);
diff --git a/src/gui_x11.c b/src/gui_x11.c
index be93cc5..3176b9d 100644
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -111,7 +111,16 @@
 	    if (current_fontset != NULL) \
 		XwcDrawString(dpy, win, current_fontset, gc, x, y, (wchar_t *)str, n); \
 	    else \
-		XDrawString16(dpy, win, gc, x, y, str, n); \
+		XDrawString16(dpy, win, gc, x, y, (XChar2b *)str, n); \
+	} while (0)
+
+#define XDrawImageString16(dpy, win, gc, x, y, str, n) \
+	do \
+	{ \
+	    if (current_fontset != NULL) \
+		XwcDrawImageString(dpy, win, current_fontset, gc, x, y, (wchar_t *)str, n); \
+	    else \
+		XDrawImageString16(dpy, win, gc, x, y, (XChar2b *)str, n); \
 	} while (0)
 
 static int check_fontset_sanity __ARGS((XFontSet fs));
@@ -2503,7 +2512,7 @@
 {
     int			cells = len;
 #ifdef FEAT_MBYTE
-    static XChar2b	*buf = NULL;
+    static void		*buf = NULL;
     static int		buflen = 0;
     char_u		*p;
     int			wlen = 0;
@@ -2517,7 +2526,8 @@
 	if (buflen < len)
 	{
 	    XtFree((char *)buf);
-	    buf = (XChar2b *)XtMalloc(len * sizeof(XChar2b));
+	    buf = (void *)XtMalloc(len * (sizeof(XChar2b) < sizeof(wchar_t)
+					? sizeof(wchar_t) : sizeof(XChar2b)));
 	    buflen = len;
 	}
 	p = s;
@@ -2525,10 +2535,21 @@
 	while (p < s + len)
 	{
 	    c = utf_ptr2char(p);
-	    if (c >= 0x10000)	/* show chars > 0xffff as ? */
-		c = 0xbf;
-	    buf[wlen].byte1 = (unsigned)c >> 8;
-	    buf[wlen].byte2 = c;
+# ifdef FEAT_XFONTSET
+	    if (current_fontset != NULL)
+	    {
+		if (c >= 0x10000 && sizeof(wchar_t) <= 2)
+		    c = 0xbf;		/* show chars > 0xffff as ? */
+		((wchar_t *)buf)[wlen] = c;
+	    }
+	    else
+# endif
+	    {
+		if (c >= 0x10000)
+		    c = 0xbf;		/* show chars > 0xffff as ? */
+		((XChar2b *)buf)[wlen].byte1 = (unsigned)c >> 8;
+		((XChar2b *)buf)[wlen].byte2 = c;
+	    }
 	    ++wlen;
 	    cells += utf_char2cells(c);
 	    p += utf_ptr2len(p);
diff --git a/src/main.c b/src/main.c
index bd31e50..60aebf9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2302,7 +2302,7 @@
 	ml_recover();
 	if (curbuf->b_ml.ml_mfp == NULL) /* failed */
 	    getout(1);
-	do_modelines(FALSE);		/* do modelines */
+	do_modelines(0);		/* do modelines */
     }
     else
     {
diff --git a/src/netbeans.c b/src/netbeans.c
index c284624..889ad3c 100644
--- a/src/netbeans.c
+++ b/src/netbeans.c
@@ -1489,10 +1489,10 @@
 		lbuf[0] = '\0';
 
 		nb_set_curbuf(buf->bufp);
-		old_b_changed = buf->bufp->b_changed;
+		old_b_changed = curbuf->b_changed;
 
-		pos = off2pos(buf->bufp, off);
-		if (pos)
+		pos = off2pos(curbuf, off);
+		if (pos != NULL)
 		{
 		    if (pos->lnum == 0)
 			pos->lnum = 1;
@@ -1506,28 +1506,30 @@
 #ifdef FEAT_VIRTUALEDIT
 		    pos->coladd = 0;
 #endif
-		    pos->lnum = buf->bufp->b_ml.ml_line_count;
+		    pos->lnum = curbuf->b_ml.ml_line_count;
 		}
 		lnum = pos->lnum;
 		old_w_cursor = curwin->w_cursor;
 		curwin->w_cursor = *pos;
 
-		if (buf->bufp->b_start_eol == FALSE && lnum > 0)
+		if (curbuf->b_start_eol == FALSE
+			&& lnum > 0
+			&& lnum <= curbuf->b_ml.ml_line_count)
 		{
 		    /* Append to a partial line */
 		    char_u *partial = ml_get(lnum);
 
-		    if (partial != IObuff)
-			STRCPY(lbuf, partial);
-			lbuf_len = STRLEN(partial);
-			ml_delete(lnum, FALSE);
+		    STRCPY(lbuf, partial);
+		    lbuf_len = STRLEN(partial);
+		    ml_delete(lnum, FALSE);
+		    buf_was_empty = (curbuf->b_ml.ml_flags & ML_EMPTY);
 		}
 
 		doupdate = 1;
 		while (*args)
 		{
 		    nl = (char_u *)strchr((char *)args, '\n');
-		    if (nl)
+		    if (nl != NULL)
 		    {
 			STRNCAT(lbuf, args, nl - args);
 			lbuf[lbuf_len + nl - args] = '\0';
@@ -1554,13 +1556,13 @@
 
 		if (*(args - 1) == '\n')
 		{
-		    buf->bufp->b_p_eol = TRUE;
-		    buf->bufp->b_start_eol = TRUE;
+		    curbuf->b_p_eol = TRUE;
+		    curbuf->b_start_eol = TRUE;
 		}
 		else
 		{
-		    buf->bufp->b_p_eol = FALSE;
-		    buf->bufp->b_start_eol = FALSE;
+		    curbuf->b_p_eol = FALSE;
+		    curbuf->b_start_eol = FALSE;
 		}
 
 		appended_lines_mark(pos->lnum - 1, lnum - pos->lnum);
@@ -1573,8 +1575,11 @@
 		    if (ff_detected == EOL_UNKNOWN)
 			ff_detected = EOL_DOS;
 		    set_fileformat(ff_detected, OPT_LOCAL);
-		    buf->bufp->b_start_ffc = *buf->bufp->b_p_ff;
-		    ml_delete(curbuf->b_ml.ml_line_count, FALSE);
+		    curbuf->b_start_ffc = *curbuf->b_p_ff;
+
+		    /* Safety check: only delete empty line */
+		    if (*ml_get(curbuf->b_ml.ml_line_count) == NUL)
+			ml_delete(curbuf->b_ml.ml_line_count, FALSE);
 		}
 
 		curwin->w_cursor = old_w_cursor;
@@ -1584,11 +1589,11 @@
 		 * text the buffer has been updated but not written. Will
 		 * netbeans guarantee to write it? Even if I do a :q! ?
 		 */
-		buf->bufp->b_changed = old_b_changed; /* logically unchanged */
+		curbuf->b_changed = old_b_changed; /* logically unchanged */
 		netbeansFireChanges = oldFire;
 
-		u_blockfree(buf->bufp);
-		u_clearall(buf->bufp);
+		u_blockfree(curbuf);
+		u_clearall(curbuf);
 	    }
 	    vim_free(to_free);
 	    nb_reply_nil(cmdno); /* or !error */
diff --git a/src/option.c b/src/option.c
index 5c957e5..b14b4f9 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3774,9 +3774,11 @@
  * does not need to be expanded with option_expand().
  * "opt_flags":
  * 0 for ":set"
- * OPT_GLOBAL for ":setglobal"
- * OPT_LOCAL for ":setlocal" and a modeline
+ * OPT_GLOBAL   for ":setglobal"
+ * OPT_LOCAL    for ":setlocal" and a modeline
  * OPT_MODELINE for a modeline
+ * OPT_WINONLY  to only set window-local options
+ * OPT_NOWIN	to skip setting window-local options
  *
  * returns FAIL if an error is detected, OK otherwise
  */
@@ -3977,6 +3979,11 @@
 			  && (opt_idx < 0 || options[opt_idx].var != VAR_WIN))
 		goto skip;
 
+	    /* Skip all options that are window-local (used for :vimgrep). */
+	    if ((opt_flags & OPT_NOWIN) && opt_idx >= 0
+					   && options[opt_idx].var == VAR_WIN)
+		goto skip;
+
 	    /* Disallow changing some options from modelines */
 	    if ((opt_flags & OPT_MODELINE) && (flags & P_SECURE))
 	    {
diff --git a/src/quickfix.c b/src/quickfix.c
index 1431c76..a8e5099 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3039,12 +3039,12 @@
 	}
 	else
 	{
+	    /* Try for a match in all lines of the buffer.
+	     * For ":1vimgrep" look for first match only. */
 	    found_match = FALSE;
-	    /* Try for a match in all lines of the buffer. */
 	    for (lnum = 1; lnum <= buf->b_ml.ml_line_count && tomatch > 0;
 								       ++lnum)
 	    {
-		/* For ":1vimgrep" look for multiple matches. */
 		col = 0;
 		while (vim_regexec_multi(&regmatch, curwin, buf, lnum,
 								     col) > 0)
@@ -3093,12 +3093,17 @@
 		    wipe_dummy_buffer(buf);
 		    buf = NULL;
 		}
-		else if (!buf_hide(buf))
+		else if (!cmdmod.hide
+			    || buf->b_p_bh[0] == 'u'	/* "unload" */
+			    || buf->b_p_bh[0] == 'w'	/* "wipe" */
+			    || buf->b_p_bh[0] == 'd')	/* "delete" */
 		{
-		    /* When not hiding the buffer and no match was found we
-		     * don't need to remember the buffer, wipe it out.  If
-		     * there was a match and it wasn't the first one or we
-		     * won't jump there: only unload the buffer. */
+		    /* When no match was found we don't need to remember the
+		     * buffer, wipe it out.  If there was a match and it
+		     * wasn't the first one or we won't jump there: only
+		     * unload the buffer.
+		     * Ignore 'hidden' here, because it may lead to having too
+		     * many swap files. */
 		    if (!found_match)
 		    {
 			wipe_dummy_buffer(buf);
@@ -3115,7 +3120,8 @@
 		{
 		    /* The buffer is still loaded, the Filetype autocommands
 		     * need to be done now, in that buffer.  And the modelines
-		     * need to be done (again). */
+		     * need to be done (again).  But not the window-local
+		     * options! */
 #if defined(FEAT_AUTOCMD)
 		    aucmd_prepbuf(&aco, buf);
 #else
@@ -3127,7 +3133,7 @@
 		    apply_autocmds(EVENT_FILETYPE, buf->b_p_ft,
 						     buf->b_fname, TRUE, buf);
 #endif
-		    do_modelines(FALSE);
+		    do_modelines(OPT_NOWIN);
 #if defined(FEAT_AUTOCMD)
 		    aucmd_restbuf(&aco);
 #else
diff --git a/src/version.h b/src/version.h
index 9f2cbcc..79f06be 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 7)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 7, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 8)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 8, compiled "
diff --git a/src/vim.h b/src/vim.h
index a58ce7c..93c9446 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1021,6 +1021,7 @@
 #define OPT_LOCAL	4	/* use local value */
 #define OPT_MODELINE	8	/* option in modeline */
 #define OPT_WINONLY	16	/* only set window-local options */
+#define OPT_NOWIN	32	/* don't set window-local options */
 
 /* Magic chars used in confirm dialog strings */
 #define DLG_BUTTON_SEP	'\n'