diff options
Diffstat (limited to 'src/nvim/macros.h')
-rw-r--r-- | src/nvim/macros.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nvim/macros.h b/src/nvim/macros.h index 60f6cd454f..93812683d6 100644 --- a/src/nvim/macros.h +++ b/src/nvim/macros.h @@ -77,12 +77,17 @@ * Adjust chars in a language according to 'langmap' option. * NOTE that there is no noticeable overhead if 'langmap' is not set. * When set the overhead for characters < 256 is small. - * Don't apply 'langmap' if the character comes from the Stuff buffer. + * Don't apply 'langmap' if the character comes from the Stuff buffer or from a + * mapping and the langnoremap option was set. * The do-while is just to ignore a ';' after the macro. */ # define LANGMAP_ADJUST(c, condition) \ do { \ - if (*p_langmap && (condition) && !KeyStuffed && (c) >= 0) \ + if (*p_langmap \ + && (condition) \ + && (!p_lnr || (p_lnr && typebuf_maplen() == 0)) \ + && !KeyStuffed \ + && (c) >= 0) \ { \ if ((c) < 256) \ c = langmap_mapchar[c]; \ |