aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2018-09-10 03:27:04 -0400
committerJustin M. Keyes <justinkz@gmail.com>2018-09-10 09:27:04 +0200
commit207cfce3dea64eca3b93735adfac0a75cc6c1a4a (patch)
tree23ac731655aae35bb909daaeb4f57730583aec12 /src/nvim/eval.c
parentd9fcd43638bf8721e98829db7adedf7ab60a9262 (diff)
downloadrneovim-207cfce3dea64eca3b93735adfac0a75cc6c1a4a.tar.gz
rneovim-207cfce3dea64eca3b93735adfac0a75cc6c1a4a.tar.bz2
rneovim-207cfce3dea64eca3b93735adfac0a75cc6c1a4a.zip
vim-patch:8.1.0011: maparg() and mapcheck() confuse empty and non-existing (#8976)
Problem: maparg() and mapcheck() confuse empty and non-existing. Solution: Return <Nop> for an existing non-empty mapping. (closes vim/vim#2940) https://github.com/vim/vim/commit/f88a5bc10232cc3fac92dba4e8455f4c14311f8e
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 541a255dcc..9f99ccc110 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -12145,8 +12145,12 @@ static void get_maparg(typval_T *argvars, typval_T *rettv, int exact)
if (!get_dict) {
// Return a string.
if (rhs != NULL) {
- rettv->vval.v_string = (char_u *)str2special_save(
- (const char *)rhs, false, false);
+ if (*rhs == NUL) {
+ rettv->vval.v_string = vim_strsave((char_u *)"<Nop>");
+ } else {
+ rettv->vval.v_string = (char_u *)str2special_save(
+ (char *)rhs, false, false);
+ }
}
} else {