updated for version 7.1-248
diff --git a/src/eval.c b/src/eval.c
index 7093051..0f2461e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -14776,24 +14776,31 @@
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 6dc5934..2accbba 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -79,6 +79,12 @@
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 740c135..d604666 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 248,
+/**/
247,
/**/
246,