mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0116
This commit is contained in:
parent
027436338b
commit
231334e6ef
@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 May 20
|
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -334,6 +334,8 @@ advantages are:
|
|||||||
Examples: >
|
Examples: >
|
||||||
:vimgrep /an error/ *.c
|
:vimgrep /an error/ *.c
|
||||||
:vimgrep /\<FileName\>/ *.h include/*
|
:vimgrep /\<FileName\>/ *.h include/*
|
||||||
|
:vimgrep /myfunc/ **/*.c
|
||||||
|
< For the use of "**" see |starstar-wildcard|.
|
||||||
|
|
||||||
:vim[grep][!] {pattern} {file} ...
|
:vim[grep][!] {pattern} {file} ...
|
||||||
Like above, but instead of enclosing the pattern in a
|
Like above, but instead of enclosing the pattern in a
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 24
|
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -52,18 +52,12 @@ Awaiting response:
|
|||||||
- Win32: tearoff menu window should have a scrollbar when it's taller than
|
- Win32: tearoff menu window should have a scrollbar when it's taller than
|
||||||
the screen.
|
the screen.
|
||||||
- mblen(NULL, 0) also in Vim 6.3?
|
- mblen(NULL, 0) also in Vim 6.3?
|
||||||
|
- Win32: Crash when pasting Simplified Chinese in utf-8. (rainux, 2005 June
|
||||||
Win32: Crash when pasting Simplified Chinese in utf-8. (rainux, 2005 June 20)
|
20)
|
||||||
|
|
||||||
|
|
||||||
PLANNED FOR VERSION 7.0:
|
PLANNED FOR VERSION 7.0:
|
||||||
|
|
||||||
- REFACTORING:
|
|
||||||
Improve the interface between the generic GUI code and the system-specific
|
|
||||||
code. Generic code handles text window with scrollbars, system-specific
|
|
||||||
code menu, toolbar, etc.
|
|
||||||
- Support using "**" in filename for ":next", ":vimgrep", etc., so that a
|
|
||||||
directory tree can be searched.
|
|
||||||
- Store messages to allow SCROLLING BACK for all commands. And other "less"
|
- Store messages to allow SCROLLING BACK for all commands. And other "less"
|
||||||
like commands.
|
like commands.
|
||||||
- "INTELLISENSE". First cleanup the Insert-mode completion.
|
- "INTELLISENSE". First cleanup the Insert-mode completion.
|
||||||
@ -313,6 +307,7 @@ Awaiting updated patches:
|
|||||||
(2003 May 13)
|
(2003 May 13)
|
||||||
raisewin() raise gvim window (see HierAssist patch for
|
raisewin() raise gvim window (see HierAssist patch for
|
||||||
Tcl implementation ~/vim/HierAssist/ )
|
Tcl implementation ~/vim/HierAssist/ )
|
||||||
|
7 Make globpath() also work with upwards search. (Brian Medley)
|
||||||
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
|
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
|
||||||
better. Now also works for Ruby (2001 Nov 10)
|
better. Now also works for Ruby (2001 Nov 10)
|
||||||
- Patch from Herculano de Lima Einloft Neto for better formatting of the
|
- Patch from Herculano de Lima Einloft Neto for better formatting of the
|
||||||
@ -1573,7 +1568,6 @@ Built-in script language:
|
|||||||
Alternative: Support packages. {package-name}:{function-name}().
|
Alternative: Support packages. {package-name}:{function-name}().
|
||||||
Packages are loaded automatically when first used, from
|
Packages are loaded automatically when first used, from
|
||||||
$VIMRUNTIME/packages (or use a search path).
|
$VIMRUNTIME/packages (or use a search path).
|
||||||
7 Make globpath() also work with "**" and upwards search. (Brian Medley)
|
|
||||||
7 Add the markclear() function to delete a mark in another buffer. Charles
|
7 Add the markclear() function to delete a mark in another buffer. Charles
|
||||||
Campbell (2004 Jan 9)
|
Campbell (2004 Jan 9)
|
||||||
http://mysite.verizon.net/astronaut/vim/index.html#Patch
|
http://mysite.verizon.net/astronaut/vim/index.html#Patch
|
||||||
@ -3156,7 +3150,6 @@ Various improvements:
|
|||||||
9 Support ACLs on more systems.
|
9 Support ACLs on more systems.
|
||||||
7 Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be
|
7 Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be
|
||||||
highlighted differently.
|
highlighted differently.
|
||||||
8 Allow using "**" as a wildcard in commands like ":next" and ":args".
|
|
||||||
7 Add a message area for the user. Set some option to reserve space (above
|
7 Add a message area for the user. Set some option to reserve space (above
|
||||||
the command line?). Use an ":echouser" command to display the message
|
the command line?). Use an ":echouser" command to display the message
|
||||||
(truncated to fit in the space).
|
(truncated to fit in the space).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jul 21
|
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -222,6 +222,10 @@ patterns, this also allows grepping in compressed and remote files.
|
|||||||
If you want to use the search results in a script you can use the
|
If you want to use the search results in a script you can use the
|
||||||
|getqflist()| function.
|
|getqflist()| function.
|
||||||
|
|
||||||
|
To search in files in various directories the "**" pattern can be used. It
|
||||||
|
expands into an arbitrary depth of directories. "**" can be used in all
|
||||||
|
places where file names are expanded, thus also with |:next| and |:args|.
|
||||||
|
|
||||||
|
|
||||||
POSIX compatibility *new-posix*
|
POSIX compatibility *new-posix*
|
||||||
-------------------
|
-------------------
|
||||||
@ -614,7 +618,7 @@ invalid characters after the register name. |:redir|
|
|||||||
":redir => variable" and ":redir =>> variable" write or append to a variable.
|
":redir => variable" and ":redir =>> variable" write or append to a variable.
|
||||||
(Yegappan Lakshmanan) |:redir|
|
(Yegappan Lakshmanan) |:redir|
|
||||||
|
|
||||||
":redir @{a-z}>>" appends to register a to z.
|
":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan)
|
||||||
|
|
||||||
The 'verbosefile' option can be used to log messages in a file. Verbose
|
The 'verbosefile' option can be used to log messages in a file. Verbose
|
||||||
messages are not displayed then. The "-V{filename}" argument can be used to
|
messages are not displayed then. The "-V{filename}" argument can be used to
|
||||||
@ -693,11 +697,15 @@ prepending "8bit-".
|
|||||||
|
|
||||||
Added the "customlist" completion argument to a user-defined command. The
|
Added the "customlist" completion argument to a user-defined command. The
|
||||||
user-defined completion function should return the completion candidates as a
|
user-defined completion function should return the completion candidates as a
|
||||||
Vim List and the returned results are not filtered by Vim.
|
Vim List and the returned results are not filtered by Vim. (Yegappan
|
||||||
|
Lakshmanan)
|
||||||
|
|
||||||
Win32: Balloons can have multiple lines if common controls supports it.
|
Win32: Balloons can have multiple lines if common controls supports it.
|
||||||
(Sergey Khorev)
|
(Sergey Khorev)
|
||||||
|
|
||||||
|
The 's' flag is added to the search() and searchpair() function to set the
|
||||||
|
' mark if the cursor is moved. (Yegappan Lakshmanan)
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
COMPILE TIME CHANGES *compile-changes-7*
|
COMPILE TIME CHANGES *compile-changes-7*
|
||||||
|
|
||||||
@ -720,6 +728,15 @@ to detect memory leaks. Some memory will always reported as leaked, such as
|
|||||||
allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
|
allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
|
||||||
to store the ":quit" command.
|
to store the ":quit" command.
|
||||||
|
|
||||||
|
Moved the code for printing to src/hardcopy.c.
|
||||||
|
|
||||||
|
Moved some code from main() to separate functions to make it easier to see
|
||||||
|
what is being done. Use a structure to avoid a lot of arguments to the
|
||||||
|
functions.
|
||||||
|
|
||||||
|
Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
|
||||||
|
without copying the code.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
BUG FIXES *bug-fixes-7*
|
BUG FIXES *bug-fixes-7*
|
||||||
|
|
||||||
|
23
src/eval.c
23
src/eval.c
@ -12724,6 +12724,7 @@ f_reverse(argvars, rettv)
|
|||||||
#define SP_NOMOVE 1 /* don't move cursor */
|
#define SP_NOMOVE 1 /* don't move cursor */
|
||||||
#define SP_REPEAT 2 /* repeat to find outer pair */
|
#define SP_REPEAT 2 /* repeat to find outer pair */
|
||||||
#define SP_RETCOUNT 4 /* return matchcount */
|
#define SP_RETCOUNT 4 /* return matchcount */
|
||||||
|
#define SP_SETPCMARK 8 /* set previous context mark */
|
||||||
|
|
||||||
static int get_search_arg __ARGS((typval_T *varp, int *flagsp));
|
static int get_search_arg __ARGS((typval_T *varp, int *flagsp));
|
||||||
|
|
||||||
@ -12761,6 +12762,7 @@ get_search_arg(varp, flagsp)
|
|||||||
case 'n': mask = SP_NOMOVE; break;
|
case 'n': mask = SP_NOMOVE; break;
|
||||||
case 'r': mask = SP_REPEAT; break;
|
case 'r': mask = SP_REPEAT; break;
|
||||||
case 'm': mask = SP_RETCOUNT; break;
|
case 'm': mask = SP_RETCOUNT; break;
|
||||||
|
case 's': mask = SP_SETPCMARK; break;
|
||||||
}
|
}
|
||||||
if (mask == 0)
|
if (mask == 0)
|
||||||
{
|
{
|
||||||
@ -12799,7 +12801,14 @@ f_search(argvars, rettv)
|
|||||||
dir = get_search_arg(&argvars[1], &flags); /* may set p_ws */
|
dir = get_search_arg(&argvars[1], &flags); /* may set p_ws */
|
||||||
if (dir == 0)
|
if (dir == 0)
|
||||||
goto theend;
|
goto theend;
|
||||||
if ((flags & ~SP_NOMOVE) != 0)
|
/*
|
||||||
|
* This function accepts only SP_NOMOVE and SP_SETPCMARK flags.
|
||||||
|
* Check to make sure only those flags are set.
|
||||||
|
* Also, Only the SP_NOMOVE or the SP_SETPCMARK flag can be set. Both
|
||||||
|
* flags cannot be set. Check for that condition also.
|
||||||
|
*/
|
||||||
|
if (((flags & ~(SP_NOMOVE | SP_SETPCMARK)) != 0) ||
|
||||||
|
((flags & SP_NOMOVE) && (flags & SP_SETPCMARK)))
|
||||||
{
|
{
|
||||||
EMSG2(_(e_invarg2), get_tv_string(&argvars[1]));
|
EMSG2(_(e_invarg2), get_tv_string(&argvars[1]));
|
||||||
goto theend;
|
goto theend;
|
||||||
@ -12810,6 +12819,8 @@ f_search(argvars, rettv)
|
|||||||
SEARCH_KEEP, RE_SEARCH) != FAIL)
|
SEARCH_KEEP, RE_SEARCH) != FAIL)
|
||||||
{
|
{
|
||||||
rettv->vval.v_number = pos.lnum;
|
rettv->vval.v_number = pos.lnum;
|
||||||
|
if (flags & SP_SETPCMARK)
|
||||||
|
setpcmark();
|
||||||
curwin->w_cursor = pos;
|
curwin->w_cursor = pos;
|
||||||
/* "/$" will put the cursor after the end of the line, may need to
|
/* "/$" will put the cursor after the end of the line, may need to
|
||||||
* correct that here */
|
* correct that here */
|
||||||
@ -12853,6 +12864,14 @@ f_searchpair(argvars, rettv)
|
|||||||
dir = get_search_arg(&argvars[3], &flags); /* may set p_ws */
|
dir = get_search_arg(&argvars[3], &flags); /* may set p_ws */
|
||||||
if (dir == 0)
|
if (dir == 0)
|
||||||
goto theend;
|
goto theend;
|
||||||
|
/*
|
||||||
|
* Only one of the SP_NOMOVE or SP_SETPCMARK flags can be set.
|
||||||
|
*/
|
||||||
|
if ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK))
|
||||||
|
{
|
||||||
|
EMSG2(_(e_invarg2), get_tv_string(&argvars[1]));
|
||||||
|
goto theend;
|
||||||
|
}
|
||||||
|
|
||||||
/* Optional fifth argument: skip expresion */
|
/* Optional fifth argument: skip expresion */
|
||||||
if (argvars[3].v_type == VAR_UNKNOWN
|
if (argvars[3].v_type == VAR_UNKNOWN
|
||||||
@ -12980,6 +12999,8 @@ do_searchpair(spat, mpat, epat, dir, skip, flags)
|
|||||||
++retval;
|
++retval;
|
||||||
else
|
else
|
||||||
retval = pos.lnum;
|
retval = pos.lnum;
|
||||||
|
if (flags & SP_SETPCMARK)
|
||||||
|
setpcmark();
|
||||||
curwin->w_cursor = pos;
|
curwin->w_cursor = pos;
|
||||||
if (!(flags & SP_REPEAT))
|
if (!(flags & SP_REPEAT))
|
||||||
break;
|
break;
|
||||||
|
@ -5369,13 +5369,15 @@ find_help_tags(arg, num_matches, matches, keep_lang)
|
|||||||
char_u *s, *d;
|
char_u *s, *d;
|
||||||
int i;
|
int i;
|
||||||
static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
|
static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
|
||||||
"/*", "/\\*", "\"*", "/\\(\\)",
|
"/*", "/\\*", "\"*", "**",
|
||||||
|
"/\\(\\)",
|
||||||
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
||||||
"/\\?", "/\\z(\\)", "\\=", ":s\\=",
|
"/\\?", "/\\z(\\)", "\\=", ":s\\=",
|
||||||
"[count]", "[quotex]", "[range]",
|
"[count]", "[quotex]", "[range]",
|
||||||
"[pattern]", "\\|", "\\%$"};
|
"[pattern]", "\\|", "\\%$"};
|
||||||
static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
|
static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
|
||||||
"/star", "/\\\\star", "quotestar", "/\\\\(\\\\)",
|
"/star", "/\\\\star", "quotestar", "starstar",
|
||||||
|
"/\\\\(\\\\)",
|
||||||
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
"?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
|
||||||
"/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
|
"/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
|
||||||
"\\[count]", "\\[quotex]", "\\[range]",
|
"\\[count]", "\\[quotex]", "\\[range]",
|
||||||
|
@ -4066,8 +4066,11 @@ is_cjk_font(PangoFontDescription *font_desc)
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_GTK2 */
|
#endif /* HAVE_GTK2 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adjust gui.char_height (after 'linespace' was changed).
|
||||||
|
*/
|
||||||
int
|
int
|
||||||
gui_mch_adjust_charsize(void)
|
gui_mch_adjust_charheight(void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_GTK2
|
#ifdef HAVE_GTK2
|
||||||
PangoFontMetrics *metrics;
|
PangoFontMetrics *metrics;
|
||||||
@ -4553,7 +4556,7 @@ gui_mch_init_font(char_u *font_name, int fontset)
|
|||||||
if (gui.char_width <= 0)
|
if (gui.char_width <= 0)
|
||||||
gui.char_width = 8;
|
gui.char_width = 8;
|
||||||
|
|
||||||
gui_mch_adjust_charsize();
|
gui_mch_adjust_charheight();
|
||||||
|
|
||||||
/* Set the fontname, which will be used for information purposes */
|
/* Set the fontname, which will be used for information purposes */
|
||||||
hl_set_font_name(font_name);
|
hl_set_font_name(font_name);
|
||||||
|
@ -632,15 +632,14 @@ gui_x11_expose_cb(w, dud, event, dum)
|
|||||||
#if (defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)) \
|
#if (defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)) \
|
||||||
|| defined(PROTO)
|
|| defined(PROTO)
|
||||||
/*
|
/*
|
||||||
* This function fills in the XRectangle object with the current
|
* This function fills in the XRectangle object with the current x,y
|
||||||
* x,y coordinates and height, width so that an XtVaSetValues to
|
* coordinates and height, width so that an XtVaSetValues to the same shell of
|
||||||
* the same shell of those resources will restore the window to its
|
* those resources will restore the window to its formar position and
|
||||||
* formar position and dimensions.
|
* dimensions.
|
||||||
*
|
*
|
||||||
* Note: This function may fail, in which case the XRectangle will
|
* Note: This function may fail, in which case the XRectangle will be
|
||||||
* be unchanged. Be sure to have the XRectangle set with the
|
* unchanged. Be sure to have the XRectangle set with the proper values for a
|
||||||
* proper values for a failed condition prior to calling this
|
* failed condition prior to calling this function.
|
||||||
* function.
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
shellRectangle(Widget shell, XRectangle *r)
|
shellRectangle(Widget shell, XRectangle *r)
|
||||||
@ -1807,7 +1806,7 @@ gui_mch_set_shellsize(width, height, min_width, min_height,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allow 10 pixels for horizontal borders, 30 for vertical borders.
|
* Allow 10 pixels for horizontal borders, 'guiheadroom' for vertical borders.
|
||||||
* Is there no way in X to find out how wide the borders really are?
|
* Is there no way in X to find out how wide the borders really are?
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
@ -2019,8 +2018,11 @@ gui_mch_get_fontname(font, name)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adjust gui.char_height (after 'linespace' was changed).
|
||||||
|
*/
|
||||||
int
|
int
|
||||||
gui_mch_adjust_charsize()
|
gui_mch_adjust_charheight()
|
||||||
{
|
{
|
||||||
#ifdef FEAT_XFONTSET
|
#ifdef FEAT_XFONTSET
|
||||||
if (gui.fontset != NOFONTSET)
|
if (gui.fontset != NOFONTSET)
|
||||||
@ -2076,24 +2078,6 @@ gui_mch_set_fontset(fontset)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0 /* not used */
|
|
||||||
/*
|
|
||||||
* Return TRUE if the two fonts given are equivalent.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
gui_mch_same_font(f1, f2)
|
|
||||||
GuiFont f1;
|
|
||||||
GuiFont f2;
|
|
||||||
{
|
|
||||||
#ifdef FEAT_XFONTSET
|
|
||||||
if (gui.fontset != NULL)
|
|
||||||
return f1 == f2;
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
return ((XFontStruct *)f1)->fid == ((XFontStruct *)f2)->fid;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If a font is not going to be used, free its structure.
|
* If a font is not going to be used, free its structure.
|
||||||
*/
|
*/
|
||||||
|
47
src/main.c
47
src/main.c
@ -39,7 +39,6 @@ typedef struct
|
|||||||
char **argv;
|
char **argv;
|
||||||
|
|
||||||
int evim_mode; /* started as "evim" */
|
int evim_mode; /* started as "evim" */
|
||||||
int bin_mode; /* -b argument used */
|
|
||||||
char_u *use_vimrc; /* vimrc from -u argument */
|
char_u *use_vimrc; /* vimrc from -u argument */
|
||||||
|
|
||||||
int n_commands; /* no. of commands from + or -c */
|
int n_commands; /* no. of commands from + or -c */
|
||||||
@ -367,15 +366,6 @@ main
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* "-b" argument used. Check before expanding file names, because for
|
|
||||||
* Win32 this makes us edit a shortcut file itself, instead of the file it
|
|
||||||
* links to. */
|
|
||||||
if (params.bin_mode)
|
|
||||||
{
|
|
||||||
set_options_bin(curbuf->b_p_bin, 1, 0);
|
|
||||||
curbuf->b_p_bin = 1; /* binary file I/O */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GARGCOUNT > 0)
|
if (GARGCOUNT > 0)
|
||||||
{
|
{
|
||||||
#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
|
#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
|
||||||
@ -420,8 +410,13 @@ main
|
|||||||
TIME_MSG("expanding arguments");
|
TIME_MSG("expanding arguments");
|
||||||
|
|
||||||
#ifdef FEAT_DIFF
|
#ifdef FEAT_DIFF
|
||||||
if (params.diff_mode && params.window_count == -1)
|
if (params.diff_mode)
|
||||||
params.window_count = 0; /* open up to 3 files in a window */
|
{
|
||||||
|
if (params.window_count == -1)
|
||||||
|
params.window_count = 0; /* open up to 3 windows */
|
||||||
|
if (params.vert_windows == MAYBE)
|
||||||
|
params.vert_windows = TRUE; /* use vertical split */
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Don't redraw until much later. */
|
/* Don't redraw until much later. */
|
||||||
@ -1453,7 +1448,7 @@ command_line_scan(parmp)
|
|||||||
int had_minmin = FALSE; /* found "--" argument */
|
int had_minmin = FALSE; /* found "--" argument */
|
||||||
int want_argument; /* option argument with argument */
|
int want_argument; /* option argument with argument */
|
||||||
int c;
|
int c;
|
||||||
char_u *p;
|
char_u *p = NULL;
|
||||||
long n;
|
long n;
|
||||||
|
|
||||||
--argc;
|
--argc;
|
||||||
@ -1597,7 +1592,11 @@ command_line_scan(parmp)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'b': /* "-b" binary mode */
|
case 'b': /* "-b" binary mode */
|
||||||
parmp->bin_mode = TRUE; /* postpone to after reading .exrc files */
|
/* Needs to be effective before expanding file names, because
|
||||||
|
* for Win32 this makes us edit a shortcut file itself,
|
||||||
|
* instead of the file it links to. */
|
||||||
|
set_options_bin(curbuf->b_p_bin, 1, 0);
|
||||||
|
curbuf->b_p_bin = 1; /* binary file I/O */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'C': /* "-C" Compatible */
|
case 'C': /* "-C" Compatible */
|
||||||
@ -1691,7 +1690,8 @@ command_line_scan(parmp)
|
|||||||
case 'o': /* "-o[N]" open N horizontal split windows */
|
case 'o': /* "-o[N]" open N horizontal split windows */
|
||||||
#ifdef FEAT_WINDOWS
|
#ifdef FEAT_WINDOWS
|
||||||
/* default is 0: open window for each file */
|
/* default is 0: open window for each file */
|
||||||
parmp->window_count = get_number_arg((char_u *)argv[0], &argv_idx, 0);
|
parmp->window_count = get_number_arg((char_u *)argv[0],
|
||||||
|
&argv_idx, 0);
|
||||||
parmp->vert_windows = FALSE;
|
parmp->vert_windows = FALSE;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@ -1699,7 +1699,8 @@ command_line_scan(parmp)
|
|||||||
case 'O': /* "-O[N]" open N vertical split windows */
|
case 'O': /* "-O[N]" open N vertical split windows */
|
||||||
#if defined(FEAT_VERTSPLIT) && defined(FEAT_WINDOWS)
|
#if defined(FEAT_VERTSPLIT) && defined(FEAT_WINDOWS)
|
||||||
/* default is 0: open window for each file */
|
/* default is 0: open window for each file */
|
||||||
parmp->window_count = get_number_arg((char_u *)argv[0], &argv_idx, 0);
|
parmp->window_count = get_number_arg((char_u *)argv[0],
|
||||||
|
&argv_idx, 0);
|
||||||
parmp->vert_windows = TRUE;
|
parmp->vert_windows = TRUE;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@ -1817,7 +1818,8 @@ command_line_scan(parmp)
|
|||||||
{
|
{
|
||||||
if (parmp->n_commands >= MAX_ARG_CMDS)
|
if (parmp->n_commands >= MAX_ARG_CMDS)
|
||||||
mainerr(ME_EXTRA_CMD, NULL);
|
mainerr(ME_EXTRA_CMD, NULL);
|
||||||
parmp->commands[parmp->n_commands++] = (char_u *)argv[0] + argv_idx;
|
parmp->commands[parmp->n_commands++] = (char_u *)argv[0]
|
||||||
|
+ argv_idx;
|
||||||
argv_idx = -1;
|
argv_idx = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1890,13 +1892,15 @@ command_line_scan(parmp)
|
|||||||
parmp->commands[parmp->n_commands++] = p;
|
parmp->commands[parmp->n_commands++] = p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
parmp->commands[parmp->n_commands++] = (char_u *)argv[0];
|
parmp->commands[parmp->n_commands++] =
|
||||||
|
(char_u *)argv[0];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '-': /* "--cmd {command}" execute command */
|
case '-': /* "--cmd {command}" execute command */
|
||||||
if (parmp->n_pre_commands >= MAX_ARG_CMDS)
|
if (parmp->n_pre_commands >= MAX_ARG_CMDS)
|
||||||
mainerr(ME_EXTRA_CMD, NULL);
|
mainerr(ME_EXTRA_CMD, NULL);
|
||||||
parmp->pre_commands[parmp->n_pre_commands++] = (char_u *)argv[0];
|
parmp->pre_commands[parmp->n_pre_commands++] =
|
||||||
|
(char_u *)argv[0];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* case 'd': -d {device} is handled in mch_check_win() for the
|
/* case 'd': -d {device} is handled in mch_check_win() for the
|
||||||
@ -2052,7 +2056,7 @@ scripterror:
|
|||||||
#endif
|
#endif
|
||||||
alist_add(&global_alist, p,
|
alist_add(&global_alist, p,
|
||||||
#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
|
#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
|
||||||
parmp->literal ? 2 : 0 /* add buffer number after expanding */
|
parmp->literal ? 2 : 0 /* add buffer nr after exp. */
|
||||||
#else
|
#else
|
||||||
2 /* add buffer number now and use curbuf */
|
2 /* add buffer number now and use curbuf */
|
||||||
#endif
|
#endif
|
||||||
@ -2425,7 +2429,8 @@ source_startup_scripts(parmp)
|
|||||||
*/
|
*/
|
||||||
if (parmp->use_vimrc != NULL)
|
if (parmp->use_vimrc != NULL)
|
||||||
{
|
{
|
||||||
if (STRCMP(parmp->use_vimrc, "NONE") == 0 || STRCMP(parmp->use_vimrc, "NORC") == 0)
|
if (STRCMP(parmp->use_vimrc, "NONE") == 0
|
||||||
|
|| STRCMP(parmp->use_vimrc, "NORC") == 0)
|
||||||
{
|
{
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (use_gvimrc == NULL) /* don't load gvimrc either */
|
if (use_gvimrc == NULL) /* don't load gvimrc either */
|
||||||
|
287
src/misc1.c
287
src/misc1.c
@ -8158,24 +8158,33 @@ namelowcpy(
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Recursively build up a list of files in "gap" matching the first wildcard
|
* Recursively expand one path component into all matching files and/or
|
||||||
* in `path'. Called by expand_wildcards().
|
* directories. Adds matches to "gap". Handles "*", "?", "[a-z]", "**", etc.
|
||||||
* Return the number of matches found.
|
* Return the number of matches found.
|
||||||
* "path" has backslashes before chars that are not to be expanded, starting
|
* "path" has backslashes before chars that are not to be expanded, starting
|
||||||
* at "path[wildoff]".
|
* at "path[wildoff]".
|
||||||
|
* Return the number of matches found.
|
||||||
|
* NOTE: much of this is identical to unix_expandpath(), keep in sync!
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
dos_expandpath(
|
dos_expandpath(
|
||||||
garray_T *gap,
|
garray_T *gap,
|
||||||
char_u *path,
|
char_u *path,
|
||||||
int wildoff,
|
int wildoff,
|
||||||
int flags) /* EW_* flags */
|
int flags, /* EW_* flags */
|
||||||
|
int didstar) /* expaneded "**" once already */
|
||||||
{
|
{
|
||||||
char_u *buf;
|
char_u *buf;
|
||||||
char_u *path_end;
|
char_u *path_end;
|
||||||
char_u *p, *s, *e;
|
char_u *p, *s, *e;
|
||||||
int start_len = gap->ga_len;
|
int start_len = gap->ga_len;
|
||||||
int ok;
|
char_u *pat;
|
||||||
|
regmatch_T regmatch;
|
||||||
|
int starts_with_dot;
|
||||||
|
int matches;
|
||||||
|
int len;
|
||||||
|
int starstar = FALSE;
|
||||||
|
static int stardepth = 0; /* depth for "**" expansion */
|
||||||
#ifdef WIN3264
|
#ifdef WIN3264
|
||||||
WIN32_FIND_DATA fb;
|
WIN32_FIND_DATA fb;
|
||||||
HANDLE hFind = (HANDLE)0;
|
HANDLE hFind = (HANDLE)0;
|
||||||
@ -8186,15 +8195,19 @@ dos_expandpath(
|
|||||||
#else
|
#else
|
||||||
struct ffblk fb;
|
struct ffblk fb;
|
||||||
#endif
|
#endif
|
||||||
int matches;
|
|
||||||
int starts_with_dot;
|
|
||||||
int len;
|
|
||||||
char_u *pat;
|
|
||||||
regmatch_T regmatch;
|
|
||||||
char_u *matchname;
|
char_u *matchname;
|
||||||
|
int ok;
|
||||||
|
|
||||||
|
/* Expanding "**" may take a long time, check for CTRL-C. */
|
||||||
|
if (stardepth > 0)
|
||||||
|
{
|
||||||
|
ui_breakcheck();
|
||||||
|
if (got_int)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* make room for file name */
|
/* make room for file name */
|
||||||
buf = alloc((unsigned int)STRLEN(path) + BASENAMELEN + 5);
|
buf = alloc((int)STRLEN(path) + BASENAMELEN + 5);
|
||||||
if (buf == NULL)
|
if (buf == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -8247,6 +8260,11 @@ dos_expandpath(
|
|||||||
--s;
|
--s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check for "**" between "s" and "e". */
|
||||||
|
for (p = s; p < e; ++p)
|
||||||
|
if (p[0] == '*' && p[1] == '*')
|
||||||
|
starstar = TRUE;
|
||||||
|
|
||||||
starts_with_dot = (*s == '.');
|
starts_with_dot = (*s == '.');
|
||||||
pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
|
pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
|
||||||
if (pat == NULL)
|
if (pat == NULL)
|
||||||
@ -8269,6 +8287,17 @@ dos_expandpath(
|
|||||||
/* remember the pattern or file name being looked for */
|
/* remember the pattern or file name being looked for */
|
||||||
matchname = vim_strsave(s);
|
matchname = vim_strsave(s);
|
||||||
|
|
||||||
|
/* If "**" is by itself, this is the first time we encounter it and more
|
||||||
|
* is following then find matches without any directory. */
|
||||||
|
if (!didstar && stardepth < 100 && starstar && e - s == 2
|
||||||
|
&& *path_end == '/')
|
||||||
|
{
|
||||||
|
STRCPY(s, path_end + 1);
|
||||||
|
++stardepth;
|
||||||
|
(void)dos_expandpath(gap, buf, (int)(s - buf), flags, TRUE);
|
||||||
|
--stardepth;
|
||||||
|
}
|
||||||
|
|
||||||
/* Scan all files in the directory with "dir/ *.*" */
|
/* Scan all files in the directory with "dir/ *.*" */
|
||||||
STRCPY(s, "*.*");
|
STRCPY(s, "*.*");
|
||||||
#ifdef WIN3264
|
#ifdef WIN3264
|
||||||
@ -8325,12 +8354,24 @@ dos_expandpath(
|
|||||||
namelowcpy(s, p);
|
namelowcpy(s, p);
|
||||||
#endif
|
#endif
|
||||||
len = (int)STRLEN(buf);
|
len = (int)STRLEN(buf);
|
||||||
|
|
||||||
|
if (starstar && stardepth < 100)
|
||||||
|
{
|
||||||
|
/* For "**" in the pattern first go deeper in the tree to
|
||||||
|
* find matches. */
|
||||||
|
STRCPY(buf + len, "/**");
|
||||||
|
STRCPY(buf + len + 3, path_end);
|
||||||
|
++stardepth;
|
||||||
|
(void)dos_expandpath(gap, buf, len + 1, flags, TRUE);
|
||||||
|
--stardepth;
|
||||||
|
}
|
||||||
|
|
||||||
STRCPY(buf + len, path_end);
|
STRCPY(buf + len, path_end);
|
||||||
if (mch_has_exp_wildcard(path_end))
|
if (mch_has_exp_wildcard(path_end))
|
||||||
{
|
{
|
||||||
/* need to expand another component of the path */
|
/* need to expand another component of the path */
|
||||||
/* remove backslashes for the remaining components only */
|
/* remove backslashes for the remaining components only */
|
||||||
(void)dos_expandpath(gap, buf, len + 1, flags);
|
(void)dos_expandpath(gap, buf, len + 1, flags, FALSE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -8408,10 +8449,232 @@ mch_expandpath(
|
|||||||
char_u *path,
|
char_u *path,
|
||||||
int flags) /* EW_* flags */
|
int flags) /* EW_* flags */
|
||||||
{
|
{
|
||||||
return dos_expandpath(gap, path, 0, flags);
|
return dos_expandpath(gap, path, 0, flags, FALSE);
|
||||||
}
|
}
|
||||||
# endif /* MSDOS || FEAT_GUI_W16 || WIN3264 */
|
# endif /* MSDOS || FEAT_GUI_W16 || WIN3264 */
|
||||||
|
|
||||||
|
#if (defined(UNIX) && !defined(VMS)) || defined(USE_UNIXFILENAME) \
|
||||||
|
|| defined(PROTO)
|
||||||
|
/*
|
||||||
|
* Unix style wildcard expansion code.
|
||||||
|
* It's here because it's used both for Unix and Mac.
|
||||||
|
*/
|
||||||
|
static int pstrcmp __ARGS((const void *, const void *));
|
||||||
|
|
||||||
|
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. Adds matches to "gap". Handles "*", "?", "[a-z]", "**", etc.
|
||||||
|
* "path" has backslashes before chars that are not to be expanded, starting
|
||||||
|
* at "path + wildoff".
|
||||||
|
* Return the number of matches found.
|
||||||
|
* NOTE: much of this is identical to dos_expandpath(), keep in sync!
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
unix_expandpath(gap, path, wildoff, flags, didstar)
|
||||||
|
garray_T *gap;
|
||||||
|
char_u *path;
|
||||||
|
int wildoff;
|
||||||
|
int flags; /* EW_* flags */
|
||||||
|
int didstar; /* expanded "**" once already */
|
||||||
|
{
|
||||||
|
char_u *buf;
|
||||||
|
char_u *path_end;
|
||||||
|
char_u *p, *s, *e;
|
||||||
|
int start_len = gap->ga_len;
|
||||||
|
char_u *pat;
|
||||||
|
regmatch_T regmatch;
|
||||||
|
int starts_with_dot;
|
||||||
|
int matches;
|
||||||
|
int len;
|
||||||
|
int starstar = FALSE;
|
||||||
|
static int stardepth = 0; /* depth for "**" expansion */
|
||||||
|
|
||||||
|
DIR *dirp;
|
||||||
|
struct dirent *dp;
|
||||||
|
|
||||||
|
/* Expanding "**" may take a long time, check for CTRL-C. */
|
||||||
|
if (stardepth > 0)
|
||||||
|
{
|
||||||
|
ui_breakcheck();
|
||||||
|
if (got_int)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* make room for file name */
|
||||||
|
buf = alloc((int)STRLEN(path) + BASENAMELEN + 5);
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check for "**" between "s" and "e". */
|
||||||
|
for (p = s; p < e; ++p)
|
||||||
|
if (p[0] == '*' && p[1] == '*')
|
||||||
|
starstar = TRUE;
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If "**" is by itself, this is the first time we encounter it and more
|
||||||
|
* is following then find matches without any directory. */
|
||||||
|
if (!didstar && stardepth < 100 && starstar && e - s == 2
|
||||||
|
&& *path_end == '/')
|
||||||
|
{
|
||||||
|
STRCPY(s, path_end + 1);
|
||||||
|
++stardepth;
|
||||||
|
(void)unix_expandpath(gap, buf, (int)(s - buf), flags, TRUE);
|
||||||
|
--stardepth;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* open the directory for scanning */
|
||||||
|
*s = NUL;
|
||||||
|
dirp = opendir(*buf == NUL ? "." : (char *)buf);
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
|
||||||
|
if (starstar && stardepth < 100)
|
||||||
|
{
|
||||||
|
/* For "**" in the pattern first go deeper in the tree to
|
||||||
|
* find matches. */
|
||||||
|
STRCPY(buf + len, "/**");
|
||||||
|
STRCPY(buf + len + 3, path_end);
|
||||||
|
++stardepth;
|
||||||
|
(void)unix_expandpath(gap, buf, len + 1, flags, TRUE);
|
||||||
|
--stardepth;
|
||||||
|
}
|
||||||
|
|
||||||
|
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, FALSE);
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic wildcard expansion code.
|
* Generic wildcard expansion code.
|
||||||
*
|
*
|
||||||
|
@ -15,7 +15,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_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
|
||||||
int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
|
int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
|
||||||
GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
|
GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
|
||||||
int gui_mch_adjust_charsize __ARGS((void));
|
int gui_mch_adjust_charheight __ARGS((void));
|
||||||
void gui_mch_set_font __ARGS((GuiFont font));
|
void gui_mch_set_font __ARGS((GuiFont font));
|
||||||
void gui_mch_set_fontset __ARGS((GuiFontset fontset));
|
void gui_mch_set_fontset __ARGS((GuiFontset fontset));
|
||||||
void gui_mch_free_font __ARGS((GuiFont font));
|
void gui_mch_free_font __ARGS((GuiFont font));
|
||||||
|
@ -16,7 +16,7 @@ void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
|
|||||||
int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
|
int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
|
||||||
GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
|
GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
|
||||||
char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
|
char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
|
||||||
int gui_mch_adjust_charsize __ARGS((void));
|
int gui_mch_adjust_charheight __ARGS((void));
|
||||||
void gui_mch_set_font __ARGS((GuiFont font));
|
void gui_mch_set_font __ARGS((GuiFont font));
|
||||||
void gui_mch_set_fontset __ARGS((GuiFontset fontset));
|
void gui_mch_set_fontset __ARGS((GuiFontset fontset));
|
||||||
void gui_mch_free_font __ARGS((GuiFont font));
|
void gui_mch_free_font __ARGS((GuiFont font));
|
||||||
|
@ -84,6 +84,7 @@ void line_breakcheck __ARGS((void));
|
|||||||
void fast_breakcheck __ARGS((void));
|
void fast_breakcheck __ARGS((void));
|
||||||
int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
|
int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
|
||||||
int match_suffix __ARGS((char_u *fname));
|
int match_suffix __ARGS((char_u *fname));
|
||||||
|
int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
|
||||||
int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
|
int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
|
||||||
void addfile __ARGS((garray_T *gap, char_u *f, int flags));
|
void addfile __ARGS((garray_T *gap, char_u *f, int flags));
|
||||||
char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
|
char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user