There is another victim now: On Jun 28, 2013 8:52 AM, "Ron Aaron" <[email protected]> wrote: > > They have always worked before, but in one of the fairly recent builds they stopped working. > > I have an input map of `h to something. When I have a rl window and keymap=hebrew, that map no longer works. I tried changing the imap to the actual characters entered by the keymap, e.g. ;י ... but it also does not work.
On Jun 12, 2013 11:00 PM, "Bram Moolenaar" <[email protected]> wrote: > > > Patch 7.3.1179 > Problem: When a global mapping starts with the same characters as a > buffer-local mapping Vim waits for a character to be typed to find > out whether the global mapping is to be used. (Andy Wokula) > Solution: Use the local mapping without waiting. (Michael Henry) > Files: runtime/doc/map.txt, src/getchar.c > > > *** ../vim-7.3.1178/runtime/doc/map.txt 2013-06-08 15:24:41.000000000 +0200 > --- runtime/doc/map.txt 2013-06-12 20:50:01.000000000 +0200 > *************** > *** 107,112 **** > --- 107,114 ---- > :cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear* > Remove ALL mappings for the modes where the map > command applies. {not in Vi} > + Use the <buffer> argument to remove buffer-local > + mappings |:map-<buffer>| > Warning: This also removes the default mappings. > > :map |mapmode-nvo| > *************** > *** 173,178 **** > --- 175,181 ---- > :mapclear <buffer> > Local mappings are also cleared when a buffer is deleted, but not when it is > unloaded. Just like local option values. > + Also see |map-precedence|. > > *:map-<silent>* *:map-silent* > To define a mapping which will not be echoed on the command line, add > *************** > *** 644,649 **** > --- 655,672 ---- > you type slowly, or your system is slow, reset the 'timeout' option. Then you > might want to set the 'ttimeout' option. > > + *map-precedence* > + Buffer-local mappings (defined using |:map-<buffer>|) take precedence over > + global mappings. When a buffer-local mapping is the same as a global mapping, > + Vim will use the buffer-local mapping. In addition, Vim will use a complete > + buffer-local mapping immediately, even if a longer global mapping has the > + buffer-local mapping as a prefix. For example, given the following two > + mappings: > > + :map <buffer> \a :echo "Local \a"<CR> > + :map \abc :echo "Global \abc"<CR> > + The buffer-local mapping \a will be used immediately. Vim will not wait for > + more characters to see if the user might be typing \abc. > + > *map-keys-fails* > There are situations where key codes might not be recognized: > - Vim can only read part of the key code. Mostly this is only the first > *** ../vim-7.3.1178/src/getchar.c 2013-05-06 05:50:22.000000000 +0200 > --- src/getchar.c 2013-06-12 20:52:49.000000000 +0200 > *************** > *** 1924,1929 **** > --- 1924,1930 ---- > mapblock_T *mp; > #ifdef FEAT_LOCALMAP > mapblock_T *mp2; > + int expecting_global_mappings; > #endif > mapblock_T *mp_match; > int mp_match_len = 0; > *************** > *** 2105,2110 **** > --- 2106,2112 ---- > /* First try buffer-local mappings. */ > mp = curbuf->b_maphash[MAP_HASH(local_State, c1)]; > mp2 = maphash[MAP_HASH(local_State, c1)]; > + expecting_global_mappings = (mp && mp2); > if (mp == NULL) > { > mp = mp2; > *************** > *** 2128,2133 **** > --- 2130,2145 ---- > #endif > (mp = mp->m_next)) > { > + #ifdef FEAT_LOCALMAP > + if (expecting_global_mappings && mp2 == NULL) > + { > + /* This is the first global mapping. If we've > + * got a complete buffer-local match, use it. */ > + if (mp_match) > + break; > + expecting_global_mappings = FALSE; > + } > + #endif > /* > * Only consider an entry if the first character > * matches and it is for the current state. > *** ../vim-7.3.1178/src/version.c 2013-06-12 20:35:46.000000000 +0200 > --- src/version.c 2013-06-12 20:56:36.000000000 +0200 > *************** > *** 730,731 **** > --- 730,733 ---- > { /* Add new patch number below this line */ > + /**/ > + 1179, > /**/ > > -- > If Apple would build a car... > ... it would be powered by the sun, be reliable, five times > as fast and twice as easy to drive; but would only run on > five percent of the roads. > > /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ > /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/\\\ > \\\ an exciting new programming language -- http://www.Zimbu.org /// > \\\ help me help AIDS victims -- http://ICCF-Holland.org /// > > -- > -- > You received this message from the "vim_dev" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > > --- > You received this message because you are subscribed to the Google Groups "vim_dev" group. > To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
