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.


Raspunde prin e-mail lui