mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
updated for version 7.0116
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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 */
|
||||
|
@@ -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);
|
||||
|
@@ -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.
|
||||
*/
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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.
|
||||
*/
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
175
src/os_mac.c
175
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(®match, (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;
|
||||
|
180
src/os_unix.c
180
src/os_unix.c
@@ -174,8 +174,6 @@ static int have_dollars __ARGS((int, char_u **));
|
||||
#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(®match, (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
|
||||
|
||||
|
@@ -17,7 +17,7 @@ void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
|
||||
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));
|
||||
|
@@ -14,7 +14,7 @@ void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min
|
||||
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));
|
||||
|
@@ -36,7 +36,7 @@ void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, l
|
||||
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));
|
||||
|
@@ -59,7 +59,7 @@ void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
|
||||
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));
|
||||
|
@@ -12,7 +12,7 @@ void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
|
||||
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));
|
||||
|
@@ -12,7 +12,7 @@ void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
|
||||
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));
|
||||
|
@@ -36,7 +36,6 @@ int stat __ARGS((char *p, struct stat *p_st));
|
||||
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));
|
||||
|
@@ -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 "
|
||||
|
Reference in New Issue
Block a user