diff options
author | Bram Moolenaar <Bram@vim.org> | 2008-06-24 20:19:36 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2008-06-24 20:19:36 +0000 |
commit | f233048a129fa7a3b89e064078435181d6421da5 (patch) | |
tree | 750527cb322fe9ba1559b81da60f2bee923c83cd /src/getchar.c | |
parent | 176dd1e03c7e5f23e633705da2c8718d3cd320e1 (diff) | |
download | vim-f233048a129fa7a3b89e064078435181d6421da5.zip |
updated for version 7.2a
Diffstat (limited to 'src/getchar.c')
-rw-r--r-- | src/getchar.c | 22 |
1 files changed, 19 insertions, 3 deletions
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 { |