mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
Merge pull request #4325 from watiko/vim-7.4.984
vim-patch:7.4.{984,1093}
This commit is contained in:
@@ -8304,12 +8304,12 @@ static void f_cscope_connection(typval_T *argvars, typval_T *rettv)
|
||||
rettv->vval.v_number = cs_connection(num, dbpath, prepend);
|
||||
}
|
||||
|
||||
/*
|
||||
* "cursor(lnum, col)" function
|
||||
*
|
||||
* Moves the cursor to the specified line and column.
|
||||
* Returns 0 when the position could be set, -1 otherwise.
|
||||
*/
|
||||
/// "cursor(lnum, col)" function, or
|
||||
/// "cursor(list)"
|
||||
///
|
||||
/// Moves the cursor to the specified line and column.
|
||||
///
|
||||
/// @returns 0 when the position could be set, -1 otherwise.
|
||||
static void f_cursor(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
long line, col;
|
||||
@@ -8321,8 +8321,10 @@ static void f_cursor(typval_T *argvars, typval_T *rettv)
|
||||
colnr_T curswant = -1;
|
||||
|
||||
if (list2fpos(argvars, &pos, NULL, &curswant) == FAIL) {
|
||||
EMSG(_(e_invarg));
|
||||
return;
|
||||
}
|
||||
|
||||
line = pos.lnum;
|
||||
col = pos.col;
|
||||
coladd = pos.coladd;
|
||||
@@ -13536,14 +13538,14 @@ static void f_reverse(typval_T *argvars, typval_T *rettv)
|
||||
}
|
||||
}
|
||||
|
||||
#define SP_NOMOVE 0x01 /* don't move cursor */
|
||||
#define SP_REPEAT 0x02 /* repeat to find outer pair */
|
||||
#define SP_RETCOUNT 0x04 /* return matchcount */
|
||||
#define SP_SETPCMARK 0x08 /* set previous context mark */
|
||||
#define SP_START 0x10 /* accept match at start position */
|
||||
#define SP_SUBPAT 0x20 /* return nr of matching sub-pattern */
|
||||
#define SP_END 0x40 /* leave cursor at end of match */
|
||||
|
||||
#define SP_NOMOVE 0x01 ///< don't move cursor
|
||||
#define SP_REPEAT 0x02 ///< repeat to find outer pair
|
||||
#define SP_RETCOUNT 0x04 ///< return matchcount
|
||||
#define SP_SETPCMARK 0x08 ///< set previous context mark
|
||||
#define SP_START 0x10 ///< accept match at start position
|
||||
#define SP_SUBPAT 0x20 ///< return nr of matching sub-pattern
|
||||
#define SP_END 0x40 ///< leave cursor at end of match
|
||||
#define SP_COLUMN 0x80 ///< start at cursor column
|
||||
|
||||
/*
|
||||
* Get flags for a search function.
|
||||
@@ -13569,13 +13571,14 @@ static int get_search_arg(typval_T *varp, int *flagsp)
|
||||
default: mask = 0;
|
||||
if (flagsp != NULL)
|
||||
switch (*flags) {
|
||||
case 'c': mask = SP_START; break;
|
||||
case 'e': mask = SP_END; break;
|
||||
case 'm': mask = SP_RETCOUNT; break;
|
||||
case 'n': mask = SP_NOMOVE; break;
|
||||
case 'p': mask = SP_SUBPAT; break;
|
||||
case 'r': mask = SP_REPEAT; break;
|
||||
case 's': mask = SP_SETPCMARK; break;
|
||||
case 'c': mask = SP_START; break;
|
||||
case 'e': mask = SP_END; break;
|
||||
case 'm': mask = SP_RETCOUNT; break;
|
||||
case 'n': mask = SP_NOMOVE; break;
|
||||
case 'p': mask = SP_SUBPAT; break;
|
||||
case 'r': mask = SP_REPEAT; break;
|
||||
case 's': mask = SP_SETPCMARK; break;
|
||||
case 'z': mask = SP_COLUMN; break;
|
||||
}
|
||||
if (mask == 0) {
|
||||
EMSG2(_(e_invarg2), flags);
|
||||
@@ -13591,9 +13594,7 @@ static int get_search_arg(typval_T *varp, int *flagsp)
|
||||
return dir;
|
||||
}
|
||||
|
||||
/*
|
||||
* Shared by search() and searchpos() functions
|
||||
*/
|
||||
// Shared by search() and searchpos() functions.
|
||||
static int search_cmn(typval_T *argvars, pos_T *match_pos, int *flagsp)
|
||||
{
|
||||
int flags;
|
||||
@@ -13614,10 +13615,15 @@ static int search_cmn(typval_T *argvars, pos_T *match_pos, int *flagsp)
|
||||
if (dir == 0)
|
||||
goto theend;
|
||||
flags = *flagsp;
|
||||
if (flags & SP_START)
|
||||
if (flags & SP_START) {
|
||||
options |= SEARCH_START;
|
||||
if (flags & SP_END)
|
||||
}
|
||||
if (flags & SP_END) {
|
||||
options |= SEARCH_END;
|
||||
}
|
||||
if (flags & SP_COLUMN) {
|
||||
options |= SEARCH_COL;
|
||||
}
|
||||
|
||||
/* Optional arguments: line number to stop searching and timeout. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN) {
|
||||
|
Reference in New Issue
Block a user