Mercurial > vim
diff src/evalfunc.c @ 13986:4a41a169e5ea v8.1.0011
patch 8.1.0011: maparg() and mapcheck() confuse empty and non-existing
commit https://github.com/vim/vim/commit/f88a5bc10232cc3fac92dba4e8455f4c14311f8e
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon May 21 13:28:44 2018 +0200
patch 8.1.0011: maparg() and mapcheck() confuse empty and non-existing
Problem: maparg() and mapcheck() confuse empty and non-existing.
Solution: Return <Nop> for an existing non-empty mapping. (closes https://github.com/vim/vim/issues/2940)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 21 May 2018 13:30:06 +0200 |
parents | 3b6c29f8c1a2 |
children | e124262d435e |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7383,7 +7383,12 @@ get_maparg(typval_T *argvars, typval_T * { /* Return a string. */ if (rhs != NULL) - rettv->vval.v_string = str2special_save(rhs, FALSE); + { + if (*rhs == NUL) + rettv->vval.v_string = vim_strsave((char_u *)"<Nop>"); + else + rettv->vval.v_string = str2special_save(rhs, FALSE); + } } else if (rettv_dict_alloc(rettv) != FAIL && rhs != NULL)