changeset 444:d0d15b184c56

updated for version 7.0116
author vimboss
date Mon, 25 Jul 2005 20:42:36 +0000
parents 43bf0bcf2110
children c773cb978acf
files runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/tags runtime/syntax/wget.vim src/Make_mvc.mak src/fileio.c src/gui.c src/gui.h src/gui_kde_x11.cc src/gui_mac.c src/gui_photon.c src/gui_riscos.c src/gui_w48.c src/option.c src/os_mac.c src/os_unix.c src/proto/gui_gtk_x11.pro src/proto/gui_kde_x11.pro src/proto/gui_mac.pro src/proto/gui_photon.pro src/proto/gui_w16.pro src/proto/gui_w32.pro src/proto/os_mac.pro src/version.h
diffstat 24 files changed, 249 insertions(+), 509 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.0aa.  Last change: 2005 May 21
+*editing.txt*   For Vim version 7.0aa.  Last change: 2005 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -354,14 +354,32 @@ file1 file2") embedded spaces must be es
 							*wildcard*
 Wildcards in {file} are expanded.  Which wildcards are supported depends on
 the system.  These are the common ones:
+	?	matches one character
 	*	matches anything, including nothing
-	?	matches one character
+	**	matches anything, including nothing, recurses into directories
 	[abc]	match 'a', 'b' or 'c'
+
 To avoid the special meaning of the wildcards prepend a backslash.  However,
 on MS-Windows the backslash is a path separator and "path\[abc]" is still seen
 as a wildcard when "[" is in the 'isfname' option.  A simple way to avoid this
 is to use "path\[[]abc]".  Then the file "path[abc]" literally.
 
+					*starstar-wildcard*
+Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
+This allows searching a directory tree.  This goes up to 100 directories deep.
+Example: >
+	:n **/*.txt
+Finds files:
+	ttt.txt
+	subdir/ttt.txt
+	a/b/c/d/ttt.txt
+When non-wildcard characters are used these are only matched in the first
+directory.  Example: >
+	:n /usr/inc**/*.h
+Finds files:
+	/usr/include/types.h
+	/usr/include/sys/types.h
+	/usr/inc_old/types.h
 					*backtick-expansion* *`-expansion*
 On Unix and a few other systems you can also use backticks in the file name,
 for example: >
@@ -1406,7 +1424,7 @@ 11. File Searching					*file-searching*
 The file searching is currently used for the 'path', 'cdpath' and 'tags'
 options.  There are three different types of searching:
 
-1) Downward search:
+1) Downward search:					*starstar*
    Downward search uses the wildcards '*', '**' and possibly others
    supported by your operating system.  '*' and '**' are handled inside Vim, so
    they work on all operating systems.
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jul 22
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jul 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2221,8 +2221,11 @@ expand({expr} [, {flag}])				*expand()*
 		expanded like a file name is expanded on the command line.
 		'suffixes' and 'wildignore' are used, unless the optional
 		{flag} argument is given and it is non-zero.  Names for
-		non-existing files are included.
-
+		non-existing files are included.  The "**" item can be used to
+		search in a directory tree.  For example, to find all "README"
+		files in the current directory and below: >
+			:echo expand("**/README")
+<
 		Expand() can also be used to expand variables and environment
 		variables that are only known in a shell.  But this can be
 		slow, because a shell must be started.  See |expr-env-expand|.
@@ -2708,6 +2711,11 @@ globpath({path}, {expr})				*globpath()*
 		The 'wildignore' option applies: Names matching one of the
 		patterns in 'wildignore' will be skipped.
 
+		The "**" item can be used to search in a directory tree.
+		For example, to find all "README.txt" files in the directories
+		in 'runtimepath' and below: >
+			:echo globpath(&rtp, "**/README.txt")
+<
 							*has()*
 has({feature})	The result is a Number, which is 1 if the feature {feature} is
 		supported, zero otherwise.  The {feature} argument is a
@@ -3528,8 +3536,14 @@ search({pattern} [, {flags}])				*search
 		'n'	do Not move the cursor
 		'w'	wrap around the end of the file
 		'W'	don't wrap around the end of the file
+		's'	set the ' mark at the previous location of the
+			cursor.
 		If neither 'w' or 'W' is given, the 'wrapscan' option applies.
 
+		If the 's' flag is supplied, the ' mark is set, only if the
+		cursor is moved. The 's' flag cannot be combined with the 'n'
+		flag.
+
 		When a match has been found its line number is returned.
 		The cursor will be positioned at the match, unless the 'n'
 		flag is used).
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5154,6 +5154,7 @@ hebrew	hebrew.txt	/*hebrew*
 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*
@@ -6328,6 +6329,8 @@ standard-plugin	usr_05.txt	/*standard-pl
 standard-plugin-list	help.txt	/*standard-plugin-list*
 standout	syntax.txt	/*standout*
 star	pattern.txt	/*star*
+starstar	editing.txt	/*starstar*
+starstar-wildcard	editing.txt	/*starstar-wildcard*
 start-of-file	pattern.txt	/*start-of-file*
 starting	starting.txt	/*starting*
 starting-amiga	starting.txt	/*starting-amiga*
--- a/runtime/syntax/wget.vim
+++ b/runtime/syntax/wget.vim
@@ -2,8 +2,8 @@
 " Filename:     wget.vim
 " Language:     Wget configuration file ( /etc/wgetrc ~/.wgetrc )
 " Maintainer:   Doug Kearns <djkea2@gus.gscit.monash.edu.au>
-" URL:		http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/wget.vim
-" Last Change:  2004 Nov 27
+" URL:          http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/wget.vim
+" Last Change:  2005 Jul 24
 
 " TODO: all commands are actually underscore and hyphen insensitive, though
 "       they are normally named as listed below
@@ -16,120 +16,153 @@ elseif exists("b:current_syntax")
   finish
 endif
 
-syn match   wgetComment    "^\s*#.*$" contains=wgetTodo
+syn match   wgetComment "^\s*#.*$" contains=wgetTodo
 
-syn keyword wgetTodo       TODO NOTE FIXME XXX contained
+syn keyword wgetTodo TODO NOTE FIXME XXX contained
 
-syn match   wgetAssignment "^\s*[A-Za-z_-]\+\s*=\s*.*$" contains=wgetCommand,wgetAssignmentOperator,wgetString,wgetBoolean,wgetNumber,wgetValue,wgetQuota
+syn match   wgetAssignment "^\s*[A-Za-z0-9_-]\+\s*=\s*.*$" contains=wgetCommand,wgetAssignmentOperator,wgetString,wgetBoolean,wgetNumber,wgetValue,wgetQuota,wgetRestriction,wgetTime
 
 syn match   wgetAssignmentOperator "=" contained
 
-syn region  wgetString     start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
-syn region  wgetString     start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
+syn region  wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
+syn region  wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
 
-" Make this a match so that always_rest matches properly
+" Note: make this a match so that always_rest matches properly
 syn case ignore
-syn match   wgetBoolean    "\<on\|off\|always\|never\|1\|0\>" contained
+syn match   wgetBoolean	"\<on\|off\|always\|never\|1\|0\>" contained
 syn case match
 
-syn match   wgetNumber     "\<\d\+\|inf\>"    contained
-
-syn match   wgetQuota      "\<\d\+[kKmM]\?\>" contained
+syn match   wgetNumber	"\<\d\+\|inf\>"		contained
+syn match   wgetQuota	"\<\d\+[kKmM]\?\>"	contained
+syn match   wgetTime	"\<\d\+[smhdw]\>"	contained
 
 syn case ignore
-syn keyword wgetValue      default binary mega giga micro contained
+syn keyword wgetValue	default binary mega giga micro contained
 syn case match
 
+syn match   wgetRestriction  "\<\%(windows\|unix\)\%(,nocontrol\)\=\>"	contained
+syn match   wgetRestriction  "\<nocontrol\>"				contained
+
 syn case ignore
-syn match wgetCommand      "^\s*accept" contained
-syn match wgetCommand      "^\s*add[-_]\=hostdir" contained
-syn match wgetCommand      "^\s*always[-_]\=rest" contained
-syn match wgetCommand      "^\s*background" contained
-syn match wgetCommand      "^\s*backup[-_]\=converted" contained
-syn match wgetCommand      "^\s*backups" contained
-syn match wgetCommand      "^\s*base" contained
-syn match wgetCommand      "^\s*bind[-_]\=address" contained
-syn match wgetCommand      "^\s*cache" contained
-syn match wgetCommand      "^\s*continue" contained
-syn match wgetCommand      "^\s*convert[-_]\=links" contained
-syn match wgetCommand      "^\s*cookies" contained
-syn match wgetCommand      "^\s*cut[-_]\=dirs" contained
-syn match wgetCommand      "^\s*debug" contained
-syn match wgetCommand      "^\s*delete[-_]\=after" contained
-syn match wgetCommand      "^\s*dir[-_]\=prefix" contained
-syn match wgetCommand      "^\s*dir[-_]\=struct" contained
-syn match wgetCommand      "^\s*domains" contained
-syn match wgetCommand      "^\s*dot[-_]\=bytes" contained
-syn match wgetCommand      "^\s*dots[-_]\=in[-_]\=line" contained
-syn match wgetCommand      "^\s*dot[-_]\=spacing" contained
-syn match wgetCommand      "^\s*dot[-_]\=style" contained
-syn match wgetCommand      "^\s*egd[-_]\=file" contained
-syn match wgetCommand      "^\s*exclude[-_]\=directories" contained
-syn match wgetCommand      "^\s*exclude[-_]\=domains" contained
-syn match wgetCommand      "^\s*follow[-_]\=ftp" contained
-syn match wgetCommand      "^\s*follow[-_]\=tags" contained
-syn match wgetCommand      "^\s*force[-_]\=html" contained
-syn match wgetCommand      "^\s*ftp[-_]\=proxy" contained
-syn match wgetCommand      "^\s*glob" contained
-syn match wgetCommand      "^\s*header" contained
-syn match wgetCommand      "^\s*html[-_]\=extension" contained
-syn match wgetCommand      "^\s*htmlify" contained
-syn match wgetCommand      "^\s*http[-_]\=keep[-_]\=alive" contained
-syn match wgetCommand      "^\s*http[-_]\=passwd" contained
-syn match wgetCommand      "^\s*http[-_]\=proxy" contained
-syn match wgetCommand      "^\s*https[-_]\=proxy" contained
-syn match wgetCommand      "^\s*http[-_]\=user" contained
-syn match wgetCommand      "^\s*ignore[-_]\=length" contained
-syn match wgetCommand      "^\s*ignore[-_]\=tags" contained
-syn match wgetCommand      "^\s*include[-_]\=directories" contained
-syn match wgetCommand      "^\s*input" contained
-syn match wgetCommand      "^\s*kill[-_]\=longer" contained
-syn match wgetCommand      "^\s*limit[-_]\=rate" contained
-syn match wgetCommand      "^\s*load[-_]\=cookies" contained
-syn match wgetCommand      "^\s*logfile" contained
-syn match wgetCommand      "^\s*login" contained
-syn match wgetCommand      "^\s*mirror" contained
-syn match wgetCommand      "^\s*netrc" contained
-syn match wgetCommand      "^\s*no[-_]\=clobber" contained
-syn match wgetCommand      "^\s*no[-_]\=parent" contained
-syn match wgetCommand      "^\s*no[-_]\=proxy" contained
+syn match wgetCommand "^\s*accept" contained
+syn match wgetCommand "^\s*add[-_]\=hostdir" contained
+syn match wgetCommand "^\s*always[-_]\=rest" contained
+syn match wgetCommand "^\s*background" contained
+syn match wgetCommand "^\s*backup[-_]\=converted" contained
+syn match wgetCommand "^\s*backups" contained
+syn match wgetCommand "^\s*base" contained
+syn match wgetCommand "^\s*bind[-_]\=address" contained
+syn match wgetCommand "^\s*ca[-_]\=certificate" contained
+syn match wgetCommand "^\s*ca[-_]\=directory" contained
+syn match wgetCommand "^\s*cache" contained
+syn match wgetCommand "^\s*certificate" contained
+syn match wgetCommand "^\s*certificate[-_]\=type" contained
+syn match wgetCommand "^\s*check[-_]\=certificate" contained
+syn match wgetCommand "^\s*connect[-_]\=timeout" contained
+syn match wgetCommand "^\s*continue" contained
+syn match wgetCommand "^\s*convert[-_]\=links" contained
+syn match wgetCommand "^\s*cookies" contained
+syn match wgetCommand "^\s*cut[-_]\=dirs" contained
+syn match wgetCommand "^\s*debug" contained
+syn match wgetCommand "^\s*delete[-_]\=after" contained
+syn match wgetCommand "^\s*dns[-_]\=cache" contained
+syn match wgetCommand "^\s*dns[-_]\=timeout" contained
+syn match wgetCommand "^\s*dir[-_]\=prefix" contained
+syn match wgetCommand "^\s*dir[-_]\=struct" contained
+syn match wgetCommand "^\s*domains" contained
+syn match wgetCommand "^\s*dot[-_]\=bytes" contained
+syn match wgetCommand "^\s*dots[-_]\=in[-_]\=line" contained
+syn match wgetCommand "^\s*dot[-_]\=spacing" contained
+syn match wgetCommand "^\s*dot[-_]\=style" contained
+syn match wgetCommand "^\s*egd[-_]\=file" contained
+syn match wgetCommand "^\s*exclude[-_]\=directories" contained
+syn match wgetCommand "^\s*exclude[-_]\=domains" contained
+syn match wgetCommand "^\s*follow[-_]\=ftp" contained
+syn match wgetCommand "^\s*follow[-_]\=tags" contained
+syn match wgetCommand "^\s*force[-_]\=html" contained
+syn match wgetCommand "^\s*ftp[-_]\=passw\(or\)\=d" contained
+syn match wgetCommand "^\s*ftp[-_]\=user" contained
+syn match wgetCommand "^\s*ftp[-_]\=proxy" contained
+syn match wgetCommand "^\s*glob" contained
+syn match wgetCommand "^\s*header" contained
+syn match wgetCommand "^\s*html[-_]\=extension" contained
+syn match wgetCommand "^\s*htmlify" contained
+syn match wgetCommand "^\s*http[-_]\=keep[-_]\=alive" contained
+syn match wgetCommand "^\s*http[-_]\=passwd" contained
+syn match wgetCommand "^\s*http[-_]\=password" contained
+syn match wgetCommand "^\s*http[-_]\=proxy" contained
+syn match wgetCommand "^\s*https[-_]\=proxy" contained
+syn match wgetCommand "^\s*http[-_]\=user" contained
+syn match wgetCommand "^\s*ignore[-_]\=length" contained
+syn match wgetCommand "^\s*ignore[-_]\=tags" contained
+syn match wgetCommand "^\s*include[-_]\=directories" contained
+syn match wgetCommand "^\s*inet4[-_]\=only" contained
+syn match wgetCommand "^\s*inet6[-_]\=only" contained
+syn match wgetCommand "^\s*input" contained
+syn match wgetCommand "^\s*keep[-_]\=session[-_]\=cookies" contained
+syn match wgetCommand "^\s*kill[-_]\=longer" contained
+syn match wgetCommand "^\s*limit[-_]\=rate" contained
+syn match wgetCommand "^\s*load[-_]\=cookies" contained
+syn match wgetCommand "^\s*logfile" contained
+syn match wgetCommand "^\s*login" contained
+syn match wgetCommand "^\s*mirror" contained
+syn match wgetCommand "^\s*netrc" contained
+syn match wgetCommand "^\s*no[-_]\=clobber" contained
+syn match wgetCommand "^\s*no[-_]\=parent" contained
+syn match wgetCommand "^\s*no[-_]\=proxy" contained
 " Note: this option is deprecated, use 'tries' instead
-syn match wgetCommand      "^\s*numtries" contained
-syn match wgetCommand      "^\s*output[-_]\=document" contained
-syn match wgetCommand      "^\s*page[-_]\=requisites" contained
-syn match wgetCommand      "^\s*passive[-_]\=ftp" contained
-syn match wgetCommand      "^\s*passwd" contained
-syn match wgetCommand      "^\s*progress" contained
-syn match wgetCommand      "^\s*proxy[-_]\=passwd" contained
-syn match wgetCommand      "^\s*proxy[-_]\=user" contained
-syn match wgetCommand      "^\s*quiet" contained
-syn match wgetCommand      "^\s*quota" contained
-syn match wgetCommand      "^\s*random[-_]\=wait" contained
-syn match wgetCommand      "^\s*reclevel" contained
-syn match wgetCommand      "^\s*recursive" contained
-syn match wgetCommand      "^\s*referer" contained
-syn match wgetCommand      "^\s*reject" contained
-syn match wgetCommand      "^\s*relative[-_]\=only" contained
-syn match wgetCommand      "^\s*remove[-_]\=listing" contained
-syn match wgetCommand      "^\s*retr[-_]\=symlinks" contained
-syn match wgetCommand      "^\s*robots" contained
-syn match wgetCommand      "^\s*save[-_]\=cookies" contained
-syn match wgetCommand      "^\s*save[-_]\=headers" contained
-syn match wgetCommand      "^\s*server[-_]\=response" contained
+syn match wgetCommand "^\s*numtries" contained
+syn match wgetCommand "^\s*output[-_]\=document" contained
+syn match wgetCommand "^\s*page[-_]\=requisites" contained
+syn match wgetCommand "^\s*passive[-_]\=ftp" contained
+syn match wgetCommand "^\s*passwd" contained
+syn match wgetCommand "^\s*password" contained
+syn match wgetCommand "^\s*post[-_]\=data" contained
+syn match wgetCommand "^\s*post[-_]\=file" contained
+syn match wgetCommand "^\s*prefer[-_]\=family" contained
+syn match wgetCommand "^\s*preserve[-_]\=permissions" contained
+syn match wgetCommand "^\s*private[-_]\=key" contained
+syn match wgetCommand "^\s*private[-_]\=key[-_]\=type" contained
+syn match wgetCommand "^\s*progress" contained
+syn match wgetCommand "^\s*protocol[-_]\=directories" contained
+syn match wgetCommand "^\s*proxy[-_]\=passwd" contained
+syn match wgetCommand "^\s*proxy[-_]\=password" contained
+syn match wgetCommand "^\s*proxy[-_]\=user" contained
+syn match wgetCommand "^\s*quiet" contained
+syn match wgetCommand "^\s*quota" contained
+syn match wgetCommand "^\s*random[-_]\=file" contained
+syn match wgetCommand "^\s*random[-_]\=wait" contained
+syn match wgetCommand "^\s*read[-_]\=timeout" contained
+syn match wgetCommand "^\s*reclevel" contained
+syn match wgetCommand "^\s*recursive" contained
+syn match wgetCommand "^\s*referer" contained
+syn match wgetCommand "^\s*reject" contained
+syn match wgetCommand "^\s*relative[-_]\=only" contained
+syn match wgetCommand "^\s*remove[-_]\=listing" contained
+syn match wgetCommand "^\s*restrict[-_]\=file[-_]\=names" contained
+syn match wgetCommand "^\s*retr[-_]\=symlinks" contained
+syn match wgetCommand "^\s*retry[-_]\=connrefused" contained
+syn match wgetCommand "^\s*robots" contained
+syn match wgetCommand "^\s*save[-_]\=cookies" contained
+syn match wgetCommand "^\s*save[-_]\=headers" contained
+syn match wgetCommand "^\s*secure[-_]\=protocol" contained
+syn match wgetCommand "^\s*server[-_]\=response" contained
 " Note: this option was removed in wget 1.8
-syn match wgetCommand      "^\s*simple[-_]\=host[-_]\=check" contained
-syn match wgetCommand      "^\s*span[-_]\=hosts" contained
-syn match wgetCommand      "^\s*spider" contained
-syn match wgetCommand      "^\s*sslcertfile" contained
-syn match wgetCommand      "^\s*sslcertkey" contained
-syn match wgetCommand      "^\s*timeout" contained
-syn match wgetCommand      "^\s*time[-_]\=stamping" contained
-syn match wgetCommand      "^\s*tries" contained
-syn match wgetCommand      "^\s*use[-_]\=proxy" contained
-syn match wgetCommand      "^\s*user[-_]\=agent" contained
-syn match wgetCommand      "^\s*verbose" contained
-syn match wgetCommand      "^\s*wait" contained
-syn match wgetCommand      "^\s*wait[-_]\=retry" contained
+syn match wgetCommand "^\s*simple[-_]\=host[-_]\=check" contained
+syn match wgetCommand "^\s*span[-_]\=hosts" contained
+syn match wgetCommand "^\s*spider" contained
+syn match wgetCommand "^\s*strict[-_]\=comments" contained
+syn match wgetCommand "^\s*sslcertfile" contained
+syn match wgetCommand "^\s*sslcertkey" contained
+syn match wgetCommand "^\s*timeout" contained
+syn match wgetCommand "^\s*time[-_]\=stamping" contained
+syn match wgetCommand "^\s*tries" contained
+syn match wgetCommand "^\s*user" contained
+syn match wgetCommand "^\s*use[-_]\=proxy" contained
+syn match wgetCommand "^\s*user[-_]\=agent" contained
+syn match wgetCommand "^\s*verbose" contained
+syn match wgetCommand "^\s*wait" contained
+syn match wgetCommand "^\s*wait[-_]\=retry" contained
 syn case match
 
 " Define the default highlighting.
@@ -144,16 +177,18 @@ if version >= 508 || !exists("did_wget_s
   endif
 
   HiLink wgetAssignmentOperator Special
-  HiLink wgetBoolean		Boolean
-  HiLink wgetCommand		Identifier
-  HiLink wgetComment		Comment
-  HiLink wgetNumber		Number
-  HiLink wgetQuota		Number
-  HiLink wgetString		String
-  HiLink wgetTodo		Todo
-  HiLink wgetValue		Constant
+  HiLink wgetBoolean            Boolean
+  HiLink wgetCommand            Identifier
+  HiLink wgetComment            Comment
+  HiLink wgetNumber             Number
+  HiLink wgetQuota              Number
+  HiLink wgetString             String
+  HiLink wgetTodo               Todo
+  HiLink wgetValue              Constant
 
   delcommand HiLink
 endif
 
 let b:current_syntax = "wget"
+
+" vim: ts=8
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -734,7 +734,8 @@ notags:
 	- if exist tags del tags
 
 clean:
-	- $(DEL_TREE) $(OUTDIR) auto
+	- if exist $(OUTDIR)/nul $(DEL_TREE) $(OUTDIR)
+	- if exist auto/nul $(DEL_TREE) auto
 	- if exist *.obj del *.obj
 	- if exist $(VIM).exe del $(VIM).exe
 	- if exist $(VIM).ilk del $(VIM).ilk
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -8937,6 +8937,8 @@ file_pat_to_reg_pat(pat, pat_end, allow_
 	    case '*':
 		reg_pat[i++] = '.';
 		reg_pat[i++] = '*';
+		while (p[1] == '*')	/* "**" matches like "*" */
+		    ++p;
 		break;
 	    case '.':
 #ifdef RISCOS
--- a/src/gui.c
+++ b/src/gui.c
@@ -1175,6 +1175,9 @@ gui_position_components(total_width)
     --hold_gui_events;
 }
 
+/*
+ * Get the width of the widgets and decorations to the side of the text area.
+ */
     int
 gui_get_base_width()
 {
@@ -1188,6 +1191,9 @@ gui_get_base_width()
     return base_width;
 }
 
+/*
+ * Get the height of the widgets and decorations above and below the text area.
+ */
     int
 gui_get_base_height()
 {
@@ -1331,6 +1337,8 @@ gui_get_shellsize()
 
 /*
  * Set the size of the Vim shell according to Rows and Columns.
+ * If "fit_to_display" is TRUE then the size may be reduced to fit the window
+ * on the screen.
  */
 /*ARGSUSED*/
     void
--- a/src/gui.h
+++ b/src/gui.h
@@ -318,8 +318,9 @@ typedef struct Gui
     scrollbar_T bottom_sbar;	    /* Bottom scrollbar */
     int		which_scrollbars[3];/* Which scrollbar boxes are active? */
     int		prev_wrap;	    /* For updating the horizontal scrollbar */
-    int		char_width;	    /* Width of char in pixels */
-    int		char_height;	    /* Height of char in pixels + 'linespace' */
+    int		char_width;	    /* Width of char cell in pixels */
+    int		char_height;	    /* Height of char cell in pixels, includes
+				       'linespace' */
     int		char_ascent;	    /* Ascent of char in pixels */
     int		border_width;	    /* Width of our border around text area */
     int		border_offset;	    /* Total pixel offset for all borders */
--- a/src/gui_kde_x11.cc
+++ b/src/gui_kde_x11.cc
@@ -1412,8 +1412,11 @@ mch_set_mouse_shape (int shape)//{{{
 }//}}}
 #endif
 
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
     int
-gui_mch_adjust_charsize ()//{{{
+gui_mch_adjust_charheight ()//{{{
 {
     QFont f(*(gui.current_font));
     QFontMetrics fm(f);
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -3936,8 +3936,11 @@ gui_mch_init_font(font_name, fontset)
 
 }
 
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
     int
-gui_mch_adjust_charsize()
+gui_mch_adjust_charheight()
 {
     FontInfo    font_info;
 
@@ -4092,19 +4095,6 @@ gui_mch_set_font(font)
     TextFont(font & 0xFFFF);
 }
 
-#if 0 /* not used */
-/*
- * Return TRUE if the two fonts given are equivalent.
- */
-    int
-gui_mch_same_font(f1, f2)
-    GuiFont	f1;
-    GuiFont	f2;
-{
-    return f1 == f2;
-}
-#endif
-
 /*
  * If a font is not going to be used, free its structure.
  */
@@ -5107,10 +5097,7 @@ gui_mch_enable_menu(flag)
     int		flag;
 {
     /*
-     * Menu is always active in itself
-     * (maybe we should only disable a vim menu
-     *	and keep standard menu)
-     *
+     * Menu is always active.
      */
 }
 
@@ -5122,9 +5109,7 @@ gui_mch_set_menu_pos(x, y, w, h)
     int		h;
 {
     /*
-     * The menu is always at the top of the screen
-     * Maybe a futur version will permit a menu in the window
-     *
+     * The menu is always at the top of the screen.
      */
 }
 
--- a/src/gui_photon.c
+++ b/src/gui_photon.c
@@ -3004,8 +3004,11 @@ gui_mch_init_font(char_u *vim_font_name,
     return( OK );
 }
 
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
     int
-gui_mch_adjust_charsize(void)
+gui_mch_adjust_charheight(void)
 {
     FontQueryInfo info;
 
--- a/src/gui_riscos.c
+++ b/src/gui_riscos.c
@@ -1022,8 +1022,11 @@ gui_mch_init_font(char_u *font_name, int
     return OK;
 }
 
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
     int
-gui_mch_adjust_charsize()
+gui_mch_adjust_charheight()
 {
     return FAIL;
 }
@@ -1083,17 +1086,6 @@ gui_mch_set_font(GuiFont font)
     }
 }
 
-#if 0 /* not used */
-/*
- * Return TRUE if the two fonts given are equivalent.
- */
-    int
-gui_mch_same_font(GuiFont f1, GuiFont f2)
-{
-    return f1 == f2;
-}
-#endif
-
 /*
  * If a font is not going to be used, free its structure.
  */
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -1113,7 +1113,6 @@ gui_mch_set_text_area_pos(int x, int y, 
 	oldx = x;
 	oldy = y;
     }
-
 }
 
 
@@ -1141,7 +1140,8 @@ gui_mch_set_scrollbar_pos(
     int		w,
     int		h)
 {
-    SetWindowPos(sb->id, NULL, x, y, w, h, SWP_NOZORDER | SWP_NOACTIVATE | SWP_SHOWWINDOW);
+    SetWindowPos(sb->id, NULL, x, y, w, h,
+			      SWP_NOZORDER | SWP_NOACTIVATE | SWP_SHOWWINDOW);
 }
 
     void
@@ -1194,17 +1194,20 @@ GetFontSize(GuiFont font)
 
     gui.char_height = tm.tmHeight
 #ifndef MSWIN16_FASTTEXT
-	+ p_linespace
+				+ p_linespace
 #endif
-	;
+				;
 
     SelectFont(hdc, hfntOld);
 
     ReleaseDC(hwnd, hdc);
 }
 
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
     int
-gui_mch_adjust_charsize(void)
+gui_mch_adjust_charheight(void)
 {
     GetFontSize(gui.norm_font);
     return OK;
--- a/src/option.c
+++ b/src/option.c
@@ -7107,7 +7107,9 @@ set_num_option(opt_idx, varp, value, err
 #ifdef FEAT_GUI
     else if (pp == &p_linespace)
     {
-	if (gui.in_use && gui_mch_adjust_charsize() == OK)
+	/* Recompute gui.char_height and resize the Vim window to keep the
+	 * same number of lines. */
+	if (gui.in_use && gui_mch_adjust_charheight() == OK)
 	    gui_set_shellsize(FALSE, FALSE);
     }
 #endif
--- a/src/os_mac.c
+++ b/src/os_mac.c
@@ -55,7 +55,7 @@ mch_chdir(char *p_name)
  * in `path'.  Called by mch_expandpath().
  * "path" has backslashes before chars that are not to be expanded.
  */
-    int
+    static int
 mac_expandpath(
     garray_T	*gap,
     char_u	*path,
@@ -109,8 +109,7 @@ mac_expandpath(
 	{
 	    if (e)
 		break;
-	    else
-		s = p + 1;
+	    s = p + 1;
 	}
 	/* should use  WILCARDLIST but what about ` */
 	/*	    if (vim_strchr((char_u *)"*?[{~$", *path) != NULL)*/
@@ -134,12 +133,10 @@ mac_expandpath(
     /* now we have one wildcard component between s and e */
     *e = NUL;
 
-#if 1
     dany = *s;
     *s = NUL;
     backslash_halve(buf);
     *s = dany;
-#endif
 
     /* convert the file pattern to a regexp pattern */
     pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
@@ -207,7 +204,7 @@ mac_expandpath(
 	gMyCPB.hFileInfo.ioFDirIndex = index;
 	gMyCPB.hFileInfo.ioDirID     = dirID;
 
-	gErr = PBGetCatInfo(&gMyCPB,false);
+	gErr = PBGetCatInfo(&gMyCPB, false);
 
 	if (gErr == noErr)
 	{
@@ -237,12 +234,14 @@ mac_expandpath(
 		    addfile(gap, buf, flags);
 		}
 	    }
-	    if ((gMyCPB.hFileInfo.ioFlAttrib & ioDirMask) !=0 )
+#if 0	/* What is this supposed to do? */
+	    if ((gMyCPB.hFileInfo.ioFlAttrib & ioDirMask) != 0)
 	    {
 	    }
 	    else
 	    {
 	    }
+#endif
 	}
 	index++;
     }
@@ -254,7 +253,7 @@ mac_expandpath(
 	do
 	{
 	    gMyHPBlock.volumeParam.ioNamePtr = (char_u *) dirname;
-	    gMyHPBlock.volumeParam.ioVRefNum =0;
+	    gMyHPBlock.volumeParam.ioVRefNum = 0;
 	    gMyHPBlock.volumeParam.ioVolIndex = index;
 
 	    gErr = PBHGetVInfo (&gMyHPBlock,false);
@@ -291,164 +290,6 @@ mac_expandpath(
     return gap->ga_len - start_len;
 }
 
-
-#ifdef USE_UNIXFILENAME
-    static int
-pstrcmp(a, b)
-    const void *a, *b;
-{
-    return (pathcmp(*(char **)a, *(char **)b, -1));
-}
-
-    static int
-unix_expandpath(gap, path, wildoff, flags)
-    garray_T	*gap;
-    char_u	*path;
-    int		wildoff;
-    int		flags;		/* EW_* flags */
-{
-    char_u	*buf;
-    char_u	*path_end;
-    char_u	*p, *s, *e;
-    int		start_len, c;
-    char_u	*pat;
-    DIR		*dirp;
-    regmatch_T	regmatch;
-    struct dirent *dp;
-    int		starts_with_dot;
-    int		matches;
-    int		len;
-
-    start_len = gap->ga_len;
-    buf = alloc(STRLEN(path) + BASENAMELEN + 5);/* make room for file name */
-    if (buf == NULL)
-	return 0;
-
-/*
- * Find the first part in the path name that contains a wildcard.
- * Copy it into buf, including the preceding characters.
- */
-    p = buf;
-    s = buf;
-    e = NULL;
-    path_end = path;
-    while (*path_end)
-    {
-	/* May ignore a wildcard that has a backslash before it */
-	if (path_end >= path + wildoff && rem_backslash(path_end))
-	    *p++ = *path_end++;
-	else if (*path_end == '/')
-	{
-	    if (e != NULL)
-		break;
-	    else
-		s = p + 1;
-	}
-	else if (vim_strchr((char_u *)"*?[{~$", *path_end) != NULL)
-	    e = p;
-#ifdef FEAT_MBYTE
-	if (has_mbyte)
-	{
-	    len = (*mb_ptr2len_check)(path_end);
-	    STRNCPY(p, path_end, len);
-	    p += len;
-	    path_end += len;
-	}
-	else
-#endif
-	    *p++ = *path_end++;
-    }
-    e = p;
-    *e = NUL;
-
-    /* now we have one wildcard component between s and e */
-    /* Remove backslashes between "wildoff" and the start of the wildcard
-     * component. */
-    for (p = buf + wildoff; p < s; ++p)
-	if (rem_backslash(p))
-	{
-	    STRCPY(p, p + 1);
-	    --e;
-	    --s;
-	}
-
-    /* convert the file pattern to a regexp pattern */
-    starts_with_dot = (*s == '.');
-    pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
-    if (pat == NULL)
-    {
-	vim_free(buf);
-	return 0;
-    }
-
-    /* compile the regexp into a program */
-#ifdef MACOS_X
-    /* We want to behave like Terminal.app */
-    regmatch.rm_ic = TRUE;
-#else
-    regmatch.rm_ic = FALSE;		/* Don't ever ignore case */
-#endif
-    regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-    vim_free(pat);
-
-    if (regmatch.regprog == NULL)
-    {
-	vim_free(buf);
-	return 0;
-    }
-
-    /* open the directory for scanning */
-    c = *s;
-    *s = NUL;
-    dirp = opendir(*buf == NUL ? "." : (char *)buf);
-    *s = c;
-
-    /* Find all matching entries */
-    if (dirp != NULL)
-    {
-	for (;;)
-	{
-	    dp = readdir(dirp);
-	    if (dp == NULL)
-		break;
-	    if ((dp->d_name[0] != '.' || starts_with_dot)
-		    && vim_regexec(&regmatch, (char_u *)dp->d_name, (colnr_T)0))
-	    {
-		STRCPY(s, dp->d_name);
-		len = STRLEN(buf);
-		STRCPY(buf + len, path_end);
-		if (mch_has_exp_wildcard(path_end)) /* handle more wildcards */
-		{
-		    /* need to expand another component of the path */
-		    /* remove backslashes for the remaining components only */
-		    (void)unix_expandpath(gap, buf, len + 1, flags);
-		}
-		else
-		{
-		    /* no more wildcards, check if there is a match */
-		    /* remove backslashes for the remaining components only */
-		    if (*path_end)
-			backslash_halve(buf + len + 1);
-		    if (mch_getperm(buf) >= 0)	/* add existing file */
-			addfile(gap, buf, flags);
-		}
-	    }
-	}
-
-	closedir(dirp);
-    }
-
-    vim_free(buf);
-    vim_free(regmatch.regprog);
-
-    matches = gap->ga_len - start_len;
-    if (matches)
-	qsort(((char_u **)gap->ga_data) + start_len, matches,
-						   sizeof(char_u *), pstrcmp);
-    return matches;
-}
-#endif
-
 /*
  * Recursively build up a list of files in "gap" matching the first wildcard
  * in `path'.  Called by expand_wildcards().
@@ -461,7 +302,7 @@ mch_expandpath(
     int		flags)		/* EW_* flags */
 {
 #ifdef USE_UNIXFILENAME
-    return unix_expandpath(gap, path, 0, flags);
+    return unix_expandpath(gap, path, 0, flags, FALSE);
 #else
     char_u first = *path;
     short  scan_volume;
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -174,8 +174,6 @@ static int  have_dollars __ARGS((int, ch
 #endif
 
 #ifndef NO_EXPANDPATH
-static int	pstrcmp __ARGS((const void *, const void *));
-static int	unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags));
 # if defined(MACOS_X) && defined(FEAT_MBYTE)
 extern char_u	*mac_precompose_path __ARGS((char_u *decompPath, size_t decompLen, size_t *precompLen));
 # endif
@@ -4735,19 +4733,11 @@ RealWaitForChar(fd, msec, check_for_gpm)
 #ifndef VMS
 
 #ifndef NO_EXPANDPATH
-    static int
-pstrcmp(a, b)
-    const void *a, *b;
-{
-    return (pathcmp(*(char **)a, *(char **)b, -1));
-}
-
 /*
- * Recursively expand one path component into all matching files and/or
- * directories.
- * "path" has backslashes before chars that are not to be expanded, starting
- * at "path + wildoff".
- * Return the number of matches found.
+ * Expand a path into all matching files and/or directories.  Handles "*",
+ * "?", "[a-z]", "**", etc.
+ * "path" has backslashes before chars that are not to be expanded.
+ * Returns the number of matches found.
  */
     int
 mch_expandpath(gap, path, flags)
@@ -4755,167 +4745,7 @@ mch_expandpath(gap, path, flags)
     char_u	*path;
     int		flags;		/* EW_* flags */
 {
-    return unix_expandpath(gap, path, 0, flags);
-}
-
-    static int
-unix_expandpath(gap, path, wildoff, flags)
-    garray_T	*gap;
-    char_u	*path;
-    int		wildoff;
-    int		flags;		/* EW_* flags */
-{
-    char_u	*buf;
-    char_u	*path_end;
-    char_u	*p, *s, *e;
-    int		start_len, c;
-    char_u	*pat;
-    DIR		*dirp;
-    regmatch_T	regmatch;
-    struct dirent *dp;
-    int		starts_with_dot;
-    int		matches;
-    int		len;
-
-    start_len = gap->ga_len;
-    buf = alloc(STRLEN(path) + BASENAMELEN + 5);/* make room for file name */
-    if (buf == NULL)
-	return 0;
-
-/*
- * Find the first part in the path name that contains a wildcard.
- * Copy it into buf, including the preceding characters.
- */
-    p = buf;
-    s = buf;
-    e = NULL;
-    path_end = path;
-    while (*path_end != NUL)
-    {
-	/* May ignore a wildcard that has a backslash before it; it will
-	 * be removed by rem_backslash() or file_pat_to_reg_pat() below. */
-	if (path_end >= path + wildoff && rem_backslash(path_end))
-	    *p++ = *path_end++;
-	else if (*path_end == '/')
-	{
-	    if (e != NULL)
-		break;
-	    s = p + 1;
-	}
-	else if (path_end >= path + wildoff
-			 && vim_strchr((char_u *)"*?[{~$", *path_end) != NULL)
-	    e = p;
-#ifdef FEAT_MBYTE
-	if (has_mbyte)
-	{
-	    len = (*mb_ptr2len_check)(path_end);
-	    STRNCPY(p, path_end, len);
-	    p += len;
-	    path_end += len;
-	}
-	else
-#endif
-	    *p++ = *path_end++;
-    }
-    e = p;
-    *e = NUL;
-
-    /* now we have one wildcard component between s and e */
-    /* Remove backslashes between "wildoff" and the start of the wildcard
-     * component. */
-    for (p = buf + wildoff; p < s; ++p)
-	if (rem_backslash(p))
-	{
-	    STRCPY(p, p + 1);
-	    --e;
-	    --s;
-	}
-
-    /* convert the file pattern to a regexp pattern */
-    starts_with_dot = (*s == '.');
-    pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
-    if (pat == NULL)
-    {
-	vim_free(buf);
-	return 0;
-    }
-
-    /* compile the regexp into a program */
-#ifdef MACOS_X /* Can/Should we use CASE_INSENSITIVE_FILENAME instead ?*/
-    regmatch.rm_ic = TRUE;		/* Behave like Terminal.app */
-#else
-    regmatch.rm_ic = FALSE;		/* Don't ever ignore case */
-#endif
-    regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-    vim_free(pat);
-
-    if (regmatch.regprog == NULL)
-    {
-	vim_free(buf);
-	return 0;
-    }
-
-    /* open the directory for scanning */
-    c = *s;
-    *s = NUL;
-    dirp = opendir(*buf == NUL ? "." : (char *)buf);
-    *s = c;
-
-    /* Find all matching entries */
-    if (dirp != NULL)
-    {
-	for (;;)
-	{
-	    dp = readdir(dirp);
-	    if (dp == NULL)
-		break;
-	    if ((dp->d_name[0] != '.' || starts_with_dot)
-		    && vim_regexec(&regmatch, (char_u *)dp->d_name, (colnr_T)0))
-	    {
-		STRCPY(s, dp->d_name);
-		len = STRLEN(buf);
-		STRCPY(buf + len, path_end);
-		if (mch_has_exp_wildcard(path_end)) /* handle more wildcards */
-		{
-		    /* need to expand another component of the path */
-		    /* remove backslashes for the remaining components only */
-		    (void)unix_expandpath(gap, buf, len + 1, flags);
-		}
-		else
-		{
-		    /* no more wildcards, check if there is a match */
-		    /* remove backslashes for the remaining components only */
-		    if (*path_end != NUL)
-			backslash_halve(buf + len + 1);
-		    if (mch_getperm(buf) >= 0)	/* add existing file */
-		    {
-#if defined(MACOS_X) && defined(FEAT_MBYTE)
-			size_t precomp_len = STRLEN(buf)+1;
-			char_u *precomp_buf =
-			    mac_precompose_path(buf, precomp_len, &precomp_len);
-			if (precomp_buf)
-			{
-			    mch_memmove(buf, precomp_buf, precomp_len);
-			    vim_free(precomp_buf);
-			}
-#endif
-			addfile(gap, buf, flags);
-		    }
-		}
-	    }
-	}
-
-	closedir(dirp);
-    }
-
-    vim_free(buf);
-    vim_free(regmatch.regprog);
-
-    matches = gap->ga_len - start_len;
-    if (matches > 0)
-	qsort(((char_u **)gap->ga_data) + start_len, matches,
-						   sizeof(char_u *), pstrcmp);
-    return matches;
+    return unix_expandpath(gap, path, 0, flags, FALSE);
 }
 #endif
 
--- a/src/proto/gui_gtk_x11.pro
+++ b/src/proto/gui_gtk_x11.pro
@@ -17,7 +17,7 @@ void gui_mch_get_screen_dimensions __ARG
 void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
 void gui_mch_enable_menu __ARGS((int showit));
 void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int report_error, int fixed_width));
 char_u *gui_mch_font_dialog __ARGS((char_u *oldval));
 int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
--- a/src/proto/gui_kde_x11.pro
+++ b/src/proto/gui_kde_x11.pro
@@ -14,7 +14,7 @@ void gui_mch_set_shellsize __ARGS((int w
 void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
 void gui_mch_enable_menu __ARGS((int flag));
 void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int report_error, int fixed_width));
 int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
 GuiFont gui_mch_get_font __ARGS((char_u *name, int report_error));
--- a/src/proto/gui_mac.pro
+++ b/src/proto/gui_mac.pro
@@ -36,7 +36,7 @@ void gui_mch_set_scrollbar_thumb __ARGS(
 void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
 void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
 void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
 GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
 char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
--- a/src/proto/gui_photon.pro
+++ b/src/proto/gui_photon.pro
@@ -59,7 +59,7 @@ void gui_mch_show_popupmenu __ARGS((vimm
 void gui_mch_toggle_tearoffs __ARGS((int enable));
 void gui_mch_show_toolbar __ARGS((int showit));
 int gui_mch_init_font __ARGS((char_u *vim_font_name, int fontset));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 GuiFont gui_mch_get_font __ARGS((char_u *vim_font_name, int report_error));
 char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
 void gui_mch_set_font __ARGS((GuiFont font));
--- a/src/proto/gui_w16.pro
+++ b/src/proto/gui_w16.pro
@@ -12,7 +12,7 @@ void gui_mch_set_text_area_pos __ARGS((i
 void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
 void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
 void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
 char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
 void gui_mch_free_font __ARGS((GuiFont font));
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -12,7 +12,7 @@ void gui_mch_set_text_area_pos __ARGS((i
 void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
 void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
 void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-int gui_mch_adjust_charsize __ARGS((void));
+int gui_mch_adjust_charheight __ARGS((void));
 GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
 char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
 void gui_mch_free_font __ARGS((GuiFont font));
--- a/src/proto/os_mac.pro
+++ b/src/proto/os_mac.pro
@@ -36,7 +36,6 @@ int stat __ARGS((char *p, struct stat *p
 int mch_call_shell __ARGS((char_u *cmd, int options));
 int mch_has_wildcard __ARGS((char_u *s));
 int mch_expandpath __ARGS((struct growarray *gap, char_u *path, int flags));
-int mac_expandpath __ARGS((struct growarray *gap, char_u *path, int flags, short start_at, short as_full));
 /*int vim_chdir __ARGS((char *path));*/
 void mch_delay __ARGS((long msec, int ignoreinput));
 void mch_breakcheck __ARGS((void));
--- 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 (2005 Jul 24)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 24, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 25)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 25, compiled "