aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vimscript.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-05-06 10:30:48 +0200
committerGitHub <noreply@github.com>2022-05-06 10:30:48 +0200
commite3edcd06e3486a8bb50a7d9a231c3a473ac1a4d9 (patch)
treed4b9016cdc836c8ced64027e049927c34b9b768b /src/nvim/api/vimscript.c
parent55187de1157e05ea71c7c0404345dee0e27e963e (diff)
parent511f06a56e77f612f7bc8ca563ebecb7239a9914 (diff)
downloadrneovim-e3edcd06e3486a8bb50a7d9a231c3a473ac1a4d9.tar.gz
rneovim-e3edcd06e3486a8bb50a7d9a231c3a473ac1a4d9.tar.bz2
rneovim-e3edcd06e3486a8bb50a7d9a231c3a473ac1a4d9.zip
Merge pull request #18438 from famiu/feat/api/nvim_parse_cmd
fix(api): make `nvim_parse_cmd` propagate errors
Diffstat (limited to 'src/nvim/api/vimscript.c')
-rw-r--r--src/nvim/api/vimscript.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nvim/api/vimscript.c b/src/nvim/api/vimscript.c
index 698b2d06fb..3346b5a237 100644
--- a/src/nvim/api/vimscript.c
+++ b/src/nvim/api/vimscript.c
@@ -802,10 +802,15 @@ Dictionary nvim_parse_cmd(String str, Dictionary opts, Error *err)
// Parse command line
exarg_T ea;
CmdParseInfo cmdinfo;
- char_u *cmdline = (char_u *)string_to_cstr(str);
+ char *cmdline = string_to_cstr(str);
+ char *errormsg = NULL;
- if (!parse_cmdline(cmdline, &ea, &cmdinfo)) {
- api_set_error(err, kErrorTypeException, "Error while parsing command line");
+ if (!parse_cmdline(cmdline, &ea, &cmdinfo, &errormsg)) {
+ if (errormsg != NULL) {
+ api_set_error(err, kErrorTypeException, "Error while parsing command line: %s", errormsg);
+ } else {
+ api_set_error(err, kErrorTypeException, "Error while parsing command line");
+ }
goto end;
}