Merge pull request #4717 from jamessan/vim-7.4.1015

vim-patch:7.4.1015
This commit is contained in:
Justin M. Keyes
2016-05-10 01:27:55 -04:00
3 changed files with 30 additions and 19 deletions

View File

@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Jul 19
" Last Change: 2015 Dec 31
" Exit quickly when:
" - this plugin was already loaded (or disabled)
@@ -55,7 +55,7 @@ function! s:Highlight_Matching_Pair()
let before = 0
let text = getline(c_lnum)
let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\)')
let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)')
if empty(matches)
let [c_before, c] = ['', '']
else

View File

@@ -8337,6 +8337,7 @@ static void f_cursor(typval_T *argvars, typval_T *rettv)
{
long line, col;
long coladd = 0;
bool set_curswant = true;
rettv->vval.v_number = -1;
if (argvars[1].v_type == VAR_UNKNOWN) {
@@ -8353,30 +8354,35 @@ static void f_cursor(typval_T *argvars, typval_T *rettv)
coladd = pos.coladd;
if (curswant >= 0) {
curwin->w_curswant = curswant - 1;
set_curswant = false;
}
} else {
line = get_tv_lnum(argvars);
col = get_tv_number_chk(&argvars[1], NULL);
if (argvars[2].v_type != VAR_UNKNOWN)
if (argvars[2].v_type != VAR_UNKNOWN) {
coladd = get_tv_number_chk(&argvars[2], NULL);
}
}
if (line < 0 || col < 0
|| coladd < 0
)
return; /* type error; errmsg already given */
if (line > 0)
|| coladd < 0) {
return; // type error; errmsg already given
}
if (line > 0) {
curwin->w_cursor.lnum = line;
if (col > 0)
}
if (col > 0) {
curwin->w_cursor.col = col - 1;
}
curwin->w_cursor.coladd = coladd;
/* Make sure the cursor is in a valid position. */
// Make sure the cursor is in a valid position.
check_cursor();
/* Correct cursor for multi-byte character. */
if (has_mbyte)
// Correct cursor for multi-byte character.
if (has_mbyte) {
mb_adjust_cursor();
}
curwin->w_set_curswant = TRUE;
curwin->w_set_curswant = set_curswant;
rettv->vval.v_number = 0;
}
@@ -14682,28 +14688,33 @@ static void f_setpos(typval_T *argvars, typval_T *rettv)
name = get_tv_string_chk(argvars);
if (name != NULL) {
if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK) {
if (--pos.col < 0)
if (--pos.col < 0) {
pos.col = 0;
}
if (name[0] == '.' && name[1] == NUL) {
/* set cursor */
// set cursor
if (fnum == curbuf->b_fnum) {
curwin->w_cursor = pos;
if (curswant >= 0) {
curwin->w_curswant = curswant - 1;
curwin->w_set_curswant = false;
}
check_cursor();
rettv->vval.v_number = 0;
} else
} else {
EMSG(_(e_invarg));
}
} else if (name[0] == '\'' && name[1] != NUL && name[2] == NUL) {
/* set mark */
if (setmark_pos(name[1], &pos, fnum) == OK)
// set mark
if (setmark_pos(name[1], &pos, fnum) == OK) {
rettv->vval.v_number = 0;
} else
}
} else {
EMSG(_(e_invarg));
}
}
}
}
/*
* "setqflist()" function

View File

@@ -663,7 +663,7 @@ static int included_patches[] = {
// 1018,
// 1017,
// 1016 NA
// 1015,
1015,
// 1014 NA
1013,
// 1012 NA