updated for version 7.4.099
Problem:    Append in blockwise Visual mode with "$" is wrong.
Solution:   After "$" don't use the code that checks if the cursor was moved.
            (Hirohito Higashi, Ken Takata)
diff --git a/src/ops.c b/src/ops.c
index e1048c2..d2060a4 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -2643,7 +2643,7 @@
 
 	/* The user may have moved the cursor before inserting something, try
 	 * to adjust the block for that. */
-	if (oap->start.lnum == curbuf->b_op_start.lnum)
+	if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
 	{
 	    if (oap->op_type == OP_INSERT
 		    && oap->start.col != curbuf->b_op_start.col)
diff --git a/src/testdir/test39.in b/src/testdir/test39.in
index 77e2bd7..4f42a13 100644
--- a/src/testdir/test39.in
+++ b/src/testdir/test39.in
Binary files differ
diff --git a/src/testdir/test39.ok b/src/testdir/test39.ok
index 4964d6a..3469f52 100644
--- a/src/testdir/test39.ok
+++ b/src/testdir/test39.ok
Binary files differ
diff --git a/src/version.c b/src/version.c
index 505e227..7f9ae8b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    99,
+/**/
     98,
 /**/
     97,