updated for version 7.1-322
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 57e2c4e..126b98b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -3515,6 +3515,10 @@
 			    returned)
 		    w0	    first line visible in current window
 		    w$	    last line visible in current window
+		    v	    In Visual mode: the start of the Visual area (the
+			    cursor is the end).  When not in Visual mode
+			    returns the cursor position.  Differs from |'<| in
+			    that it's updated right away.
 		Note that a mark in another file can be used.  The line number
 		then applies to another buffer.
 		To get the column number use |col()|.  To get both use
diff --git a/src/eval.c b/src/eval.c
index 1ad9cec..54ca054 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -16907,9 +16907,17 @@
     name = get_tv_string_chk(varp);
     if (name == NULL)
 	return NULL;
-    if (name[0] == '.')		/* cursor */
+    if (name[0] == '.')				/* cursor */
 	return &curwin->w_cursor;
-    if (name[0] == '\'')	/* mark */
+#ifdef FEAT_VISUAL
+    if (name[0] == 'v' && name[1] == NUL)	/* Visual start */
+    {
+	if (VIsual_active)
+	    return &VIsual;
+	return &curwin->w_cursor;
+    }
+#endif
+    if (name[0] == '\'')			/* mark */
     {
 	pp = getmark_fnum(name[1], FALSE, fnum);
 	if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)
diff --git a/src/version.c b/src/version.c
index dc2d995..c8d4958 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    322,
+/**/
     321,
 /**/
     320,