diff src/getchar.c @ 1618:46bbe11644e0

updated for version 7.2a
author vimboss
date Tue, 24 Jun 2008 20:19:36 +0000
parents ceaf71b15d81
children b60a569eb708
line wrap: on
line diff
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -221,7 +221,7 @@ get_recorded()
     char_u *
 get_inserted()
 {
-    return(get_buffcont(&redobuff, FALSE));
+    return get_buffcont(&redobuff, FALSE);
 }
 
 /*
@@ -2233,6 +2233,8 @@ vgetorpeek(advance)
 		    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 @@ vgetorpeek(advance)
 			{
 			    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 @@ vgetorpeek(advance)
 #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 @@ inchar(buf, maxlen, wait_time, tb_change
 #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 @@ showmap(mp, local)
     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
     {