summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/editing.txt24
-rw-r--r--runtime/doc/eval.txt20
-rw-r--r--runtime/doc/tags3
-rw-r--r--runtime/syntax/wget.vim251
-rw-r--r--src/Make_mvc.mak3
-rw-r--r--src/fileio.c2
-rw-r--r--src/gui.c8
-rw-r--r--src/gui.h5
-rw-r--r--src/gui_kde_x11.cc5
-rw-r--r--src/gui_mac.c27
-rw-r--r--src/gui_photon.c5
-rw-r--r--src/gui_riscos.c16
-rw-r--r--src/gui_w48.c13
-rw-r--r--src/option.c4
-rw-r--r--src/os_mac.c175
-rw-r--r--src/os_unix.c180
-rw-r--r--src/proto/gui_gtk_x11.pro2
-rw-r--r--src/proto/gui_kde_x11.pro2
-rw-r--r--src/proto/gui_mac.pro2
-rw-r--r--src/proto/gui_photon.pro2
-rw-r--r--src/proto/gui_w16.pro2
-rw-r--r--src/proto/gui_w32.pro2
-rw-r--r--src/proto/os_mac.pro1
-rw-r--r--src/version.h4
24 files changed, 249 insertions, 509 deletions
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index fedaba5ed0..5f75a0c749 100644
--- 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 escaped with a backslash.
*wildcard*
Wildcards in {file} are expanded. Which wildcards are supported depends on
the system. These are the common ones:
- * matches anything, including nothing
? matches one character
+ * matches anything, including nothing
+ ** 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 @@ problem goes away the next day.
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.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index a37fa54c04..0030e3f5ea 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 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).
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 6c61c24a84..fffaa339dd 100644
--- 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-plugin*
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*
diff --git a/runtime/syntax/wget.vim b/runtime/syntax/wget.vim
index 88df690793..de8f558f9c 100644
--- 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_syn_inits")
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
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index e4b3446282..164ed50d45 100644
--- 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
diff --git a/src/fileio.c b/src/fileio.c
index 460e389932..7e14155ece 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -8937,6 +8937,8 @@ file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash)
case '*':
reg_pat[i++] = '.';
reg_pat[i++] = '*';
+ while (p[1] == '*') /* "**" matches like "*" */
+ ++p;
break;
case '.':
#ifdef RISCOS
diff --git a/src/gui.c b/src/gui.c
index e955869c48..f0a595885c 100644
--- 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
diff --git a/src/gui.h b/src/gui.h
index 646be9758c..ce21a7e199 100644
--- 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 */
diff --git a/src/gui_kde_x11.cc b/src/gui_kde_x11.cc
index 21969c5861..6a1d99ab02 100644
--- 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);
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 8f54249595..f01dc86f33 100644
--- 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.
*/
}
diff --git a/src/gui_photon.c b/src/gui_photon.c
index 293debe378..fa7dc92fc1 100644
--- a/src/gui_photon.c
+++ b/src/gui_photon.c
@@ -3004,8 +3004,11 @@ gui_mch_init_font(char_u *vim_font_name, int fontset)
return( OK );
}
+/*
+ * Adjust gui.char_height (after 'linespace' was changed).
+ */
int
-gui_mch_adjust_charsize(void)
+gui_mch_adjust_charheight(void)
{
FontQueryInfo info;
diff --git a/src/gui_riscos.c b/src/gui_riscos.c
index 2f334191c2..a5d54bd3b9 100644
--- a/src/gui_riscos.c
+++ b/src/gui_riscos.c
@@ -1022,8 +1022,11 @@ gui_mch_init_font(char_u *font_name, int fontset)
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.
*/
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 9a0247f4da..5649aeb18c 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -1113,7 +1113,6 @@ gui_mch_set_text_area_pos(int x, int y, int w, int h)
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;
diff --git a/src/option.c b/src/option.c
index 940c6e7681..e177216263 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7107,7 +7107,9 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
#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
diff --git a/src/os_mac.c b/src/os_mac.c
index 4a3014ba5c..64f0e0919d 100644
--- 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)