Mercurial > vim
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 {