summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-02-13 11:42:46 +0000
committerBram Moolenaar <Bram@vim.org>2008-02-13 11:42:46 +0000
commit0825043045f69784ed5a4db952988ca5ae7f6d48 (patch)
treec1e5e8df6bcdced1032437c7614203e17ee314e2 /src
parente21877ae759827ce9b4422c55dce33237dd175a4 (diff)
downloadvim-git-0825043045f69784ed5a4db952988ca5ae7f6d48.tar.gz
updated for version 7.1-248v7.1.248
Diffstat (limited to 'src')
-rw-r--r--src/eval.c13
-rw-r--r--src/mark.c6
-rw-r--r--src/version.c2
3 files changed, 18 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c
index 7093051b7..0f2461e11 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -14776,24 +14776,31 @@ f_setpos(argvars, rettv)
int fnum;
char_u *name;
+ rettv->vval.v_number = -1;
name = get_tv_string_chk(argvars);
if (name != NULL)
{
if (list2fpos(&argvars[1], &pos, &fnum) == OK)
{
--pos.col;
- if (name[0] == '.') /* cursor */
+ if (name[0] == '.' && name[1] == NUL)
{
+ /* set cursor */
if (fnum == curbuf->b_fnum)
{
curwin->w_cursor = pos;
check_cursor();
+ rettv->vval.v_number = 0;
}
else
EMSG(_(e_invarg));
}
- else if (name[0] == '\'') /* mark */
- (void)setmark_pos(name[1], &pos, fnum);
+ else if (name[0] == '\'' && name[1] != NUL && name[2] == NUL)
+ {
+ /* set mark */
+ if (setmark_pos(name[1], &pos, fnum) == OK)
+ rettv->vval.v_number = 0;
+ }
else
EMSG(_(e_invarg));
}
diff --git a/src/mark.c b/src/mark.c
index 6dc593440..2accbba1f 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -79,6 +79,12 @@ setmark_pos(c, pos, fnum)
return OK;
}
+ if (c == '"')
+ {
+ curbuf->b_last_cursor = *pos;
+ return OK;
+ }
+
/* Allow setting '[ and '] for an autocommand that simulates reading a
* file. */
if (c == '[')
diff --git a/src/version.c b/src/version.c
index 740c1358e..d6046666b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 248,
+/**/
247,
/**/
246,