prompt: work around a VTE bug by outdancing an ncurses optimization
This fixes https://savannah.gnu.org/bugs/?48852.master
parent
bd1c5d7c63
commit
c22cd03f18
|
@ -455,8 +455,15 @@ void reset_statusbar_cursor(void)
|
||||||
size_t start_col = strlenpt(prompt) + 2;
|
size_t start_col = strlenpt(prompt) + 2;
|
||||||
size_t xpt = statusbar_xplustabs();
|
size_t xpt = statusbar_xplustabs();
|
||||||
|
|
||||||
|
/* Work around a cursor-misplacement bug in VTEs. */
|
||||||
|
wmove(bottomwin, 0, 0);
|
||||||
|
wnoutrefresh(bottomwin);
|
||||||
|
doupdate();
|
||||||
|
|
||||||
wmove(bottomwin, 0, start_col + xpt -
|
wmove(bottomwin, 0, start_col + xpt -
|
||||||
get_statusbar_page_start(start_col, start_col + xpt));
|
get_statusbar_page_start(start_col, start_col + xpt));
|
||||||
|
|
||||||
|
wnoutrefresh(bottomwin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Repaint the statusbar. */
|
/* Repaint the statusbar. */
|
||||||
|
@ -487,7 +494,6 @@ void update_the_statusbar(void)
|
||||||
|
|
||||||
statusbar_pww = statusbar_xplustabs();
|
statusbar_pww = statusbar_xplustabs();
|
||||||
reset_statusbar_cursor();
|
reset_statusbar_cursor();
|
||||||
wnoutrefresh(bottomwin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update the statusbar line /if/ the placewewant changes page. */
|
/* Update the statusbar line /if/ the placewewant changes page. */
|
||||||
|
@ -672,7 +678,6 @@ functionptrtype get_prompt_string(int *actual, bool allow_tabs,
|
||||||
last_kbinput = kbinput;
|
last_kbinput = kbinput;
|
||||||
#endif
|
#endif
|
||||||
reset_statusbar_cursor();
|
reset_statusbar_cursor();
|
||||||
wnoutrefresh(bottomwin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DISABLE_HISTORIES
|
#ifndef DISABLE_HISTORIES
|
||||||
|
|
Loading…
Reference in New Issue