diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-28 23:40:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-28 23:40:34 +0800 |
commit | 233b858f2a2f3b57d07675e2de45736da36709e8 (patch) | |
tree | a8aef6d891e43fb68672d17d924b9d9bf3f6b88b /src/nvim/mapping.c | |
parent | ca7e488cfeb16b3eb2faf9613718f17d28f0f005 (diff) | |
parent | 2722bff0f35bb4b69a297f8b4fae17661bbfe26f (diff) | |
download | rneovim-233b858f2a2f3b57d07675e2de45736da36709e8.tar.gz rneovim-233b858f2a2f3b57d07675e2de45736da36709e8.tar.bz2 rneovim-233b858f2a2f3b57d07675e2de45736da36709e8.zip |
Merge pull request #23162 from lewis6991/vimpatch/option_cb
vim-patch:9.0.{1330,1345,1353,1359,1369,1374}: handling new value of an option has a long "else if" chain
Diffstat (limited to 'src/nvim/mapping.c')
-rw-r--r-- | src/nvim/mapping.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c index 9a835e0eb8..c1d02e89b8 100644 --- a/src/nvim/mapping.c +++ b/src/nvim/mapping.c @@ -2386,7 +2386,7 @@ void langmap_init(void) /// Called when langmap option is set; the language map can be /// changed at any time! -void langmap_set(void) +const char *did_set_langmap(optset_T *args) { char *p; char *p2; @@ -2434,9 +2434,10 @@ void langmap_set(void) } } if (to == NUL) { - semsg(_("E357: 'langmap': Matching character missing for %s"), - transchar(from)); - return; + snprintf(args->os_errbuf, args->os_errbuflen, + _("E357: 'langmap': Matching character missing for %s"), + transchar(from)); + return args->os_errbuf; } if (from >= 256) { @@ -2454,8 +2455,10 @@ void langmap_set(void) p = p2; if (p[0] != NUL) { if (p[0] != ',') { - semsg(_("E358: 'langmap': Extra characters after semicolon: %s"), p); - return; + snprintf(args->os_errbuf, args->os_errbuflen, + _("E358: 'langmap': Extra characters after semicolon: %s"), + p); + return args->os_errbuf; } p++; } @@ -2464,6 +2467,8 @@ void langmap_set(void) } } } + + return NULL; } static void do_exmap(exarg_T *eap, int isabbrev) |