From f233048a129fa7a3b89e064078435181d6421da5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 24 Jun 2008 20:19:36 +0000 Subject: updated for version 7.2a --- src/getchar.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/getchar.c') diff --git a/src/getchar.c b/src/getchar.c index d1c70c9db..ec5ae8726 100644 --- 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_cnt) #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 { -- cgit v1.2.3