patch 9.1.0477: block_editing errors out when using <enter>

Problem:  block_editing errors out when using <enter>
          (Ali Rizvi-Santiago, after v9.1.0274)
Solution: Change ins_len from size_t to int so that the test
          if ins_len is negative actually works properly

Add a test, so that this doesn't regress.

fixes: #14960

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/ops.c b/src/ops.c
index b956957..eb75c34 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1814,7 +1814,7 @@
      */
     if (oap->block_mode && oap->start.lnum != oap->end.lnum && !got_int)
     {
-	size_t	ins_len;
+	int	ins_len;
 
 	// Auto-indenting may have changed the indent.  If the cursor was past
 	// the indent, exclude that indent change from the inserted text.
@@ -1827,7 +1827,7 @@
 	    bd.textcol += new_indent - pre_indent;
 	}
 
-	ins_len = ml_get_len(oap->start.lnum) - pre_textlen;
+	ins_len = (int)ml_get_len(oap->start.lnum) - pre_textlen;
 	if (ins_len > 0)
 	{
 	    // Subsequent calls to ml_get() flush the firstline data - take a