diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-28 07:22:27 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-28 07:22:27 +0800 |
commit | 7a9b5937966d3db852c84b8eb232e77d92d3c355 (patch) | |
tree | 1ab737cf0e4efccd6729421813e7f9c8c38420ac | |
parent | 09c6ce8c4e4c6415cca9b834539ed0df461373f6 (diff) | |
download | rneovim-7a9b5937966d3db852c84b8eb232e77d92d3c355.tar.gz rneovim-7a9b5937966d3db852c84b8eb232e77d92d3c355.tar.bz2 rneovim-7a9b5937966d3db852c84b8eb232e77d92d3c355.zip |
vim-patch:8.2.3813: confusing error when using :cc without error list (#19978)
Problem: confusing error when using :cc without error list. (Gary Johnson)
Solution: Give the "no errors" error.
https://github.com/vim/vim/commit/a5d78d1f1123d9ffccd5ba58f2d2dec44cc59e94
Cherry-pick e_quickfix -> e_no_errors rename from patch 8.2.3190.
-rw-r--r-- | src/nvim/ex_docmd.c | 3 | ||||
-rw-r--r-- | src/nvim/globals.h | 2 | ||||
-rw-r--r-- | src/nvim/quickfix.c | 10 | ||||
-rw-r--r-- | src/nvim/testdir/test_quickfix.vim | 6 |
4 files changed, 15 insertions, 6 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index eadde7a725..8cf5d56dd7 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -3586,6 +3586,9 @@ char *invalid_range(exarg_T *eap) assert(eap->line2 >= 0); // No error for value that is too big, will use the last entry. if (eap->line2 <= 0) { + if (eap->addr_count == 0) { + return _(e_no_errors); + } return _(e_invrange); } break; diff --git a/src/nvim/globals.h b/src/nvim/globals.h index 7b93fbc852..64a43a720e 100644 --- a/src/nvim/globals.h +++ b/src/nvim/globals.h @@ -920,7 +920,7 @@ EXTERN char e_patnotf2[] INIT(= N_("E486: Pattern not found: %s")); EXTERN char e_positive[] INIT(= N_("E487: Argument must be positive")); EXTERN char e_prev_dir[] INIT(= N_("E459: Cannot go back to previous directory")); -EXTERN char e_quickfix[] INIT(= N_("E42: No Errors")); +EXTERN char e_no_errors[] INIT(= N_("E42: No Errors")); EXTERN char e_loclist[] INIT(= N_("E776: No location list")); EXTERN char e_re_damg[] INIT(= N_("E43: Damaged match string")); EXTERN char e_re_corr[] INIT(= N_("E44: Corrupted regexp program")); diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index f528bc651b..16415e0f57 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -2932,7 +2932,7 @@ static void qf_jump_newwin(qf_info_T *qi, int dir, int errornr, int forceit, boo } if (qf_stack_empty(qi) || qf_list_empty(qf_get_curlist(qi))) { - emsg(_(e_quickfix)); + emsg(_(e_no_errors)); return; } @@ -3111,7 +3111,7 @@ void qf_list(exarg_T *eap) } if (qf_stack_empty(qi) || qf_list_empty(qf_get_curlist(qi))) { - emsg(_(e_quickfix)); + emsg(_(e_no_errors)); return; } @@ -3467,7 +3467,7 @@ void qf_view_result(bool split) qi = GET_LOC_LIST(curwin); } if (qf_list_empty(qf_get_curlist(qi))) { - emsg(_(e_quickfix)); + emsg(_(e_no_errors)); return; } @@ -4898,7 +4898,7 @@ void ex_cbelow(exarg_T *eap) || eap->cmdidx == CMD_cafter) ? BUF_HAS_QF_ENTRY : BUF_HAS_LL_ENTRY; if (!(curbuf->b_has_qf_entry & buf_has_flag)) { - emsg(_(e_quickfix)); + emsg(_(e_no_errors)); return; } @@ -4910,7 +4910,7 @@ void ex_cbelow(exarg_T *eap) qf_list_T *qfl = qf_get_curlist(qi); // check if the list has valid errors if (!qf_list_has_valid_entries(qfl)) { - emsg(_(e_quickfix)); + emsg(_(e_no_errors)); return; } diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim index f6d573d76b..8c9e39570f 100644 --- a/src/nvim/testdir/test_quickfix.vim +++ b/src/nvim/testdir/test_quickfix.vim @@ -85,6 +85,12 @@ func s:setup_commands(cchar) endif endfunc +" This must be run before any error lists are created. +func Test_AA_cc_no_errors() + call assert_fails('cc', 'E42:') + call assert_fails('ll', 'E42:') +endfunc + " Tests for the :clist and :llist commands func XlistTests(cchar) call s:setup_commands(a:cchar) |