fix(quickfix): make shortmess+=O work with cmdheight=0 (#29609)

This commit is contained in:
zeertzjq
2024-07-08 10:36:41 +08:00
committed by GitHub
parent 76b91106fc
commit 73ae7d44a2
3 changed files with 25 additions and 6 deletions

View File

@@ -146,8 +146,7 @@ EXTERN hlf_T edit_submode_highl; // highl. method for extra info
EXTERN bool cmdmsg_rl INIT( = false); // cmdline is drawn right to left
EXTERN int msg_col;
EXTERN int msg_row;
EXTERN int msg_scrolled; // Number of screen lines that windows have
// scrolled because of printing messages.
EXTERN int msg_scrolled; ///< Number of screen lines that messages have scrolled.
// when true don't set need_wait_return in msg_puts_attr()
// when msg_scrolled is non-zero
EXTERN bool msg_scrolled_ign INIT( = false);

View File

@@ -2915,8 +2915,7 @@ static void qf_jump_print_msg(qf_info_T *qi, int qf_index, qfline_T *qf_ptr, buf
{
garray_T *const gap = qfga_get();
// Update the screen before showing the message, unless the screen
// scrolled up.
// Update the screen before showing the message, unless messages scrolled.
if (!msg_scrolled) {
update_topline(curwin);
if (must_redraw) {
@@ -2938,7 +2937,8 @@ static void qf_jump_print_msg(qf_info_T *qi, int qf_index, qfline_T *qf_ptr, buf
linenr_T i = msg_scroll;
if (curbuf == old_curbuf && curwin->w_cursor.lnum == old_lnum) {
msg_scroll = true;
} else if (!msg_scrolled && shortmess(SHM_OVERALL)) {
} else if ((msg_scrolled == 0 || (p_ch == 0 && msg_scrolled == 1))
&& shortmess(SHM_OVERALL)) {
msg_scroll = false;
}
msg_ext_set_kind("quickfix");