updated for version 7.0130
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index fc0b1c9..3476ab2 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0aa.  Last change: 2005 Jul 30
+*change.txt*    For Vim version 7.0aa.  Last change: 2005 Aug 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1534,4 +1534,8 @@
 guarantee that sorting is "stable" or obeys the current locale.  You will have
 to try it out.
 
+The sorting itself cannot be interrupted, because of using a system library
+function.  You can interrupt the preparation (for undo) and putting the sorted
+lines into the buffer.  In the last case you may end up with duplicated lines.
+
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index dc3d695..a640f5b 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 7.0aa.  Last change: 2005 Jun 13
+*develop.txt*   For Vim version 7.0aa.  Last change: 2005 Aug 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -123,7 +123,8 @@
 
 - The source code should not become a mess.  It should be reliable code.
 - Use the same layout in all files to make it easy to read |coding-style|.
-- Use comments in a useful way!
+- Use comments in a useful way!  Quoting the function name and argument names
+  is NOT useful.  Do explain what they are for.
 - Porting to another platform should be made easy, without having to change
   too much platform-independent code.
 - Use the object-oriented spirit: Put data and code together.  Minimize the
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 19a9d53..de29f0f 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -273,6 +273,19 @@
 Note: When using mappings for Visual mode, you can use the "'<" mark, which
 is the start of the last selected Visual area in the current buffer |'<|.
 
+							*:map-verbose*
+When 'verbose' is non-zero, listing a key map will also display where it was
+last defined.  Example: >
+
+	:verbose map <C-W>*
+	n  <C-W>*      * <C-W><C-S>*
+	        Last set from /home/abcd/.vimrc
+
+When the map was defined by hand there is no "Last set" message.  When the map
+was defined while executing a function, user command or autocommand, the
+script in which it was defined is reported.
+{not available when compiled without the +eval feature}
+
 							*map_backslash*
 Note that only CTRL-V is mentioned here as a special character for mappings
 and abbreviations.  When 'cpoptions' does not contain 'B', a backslash can
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index b99b0d7..078d754 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.0aa.  Last change: 2005 May 22
+*pattern.txt*   For Vim version 7.0aa.  Last change: 2005 Aug 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -944,6 +944,9 @@
 	This makes it Vi compatible: Without the "\_" or "\n" the collection
 	does not match an end-of-line.
 
+	When the ']' is not there Vim will not give an error message but
+	assume no collection is used.  Useful to search for '['.
+
 	If the sequence begins with "^", it matches any single character NOT
 	in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
 	- If two characters in the sequence are separated by '-', this is
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 7d8a51a..0525291 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 12
+*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -195,6 +195,14 @@
 'spellfile' are only used when all entries in "spelllang" specify the same
 region (not counting files specified by their .spl name).
 
+Specific exception: For German these special regions are used:
+	de		all German words accepted
+	de_de		old and new spelling
+	de_19		old spelling
+	de_20		new spelling
+	de_at		Austria
+	de_ch		Switzerland
+
 
 SPELL FILES						*spell-load*
 
@@ -335,6 +343,27 @@
 Note that the default scripts don't set 'spellcapcheck' if it was changed from
 the default value.  This assumes the user prefers another value then.
 
+
+DOUBLE SCORING						*spell-double-scoring*
+
+The 'spellsuggest' option can be used to select "double" scoring.  This
+mechanism is based on the principle that there are two kinds of spelling
+mistakes:
+
+1. You know how to spell the word, but mistype something.  This results in a
+   small editing distance (character swapped/omitted/inserted) and possibly a
+   word that sounds completely different.
+
+2. You don't know how to spell the word and type something that sounds right.
+   The edit distance can be big but the word is similar after sound-folding.
+
+Since scores for these two mistakes will be very different we use a list
+for each and mix them.
+
+The sound-folding is slow and people that know the language won't make the
+second kind of mistakes.  Therefore 'spellsuggest' can be set to select the
+preferred method for scoring the suggestions.
+
 ==============================================================================
 3. Generating a spell file				*spell-mkspell*
 
@@ -409,6 +438,11 @@
 			and producing an output file in the same directory
 			that has ".{enc}.spl" appended.
 
+Vim will report the number of duplicate words.  This might be a mistake in the
+list of words.  But sometimes it is used to have different prefixes and
+suffixes for the same basic word to avoid them combining (e.g. Czech uses
+this).
+
 Since you might want to change a Myspell word list for use with Vim the
 following procedure is recommended:
 
@@ -716,9 +750,27 @@
 but in lower case.  Thus when the chop string is used to allow the following
 word to start with an upper case letter.
 
+It is not possible to use PFXPOSTPONE together with COMPOUNDFLAG or
+COMPOUNDFLAGS.
 
-KEEP-CASE WORDS
-							*spell-affix-KEP*
+
+WORDS WITH A SLASH					*spell-affix-SLASH*
+
+The slash is used in the .dic file to separate the basic word from the affix
+letters that can be used.  Unfortunately, this means you cannot use a slash in
+a word.  Thus "TCP/IP" cannot be a word.  To work around that you can define a
+replacement character for the slash.  Example:
+
+	SLASH , ~
+
+Now you can use "TCP,IP" to add the word "TCP/IP".
+
+Of course, the letter used should itself not appear in any word!  The letter
+must be ASCII, thus a single byte.
+
+
+KEEP-CASE WORDS						*spell-affix-KEP*
+
 In the affix file a KEP line can be used to define the affix name used for
 keep-case words.  Example:
 
@@ -727,8 +779,8 @@
 See above for an example |spell-affix-vim|.
 
 
-RARE WORDS
-							*spell-affix-RAR*
+RARE WORDS						*spell-affix-RAR*
+
 In the affix file a RAR line can be used to define the affix name used for
 rare words.  Example:
 
@@ -740,8 +792,8 @@
 highlighted as rare.
 
 
-BAD WORDS
-							*spell-affix-BAD*
+BAD WORDS						*spell-affix-BAD*
+
 In the affix file a BAD line can be used to define the affix name used for
 bad words.  Example:
 
@@ -756,6 +808,125 @@
 word as good.
 
 
+COMPOUND WORDS						*spell-affix-compound*
+
+A compound word is a longer word made by concatenating words.  To specify
+which words may be concatenated a character is used.  This character is put in
+the list of affixes after the word.  We will call this character a flag here.
+Obviously these flags must be different from any affix IDs used.
+
+							*spell-COMPOUNDFLAG*
+The Myspell compatible method uses one flag, specified with COMPOUNDFLAG.
+All words with this flag combine in any order and without limit in length.
+This means there is no control over which word comes first.  Example:
+	COMPOUNDFLAG c ~
+
+							*spell-COMPOUNDFLAGS*
+The method added by Vim allows specifying which words can be prepended to
+other words, and which words can be appended to other words.  This is a list
+of comma separated items.  Each item may contain zero or more dashes and plus
+signs.
+
+NOTE: At this moment COMPOUNDFLAGS has not been implemented yet!
+
+An item without dashes specifies words that combine in any order and as often
+as possible.  Example:
+	COMPOUNDFLAGS c,m ~
+
+This allows all words with the "c" flag to be combined and all words with the
+"m" flag to be combined, but a word with the "c" flag doesn't combine with a
+word with the "m" flag.
+
+Flags that are put together, without a separating comma, are considered
+interchangable.  Example:
+	COMPOUNDFLAGS cm ~
+
+This allows all words with the "c" and/or "m" flag to be combined.
+
+An item with one dash specifies flags for a leading word and flags for a
+trailing word.  Thus only two-word combinations are made.  Example:
+	COMPOUNDFLAGS f-d ~
+
+Here the 'f' flag can be used for food and 'd' for dishes, such that you can
+use these words in the dictionary:
+	tomato/f ~
+	onion/f~
+	soup/d~
+	salat/d~
+
+Which makes the words:
+	tomato
+	onion
+	soup
+	salat
+	tomatosoup
+	tomatosalat
+	onionsoup
+	onionsalat
+
+Note that something like "souptomato" is not possible.  And that it's actually
+easier to list all the words if you have only this few.
+
+More dashes can be used to allow more words to combine.  For example:
+	COMPOUNDFLAGS f-d,f-f-d ~
+
+Would allow "tomatoonionsoup" (OK, so this is a bad example, but you get the
+idea).
+
+When a word can be used an undetermined number of times use a plus instead of
+a dash.  Example:
+	COMPOUNDFLAGS f+d ~
+
+Then you can make tasty "oniononiontomatotomatosoup".
+
+The "+" may also appear at the end, which means that the last flags can be
+repeated many times.  Example:
+	COMPOUNDFLAGS f-d+ ~
+
+Which allows the use of "onionsoupsoupsoupsoupsoupsoup".
+
+							*spell-COMPOUNDMIN*
+The minimal length of a word used for concatenation is specified with
+COMPOUNDMIN.  Example:
+	COMPOUNDMIN 5 ~
+
+When omitted a minimal length of 3 bytes is used.  Obviously you could just
+leave out the compound flag from short words instead, this feature is present
+for compatibility with Myspell.
+
+							*spell-CMP*
+NOTE: At this moment CMP has not been implemented yet!
+
+Sometimes it is necessary to change a word when concatenating it to another,
+by removing a few letters, inserting something or both.  It can also be useful
+to restrict concatenation to words that match a pattern.  For this purpose CMP
+items can be used.  They look like this:
+	CMP {flag} {strip} {add} {cond} {cond2}
+
+	{flag}		the flag, as used in COMPOUNDFLAGS for the lead word
+	{strip}		text to remove from the end of the lead word (zero
+			for no stripping)
+	{add}		text to insert between the words (zero for no
+			addition)
+	{cond}		condition to match at the end of the lead word
+	{cond2}		condition to match at the start of the following word
+
+This is exactly the same as what is used for SFX and PFX items, except there
+is an extra condition.  Example:
+	CMP f 0 - . . ~
+
+When used with the food and dish word list above, this means that a dash is
+inserted after each food item.  Thus you get "onion-soup" and
+"onion-tomato-salat".
+
+When there are CMP items for a compound flag the concatenation is only done
+when a CMP item matches.
+
+When there are no CMP items for a compound flag, then all words will be
+concatenated, as if there was an item:
+	CMP {flag} 0 0 . .
+
+
 REPLACEMENTS						*spell-affix-REP*
 
 In the affix file REP items can be used to define common mistakes.  This is
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 3643f7a..04e76db 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 11
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2234,7 +2234,7 @@
 (Adapted from the html.vim help text by Claudio Fleiner <claudio@fleiner.com>)
 
 
-SH						*sh.vim* *sh-syntax*
+SH			*sh.vim* *sh-syntax* *bash-syntax* *ksh-syntax*
 
 This covers the "normal" Unix (Bourne) sh, bash and the Korn shell.
 
@@ -3647,6 +3647,7 @@
 result is like this single command has been used: >
    :hi Comment	term=bold ctermfg=Cyan guifg=#80a0ff gui=bold
 <
+						    	*:highlight-verbose*
 When listing a highlight group and 'verbose' is non-zero, the listing will
 also tell where it was last set.  Example: >
 	:verbose hi Comment
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 13f3073..18f6088 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2014,6 +2014,7 @@
 :highlight-default	syntax.txt	/*:highlight-default*
 :highlight-link	syntax.txt	/*:highlight-link*
 :highlight-normal	syntax.txt	/*:highlight-normal*
+:highlight-verbose	syntax.txt	/*:highlight-verbose*
 :history	cmdline.txt	/*:history*
 :history-indexing	cmdline.txt	/*:history-indexing*
 :i	insert.txt	/*:i*
@@ -2124,6 +2125,7 @@
 :map-silent	map.txt	/*:map-silent*
 :map-special-keys	map.txt	/*:map-special-keys*
 :map-undo	map.txt	/*:map-undo*
+:map-verbose	map.txt	/*:map-verbose*
 :map_l	map.txt	/*:map_l*
 :map_l!	map.txt	/*:map_l!*
 :mapc	map.txt	/*:mapc*
@@ -4242,6 +4244,7 @@
 bar	motion.txt	/*bar*
 bars	help.txt	/*bars*
 base_font_name_list	mbyte.txt	/*base_font_name_list*
+bash-syntax	syntax.txt	/*bash-syntax*
 basic-syntax	syntax.txt	/*basic-syntax*
 basic.vim	syntax.txt	/*basic.vim*
 beep	options.txt	/*beep*
@@ -5205,7 +5208,6 @@
 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*
@@ -5532,6 +5534,7 @@
 keypad-point	intro.txt	/*keypad-point*
 keys()	eval.txt	/*keys()*
 known-bugs	todo.txt	/*known-bugs*
+ksh-syntax	syntax.txt	/*ksh-syntax*
 l	motion.txt	/*l*
 l:var	eval.txt	/*l:var*
 lace-syntax	syntax.txt	/*lace-syntax*
@@ -6372,6 +6375,9 @@
 special-buffers	windows.txt	/*special-buffers*
 speed-up	tips.txt	/*speed-up*
 spell	spell.txt	/*spell*
+spell-COMPOUNDFLAG	spell.txt	/*spell-COMPOUNDFLAG*
+spell-COMPOUNDFLAGS	spell.txt	/*spell-COMPOUNDFLAGS*
+spell-COMPOUNDMIN	spell.txt	/*spell-COMPOUNDMIN*
 spell-affix-BAD	spell.txt	/*spell-affix-BAD*
 spell-affix-FOL	spell.txt	/*spell-affix-FOL*
 spell-affix-KEP	spell.txt	/*spell-affix-KEP*
@@ -6383,10 +6389,12 @@
 spell-affix-REP	spell.txt	/*spell-affix-REP*
 spell-affix-SAL	spell.txt	/*spell-affix-SAL*
 spell-affix-SFX	spell.txt	/*spell-affix-SFX*
+spell-affix-SLASH	spell.txt	/*spell-affix-SLASH*
 spell-affix-SOFOFROM	spell.txt	/*spell-affix-SOFOFROM*
 spell-affix-SOFOTO	spell.txt	/*spell-affix-SOFOTO*
 spell-affix-UPP	spell.txt	/*spell-affix-UPP*
 spell-affix-chars	spell.txt	/*spell-affix-chars*
+spell-affix-compound	spell.txt	/*spell-affix-compound*
 spell-affix-mbyte	spell.txt	/*spell-affix-mbyte*
 spell-affix-vim	spell.txt	/*spell-affix-vim*
 spell-dic-format	spell.txt	/*spell-dic-format*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8397b77..1f82ecc 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 12
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Spelling:
+- suggestions for compound words.
+- Implement multiple flags for compound words.  Await comments from other
+  spell checking authors.
+
 Mac unicode patch (Da Woon Jung):
 - selecting proportional font breaks display
 - UTF-8 text causes display problems.  Font replacement causes this.
@@ -77,12 +82,26 @@
 	Use something like 'completefunc'?
 	runtime/complete/{filetype}.vim files?
 	In function arguments suggest variables of expected type.
+	List of completions is a Dictionary with items:
+	    complist[0]['text'] = completion text
+	    complist[0]['type'] = type of completion (e.g. function, var, arg)
+	    complist[0]['help'] = help text (e.g. function declaration)
+	    complist[0]['helpfunc'] = function that shows help text
+	    etc.
 
 	Ideas from others:
 	http://www.vim.org/scripts/script.php?script_id=747
+	    http://sourceforge.net/projects/insenvim
+		of http://insenvim.sourceforge.net
+	    Java, XML, HTML, C++, JSP, SQL, C#
+	    MS-Windows only, lots of dependencies (e.g. Perl, Internet
+		explorer), uses .dll shared libraries.
+	    for C++ uses $INCLUDE environment var
+	    UI: popup menu with list of alternatives, icon to indicate type
+		optional popup window with info about selected alternative
+	    Unrelated settings are changed (e.g. 'mousemodel').
+
 	www.vim.org script 1213 (Java Development Environment) (Fuchuan Wang)
-	http://sourceforge.net/projects/insenvim
-	    of http://insenvim.sourceforge.net
 	IComplete: http://www.vim.org/scripts/script.php?script_id=1265
 	    and http://stud4.tuwien.ac.at/~e0125672/icomplete/
 	http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
@@ -2571,16 +2590,12 @@
 
 
 Mappings and Abbreviations:
-8   Let ":verbose map xx" report where the mapping was set, just like with
-    ":verbose set".
 8   When "0" is mapped (it is a movement command) this mapping should not be
     used after typing another number, e.g. "20l". (Charles Campbell)
     Is this possible without disabling the mapping of the following command?
 8   Should mapping <C-A> and <C-S-A> both work?
 7   ":abbr b byte", append "b " to an existing word still expands to "byte".
     This is Vi compatible, but can we avoid it anyway?
-8   ":verbose map" could show the script where the mapping was defined.
-    m_script_ID can be used.
 8   To make a mapping work with a prepended "x to select a register, store the
     last _typed_ register name and access it with "&.
 8   Add ":amap", like ":amenu".
@@ -2592,8 +2607,6 @@
 8   Allow mapping of CTRL-@ (anywhere in the LHS).
 8   Give a warning when using CTRL-C in the lhs of a mapping.  It will never
     (?) work.
-7   ":verbose map" should display where a mapping was defined, like ":verbose
-    set".
 8   Add a way to save a current mapping and restore it later.  Use a function
     that returns the mapping command to restore it: mapcmd()?  mapcheck() is
     not fool proof.  How to handle ambiguous mappings?
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 12f5ddf..a1c537f 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 12
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -559,6 +559,11 @@
 For xterm most combinations of modifiers with function keys are recognized.
 |xterm-modifier-keys|
 
+When 'verbose' is set the output of ":highlight" will show where a highlight
+item was last set.
+When 'verbose' is set the output of ":map" will show where a key map was
+last defined. (Yegappan Lakshmanan)
+
 ==============================================================================
 IMPROVEMENTS						*improvements-7*
 
@@ -740,6 +745,7 @@
 The table with encodings has been expanded with many MS-Windows codepages,
 such as cp1250 and cp737, so that these can also be used on Unix without
 prepending "8bit-".
+When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part.
 
 Added the "customlist" completion argument to a user-defined command.  The
 user-defined completion function should return the completion candidates as a
@@ -752,9 +758,6 @@
 The 's' flag is added to the search() and searchpair() function to set the
 ' mark if the cursor is moved. (Yegappan Lakshmanan)
 
-When 'verbose' is set the output of ":highlight" will show where a highlight
-item was last set.
-
 For 'errorformat' it was not possible to have a file name that contains the
 character that follows after "%f".  For example, in "%f:%l:%m" the file name
 could not contain ":".  Now include the first ":" where the rest of the
@@ -1283,4 +1286,10 @@
 
 Win32: Could not use "**/" in 'path', it had to be "**\".
 
+The search pattern "\n" did not match at the end of the last line.
+
+Searching for a pattern backwards, starting on the NUL at the end of the line
+and 'encoding' is "utf-8" would match the pattern just before it incorrectly.
+Affected searchpair('/\*', '', '\*/').
+
  vim:tw=78:ts=8:ft=help:norl: