Mercurial > vim
comparison src/getchar.c @ 6087:dbd7dc1ea2e6 v7.4.382
updated for version 7.4.382
Problem: Mapping characters may not work after typing Esc in Insert mode.
Solution: Fix the noremap flags for inserted characters. (Jacob Niehus)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 23 Jul 2014 20:41:14 +0200 |
parents | ef83b423ebf7 |
children | 975d96776111 |
comparison
equal
deleted
inserted
replaced
6086:93c657c30384 | 6087:dbd7dc1ea2e6 |
---|---|
2729 curwin->w_wcol = old_wcol; | 2729 curwin->w_wcol = old_wcol; |
2730 curwin->w_wrow = old_wrow; | 2730 curwin->w_wrow = old_wrow; |
2731 } | 2731 } |
2732 if (c < 0) | 2732 if (c < 0) |
2733 continue; /* end of input script reached */ | 2733 continue; /* end of input script reached */ |
2734 | |
2735 /* Allow mapping for just typed characters. When we get here c | |
2736 * is the number of extra bytes and typebuf.tb_len is 1. */ | |
2737 for (n = 1; n <= c; ++n) | |
2738 typebuf.tb_noremap[typebuf.tb_off + n] = RM_YES; | |
2734 typebuf.tb_len += c; | 2739 typebuf.tb_len += c; |
2735 | 2740 |
2736 /* buffer full, don't map */ | 2741 /* buffer full, don't map */ |
2737 if (typebuf.tb_len >= typebuf.tb_maplen + MAXMAPLEN) | 2742 if (typebuf.tb_len >= typebuf.tb_maplen + MAXMAPLEN) |
2738 { | 2743 { |