diff --git a/src/getchar.c b/src/getchar.c
index d1c70c9..ec5ae87 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -221,7 +221,7 @@
     char_u *
 get_inserted()
 {
-    return(get_buffcont(&redobuff, FALSE));
+    return get_buffcont(&redobuff, FALSE);
 }
 
 /*
@@ -2233,6 +2233,8 @@
 		    if ((mp == NULL || max_mlen >= mp_match_len)
 						     && keylen != KL_PART_MAP)
 		    {
+			int	save_keylen = keylen;
+
 			/*
 			 * When no matching mapping found or found a
 			 * non-matching mapping that matches at least what the
@@ -2252,6 +2254,12 @@
 			{
 			    keylen = check_termcode(max_mlen + 1, NULL, 0);
 
+			    /* If no termcode matched but 'pastetoggle'
+			     * matched partially it's like an incomplete key
+			     * sequence. */
+			    if (keylen == 0 && save_keylen == KL_PART_KEY)
+				keylen = KL_PART_KEY;
+
 			    /*
 			     * When getting a partial match, but the last
 			     * characters were not typed, don't wait for a
@@ -2293,7 +2301,9 @@
 #endif
 			      /* When there was a matching mapping and no
 			       * termcode could be replaced after another one,
-			       * use that mapping. */
+			       * use that mapping (loop around). If there was
+			       * no mapping use the character from the
+			       * typeahead buffer right here. */
 			      if (mp == NULL)
 			      {
 /*
@@ -2883,6 +2893,12 @@
 #endif
 	    )
     {
+
+#if defined(FEAT_NETBEANS_INTG)
+	/* Process the queued netbeans messages. */
+	netbeans_parse_messages();
+#endif
+
 	if (got_int || (script_char = getc(scriptin[curscript])) < 0)
 	{
 	    /* Reached EOF.
@@ -3847,7 +3863,7 @@
     while (++len <= 3)
 	msg_putchar(' ');
 
-    /* Get length of what we write */
+    /* Display the LHS.  Get length of what we write. */
     len = msg_outtrans_special(mp->m_keys, TRUE);
     do
     {
