diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 3aef1ca..a5770c2 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -19,6 +19,7 @@
 	change.txt \
 	cmdline.txt \
 	debugger.txt \
+	debug.txt \
 	develop.txt \
 	diff.txt \
 	digraph.txt \
@@ -139,6 +140,7 @@
 	autocmd.html \
 	change.html \
 	cmdline.html \
+	debug.html \
 	debugger.html \
 	develop.html \
 	diff.html \
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
new file mode 100644
index 0000000..a0fef1b
--- /dev/null
+++ b/runtime/doc/debug.txt
@@ -0,0 +1,69 @@
+*debug.txt*     For Vim version 7.0aa.  Last change: 2005 Sep 01
+
+
+		  VIM REFERENCE MANUAL    by Bram Moolenaar
+
+
+Debugging Vim						*debug-vim*
+
+This is for debugging Vim itself, when it doesn't work properly.
+
+1. Location of a crash, using gcc and gdb	|debug-gcc|
+2. Windows Bug Reporting               		|debug-win32|
+
+==============================================================================
+
+1. Location of a crash, using gcc and gdb		*debug-gcc*
+
+When Vim crashes in one of the test files, and you are using gcc for
+compilation, here is what you can do to find out exactly where Vim crashes.
+This also applies when using the MingW tools.
+
+1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
+   which you can uncomment).
+
+2. Execute these commands (replace "11" with the test that fails): >
+	cd testdir
+	gdb ../vim
+	run -u unix.vim -U NONE -s dotest.in test11.in
+
+3. Check where Vim crashes, gdb should give a message for this.
+
+4. Get a stack trace from gdb with this command: >
+	where
+<  You can check out different places in the stack trace with: >
+	frame 3
+<  Replace "3" with one of the numbers in the stack trace.
+
+==============================================================================
+
+2. Windows Bug Reporting                       		*debug-win32*
+
+If the Windows version of Vim crashes in a reproducible manner,
+you can take some steps to provide a useful bug report.
+
+First, you must obtain the debugger symbols (PDB) file for your executable:
+gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available
+from the same place that you obtained the executable. Be sure to use
+the PDB that matches the EXE.
+
+If you built the executable yourself with the Microsoft Visual C++ compiler,
+then the PDB was built with the EXE.
+
+You can download the Microsoft Visual C++ Toolkit from
+    http://msdn.microsoft.com/visualc/vctoolkit2003/
+This contains the command-line tools, but not the Visual Studio IDE.
+
+The Debugging Tools for Windows can be downloaded from
+    http://www.microsoft.com/whdc/devtools/debugging/default.mspx
+This includes the WinDbg debugger.
+
+If you have Visual Studio, use that instead of the VC Toolkit
+and WinDbg.
+
+
+(No idea what to do if your binary was built with the Borland or Cygwin
+compilers. Sorry.)
+
+=========================================================================
+ vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index a640f5b..498833c 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 Aug 14
+*develop.txt*   For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -238,8 +238,8 @@
 
 VARIOUS							*style-various*
 
-Typedef'ed names should end in "_t": >
-    typedef int some_t;
+Typedef'ed names should end in "_T": >
+    typedef int some_T;
 Define'ed names should be uppercase: >
     #define SOME_THING
 Features always start with "FEAT_": >
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b412734..bc03f03 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 23
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -4081,12 +4081,12 @@
 
 							*strlen()*
 strlen({expr})	The result is a Number, which is the length of the String
-		{expr} in bytes.  If you want to count the number of
-		multi-byte characters use something like this: >
+		{expr} in bytes.
+		If you want to count the number of multi-byte characters (not
+		counting composing characters) use something like this: >
 
 			:let len = strlen(substitute(str, ".", "x", "g"))
-
-<		Composing characters are not counted.
+<
 		If the argument is a Number it is first converted to a String.
 		For other types an error is given.
 		Also see |len()|.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 2007a8a..5fa8cf1 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 19
+*help.txt*	For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 			VIM - main help file
 									 k
@@ -97,6 +97,7 @@
 |quotes.txt|	remarks from users of Vim
 |todo.txt|	known problems and desired extensions
 |develop.txt|	development of Vim
+|debug.txt|	debugging Vim itself
 |uganda.txt|	Vim distribution conditions and what to do with your money
 
 Basic editing ~
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 3ca8cc5..1efb6ce 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.0aa.  Last change: 2005 Mar 29
+*if_ruby.txt*   For Vim version 7.0aa.  Last change: 2005 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -159,6 +159,8 @@
 buffer		Returns the buffer displayed in the window.
 height		Returns the height of the window.
 height = {n}	Sets the window height to {n}.
+width		Returns the width of the window.
+width = {n}	Sets the window width to {n}.
 cursor		Returns a [row, col] array for the cursor position.
 cursor = [{row}, {col}]
 		Sets the cursor position to {row} and {col}.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index ae90eb9..6530d9e 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Aug 17
+*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -868,8 +868,8 @@
 User defined completion					*compl-function*
 
 Completion is done by a function that can be defined by the user with the
-'completefunc' option.  See the option for how the function is called and an
-example.
+'completefunc' option.  See the 'completefunc' help for how the function
+is called and an example.
 
 							*i_CTRL-X_CTRL-U*
 CTRL-X CTRL-U		Guess what kind of item is in front of the cursor and
@@ -884,7 +884,10 @@
 
 Occult completion					*compl-occult*
 
-Completion is done by a supernatural being.
+Completion is done by a function that can be defined by the user with the
+'occultfunc' option.  This is to be used for filetype-specific completion.
+
+See the 'completefunc' help for how the function is called and an example.
 
 							*i_CTRL-X_CTRL-O*
 CTRL-X CTRL-O		Guess what kind of item is in front of the cursor and
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 3f8e35d..89f020c 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 7.0aa.  Last change: 2005 Jun 12
+*intro.txt*     For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -151,31 +151,19 @@
 appearance of the bug.  Try different machines, if possible.  Send me patches
 if you can!
 
-In case of doubt, use: >
+It will help to include information about the version of Vim you are using and
+your setup.  You can get the information with this command: >
    :so $VIMRUNTIME/bugreport.vim
 This will create a file "bugreport.txt" in the current directory, with a lot
 of information of your environment.  Before sending this out, check if it
 doesn't contain any confidential information!
 
-							*debug-vim*
-When Vim crashes in one of the test files, and you are using gcc for
-compilation, here is what you can do to find out exactly where Vim crashes:
+If Vim crashes, please try to find out where.  You can find help on this here:
+|debug.txt|.
 
-1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
-   which you can uncomment).
-
-2. Execute these commands (replace "11" with the test that fails): >
-	cd testdir
-	gdb ../vim
-	run -u unix.vim -U NONE -s dotest.in test11.in
-
-3. Check where Vim crashes, gdb should give a message for this.
-
-4. Get a stack trace from gdb with this command: >
-	where
-<  You can check out different places in the stack trace with: >
-	frame 3
-<  Replace "3" with one of the numbers in the stack trace.
+In case of doubt or when you wonder if the problem has already been fixed but
+you can't find a fix for it, become a member of the vim-dev maillist and ask
+your question there. |maillist|
 
 							*year-2000* *Y2K*
 Since Vim internally doesn't use dates for editing, there is no year 2000
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 5fb03e9..c33023a 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -666,6 +666,16 @@
 			mode, '!' for both.  These are the same as for
 			mappings, see |map-listing|.
 
+						*:abbreviate-verbose*
+When 'verbose' is non-zero, listing an abbreviation will also display where it
+was last defined.  Example: >
+
+	:verbose abbreviate
+	!  teh           the
+		Last set from /home/abcd/vim/abbr.vim
+
+See |:verbose-cmd| for more information.
+
 :ab[breviate] {lhs}	list the abbreviations that start with {lhs}
 			You may need to insert a CTRL-V (type it twice) to
 			avoid that a typed {lhs} is expanded, since
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index eb5a34a..20d0e9f 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2005 Aug 27
+*options.txt*	For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1591,23 +1591,29 @@
 	This option specifies a function to be used for CTRL-X CTRL-U
 	completion. |i_CTRL-X_CTRL-U|
 
-	The function will be invoked with three arguments:
-	   a:findstart  either 1 or 0
-	   a:col        column in the cursor line where the completion ends,
-			first column is zero
-	   a:base	the text with which matches should match
+	The function will be invoked with two arguments.  First the function
+	is called to find the start of the text to be completed.  Secondly the
+	function is called to actually find the matches.
 
-	When the a:findstart argument is 1, the function must return the
-	column of where the completion starts.  It must be a number between
-	zero and "a:col".  This involves looking at the characters in the
-	cursor line before column a:col and include those characters that
-	could be part of the completed item.  The text between this column and
-	a:col will be replaced with the matches.  Return -1 if no completion
-	can be done.
+	On the first invocation the arguments are:
+	   a:findstart  1
+	   a:base	empty
 
-	When the a:findstart argument is 0 the function must return a List
-	with the matching words.  These matches should include the "a:base"
-	text.  When there are no matches return an empty List.
+	The function must return the column of where the completion starts.
+	It must be a number between zero and the cursor column "col('.')".
+	This involves looking at the characters just before the cursor and
+	including those characters that could be part of the completed item.
+	The text between this column and the cursor column will be replaced
+	with the matches.  Return -1 if no completion can be done.
+
+	On the second invocation the arguments are:
+	   a:findstart  0
+	   a:base	the text with which matches should match, what was
+	   		located in the first call
+
+	The function must return a List with the matching words.  These
+	matches usually include the "a:base" text.  When there are no matches
+	return an empty List.
 
 	When searching for matches takes some time call |complete_add()| to
 	add each match to the total list.  These matches should then not
@@ -1615,16 +1621,16 @@
 	allow the user to press a key while still searching for matches.  Stop
 	searching when it returns non-zero.
 
-	The function must not move the cursor!
+	The function may move the cursor, it is restored afterwards.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
 	security reasons.
 
 	An example that completes the names of the months: >
-		fun! CompleteMonths(findstart, col, base)
+		fun! CompleteMonths(findstart, base)
 		  if a:findstart
 		    " locate the start of the word
 		    let line = getline('.')
-		    let start = a:col
+		    let start = col('.') - 1
 		    while start > 0 && line[start - 1] =~ '\a'
 		      let start -= 1
 		    endwhile
@@ -1643,11 +1649,11 @@
 		set completefunc=CompleteMonths
 <
 	The same, but now pretending searching for matches is slow: >
-		fun! CompleteMonths(findstart, col, base)
+		fun! CompleteMonths(findstart, base)
 		  if a:findstart
 		    " locate the start of the word
 		    let line = getline('.')
-		    let start = a:col
+		    let start = col('.') - 1
 		    while start > 0 && line[start - 1] =~ '\a'
 		      let start -= 1
 		    endwhile
@@ -4588,6 +4594,18 @@
 	The minimum value is 1, the maximum value is 10.
 	NOTE: 'numberwidth' is reset to 8 when 'compatible' is set.
 
+						*'occultfunc'* *'ofu'*
+'occultfunc' 'ofu'	string	(default: empty)
+			local to buffer
+			{not in Vi}
+			{not available when compiled without the +eval
+			or +insert_expand feature}
+	This option specifies a function to be used for CTRL-X CTRL-O
+	completion. |i_CTRL-X_CTRL-O|
+
+	For the use of the function see 'completefunc'.
+
+
 					*'osfiletype'* *'oft'* *E366*
 'osfiletype' 'oft'	string (RISC-OS default: "Text",
 				others default: "")
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 313b218..2a148bd 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0aa.  Last change: 2005 Jul 27
+*quickfix.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -631,15 +631,13 @@
 	%%		the single '%' character
 	%s		search text (finds a string)
 
-The "%f" conversion depends on the current 'isfname' setting.  "~/" is
+The "%f" conversion may depend on the current 'isfname' setting.  "~/" is
 expanded to the home directory and environment variables are expanded.
 
-The "%f" and "%m" conversions have to detect the end of the string.  They
-should be followed by a character that cannot be in the string.  Everything
-up to that character is included in the string.  But when the next character
-is a '%' or a backslash, "%f" will look for any 'isfname' character and "%m"
-finds anything.  If the "%f" or "%m" is at the end, everything up to the end
-of the line is included.
+The "%f" and "%m" conversions have to detect the end of the string.  This
+normally happens by matching following characters and items.  When nohting is
+following the rest of the line is matched.  If "%f" is followed by a '%' or a
+backslash, it will look for a sequence of 'isfname' characters.
 
 On MS-DOS, MS-Windows and OS/2 a leading "C:" will be included in "%f", even
 when using "%f:".  This means that a file name which is a single alphabetical
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index d2e07e5..c8597a6 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 29
+*quickref.txt*  For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -772,6 +772,7 @@
 |'nrformats'|	  |'nf'|     number formats recognized for CTRL-A command
 |'number'|	  |'nu'|     print the line number in front of each line
 |'numberwidth'|	  |'nuw'|    number of columns used for the line number
+|'occultfunc'|    |'ofu'|    function for filetype-specific completion
 |'osfiletype'|	  |'oft'|    operating system-specific filetype information
 |'paragraphs'|	  |'para'|   nroff macros that separate paragraphs
 |'paste'|		     allow pasting text
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ef72d3c..870b7bb 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -607,7 +607,9 @@
 'number'	options.txt	/*'number'*
 'numberwidth'	options.txt	/*'numberwidth'*
 'nuw'	options.txt	/*'nuw'*
+'occultfunc'	options.txt	/*'occultfunc'*
 'oft'	options.txt	/*'oft'*
+'ofu'	options.txt	/*'ofu'*
 'op'	vi_diff.txt	/*'op'*
 'open'	vi_diff.txt	/*'open'*
 'optimize'	vi_diff.txt	/*'optimize'*
@@ -1669,6 +1671,7 @@
 :abbreviate	map.txt	/*:abbreviate*
 :abbreviate-<buffer>	map.txt	/*:abbreviate-<buffer>*
 :abbreviate-local	map.txt	/*:abbreviate-local*
+:abbreviate-verbose	map.txt	/*:abbreviate-verbose*
 :abc	map.txt	/*:abc*
 :abclear	map.txt	/*:abclear*
 :abo	windows.txt	/*:abo*
@@ -4609,11 +4612,14 @@
 dav	pi_netrw.txt	/*dav*
 daw	motion.txt	/*daw*
 dd	change.txt	/*dd*
+debug-gcc	debug.txt	/*debug-gcc*
 debug-highlight	debugger.txt	/*debug-highlight*
 debug-mode	repeat.txt	/*debug-mode*
 debug-scripts	repeat.txt	/*debug-scripts*
 debug-signs	debugger.txt	/*debug-signs*
-debug-vim	intro.txt	/*debug-vim*
+debug-vim	debug.txt	/*debug-vim*
+debug-win32	debug.txt	/*debug-win32*
+debug.txt	debug.txt	/*debug.txt*
 debugger-compilation	debugger.txt	/*debugger-compilation*
 debugger-features	debugger.txt	/*debugger-features*
 debugger-integration	debugger.txt	/*debugger-integration*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6e63813..dfdf097 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 30
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Sep 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,16 +30,7 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Mac:
-- strings.h is bogus, add configure check.
-- GUI: pasting lines results in ^M instead of line breaks. (Benjamin Esham)
-- "cp -R ../runtime appdir" may copy way too much.
-
-cmdline_at_end() and cmdline_overstrike() may not be used.
-
-Ruby: documentation for window width (Wind)
-
-Add a few more languages for spell checking.
+Try out using the free MS compiler and debugger, using Make_mvc.mak.
 
 Mac unicode patch (Da Woon Jung):
 - selecting proportional font breaks display
@@ -71,13 +62,12 @@
     that make sense.  Esp. members of classes/structs.
 
     It's not much different from other Insert-mode completion, use the same
-    mechanism.  Use CTRL-X CTRL-O.
+    mechanism.  Use CTRL-X CTRL-O and 'occultfunc'.  Set 'occultfunc' in the
+    filetype plugin, define the function in the autoload directory.
     
     Separately develop the completion logic and the UI.  When adding UI stuff
     make it work for all completion methods.
 
-    First cleanup the Insert-mode completion.
-
     UI:
     - At first: use 'wildmenu' kind of thing.
     - Nicer: Display the list of choices right under the place where they
@@ -85,9 +75,22 @@
       alternatives).
 
     Completion logic:
-	Use something like 'completefunc'?
-	runtime/complete/{filetype}.vim files?
+	Use runtime/autoload/{filetype}complete.vim files.
+
+	For a simple name can complete like with CTRL-N.
+	    get list of IDs from the tagfile?
+	    For struct or class add "." or "->"?
+
+	After a reference to a struct or class suggest members.
+	    Recognizing "var.mem" and 'var->mem" is easy.
+	    How to get the type of "var"?
+		tags file doesn't give type of typedef!  E.g., oparg_T is
+		listed with "^} oparg_T;$"
+	    How to get the members of that type?
+		tags file has struct: and class: fields
+
 	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)
@@ -98,11 +101,15 @@
 	Ideas from others:
 	http://www.vim.org/scripts/script.php?script_id=747
 	    http://sourceforge.net/projects/insenvim
-		of http://insenvim.sourceforge.net
+		or 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
+	    For C++ uses $INCLUDE environment var.
+	    Uses Perl for C++.
+	    Uses ctags to find the info:
+		ctags -f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux -u $files
+
 	    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').
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 4de3288..3f075d8 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -489,11 +489,11 @@
 
 							*:verbose-cmd*
 When 'verbose' is non-zero, listing the value of a Vim option or a key map or
-a user-defined function or a command or a highlight group or an autocommand
-will also display where it was last defined.  If it was defined manually then
-there will be no "Last set" message.  When it was defined while executing a
-function, user command or autocommand, the script in which it was defined is
-reported.
+an abbreviation or a user-defined function or a command or a highlight group
+or an autocommand will also display where it was last defined.  If it was
+defined manually then there will be no "Last set" message.  When it 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}
 
 							*K*
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index aeb79e3..6ec8286 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 28
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Aug 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -565,8 +565,9 @@
 
 When 'verbose' is set the output of ":highlight" will show where a highlight
 item was last set.
-When 'verbose' is set the output of the ":map", ":command", ":function" and
-":autocmd" commands will show where it was last defined. (Yegappan Lakshmanan)
+When 'verbose' is set the output of the ":map", ":abbreviate", ":command",
+":function" and ":autocmd" commands will show where it was last defined.
+(Yegappan Lakshmanan)
 
 ==============================================================================
 IMPROVEMENTS						*improvements-7*
@@ -810,6 +811,10 @@
 Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
 without copying the code.
 
+Mac: When running "make install" the runtime files are installed as for Unix.
+Avoids that too many files are copied.  When running "make" a link to the
+runtime files is created to avoid a recursive copy that takes much time.
+
 ==============================================================================
 BUG FIXES						*bug-fixes-7*
 
