diff --git a/src/netbeans.c b/src/netbeans.c
index 9716329..b013d77 100644
--- a/src/netbeans.c
+++ b/src/netbeans.c
@@ -1499,7 +1499,8 @@
 		    return FAIL;
 		}
 		first = *pos;
-		nbdebug(("    FIRST POS: line %d, col %d\n", first.lnum, first.col));
+		nbdebug(("    FIRST POS: line %d, col %d\n",
+						      first.lnum, first.col));
 		pos = off2pos(buf->bufp, off+count-1);
 		if (!pos)
 		{
@@ -1510,7 +1511,8 @@
 		    return FAIL;
 		}
 		last = *pos;
-		nbdebug(("    LAST POS: line %d, col %d\n", last.lnum, last.col));
+		nbdebug(("    LAST POS: line %d, col %d\n",
+							last.lnum, last.col));
 		del_from_lnum = first.lnum;
 		del_to_lnum = last.lnum;
 		doupdate = 1;
@@ -1521,7 +1523,8 @@
 		next = off2pos(buf->bufp, off + count);
 
 		/* Remove part of the first line. */
-		if (first.col != 0 || (next != NULL && first.lnum == next->lnum))
+		if (first.col != 0
+				|| (next != NULL && first.lnum == next->lnum))
 		{
 		    if (first.lnum != last.lnum
 			    || (next != NULL && first.lnum != next->lnum))
@@ -1584,7 +1587,8 @@
 			int id = buf_findsign_id(buf->bufp, (linenr_T)i);
 			if (id > 0)
 			{
-			    nbdebug(("    Deleting sign %d on line %d\n", id, i));
+			    nbdebug(("    Deleting sign %d on line %d\n",
+								      id, i));
 			    buf_delsign(buf->bufp, id);
 			}
 			else
@@ -1593,7 +1597,8 @@
 			}
 		    }
 
-		    nbdebug(("    Deleting lines %d through %d\n", del_from_lnum, del_to_lnum));
+		    nbdebug(("    Deleting lines %d through %d\n",
+						 del_from_lnum, del_to_lnum));
 		    curwin->w_cursor.lnum = del_from_lnum;
 		    curwin->w_cursor.col = 0;
 		    del_lines(del_to_lnum - del_from_lnum + 1, FALSE);
@@ -3514,7 +3519,8 @@
 	    eol_size = 1;
 	for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum)
 	{
-	    char_count += (long)STRLEN(ml_get(lnum)) + eol_size;
+	    char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE))
+								   + eol_size;
 	    /* Check for a CTRL-C every 100000 characters */
 	    if (char_count > last_check)
 	    {
