prompt: show a trailing $ when the tail of the answer is offscreen

This fixes https://savannah.gnu.org/bugs/?48894.
This commit is contained in:
Benno Schulenberg 2016-08-26 21:42:23 +02:00
parent 92c97c70d4
commit 1e3cffbbd6

View File

@ -466,7 +466,7 @@ void reset_statusbar_cursor(void)
/* Repaint the statusbar. */ /* Repaint the statusbar. */
void update_the_statusbar(void) void update_the_statusbar(void)
{ {
size_t start_col, index, page_start; size_t start_col, index, page_start, page_end;
char *expanded; char *expanded;
assert(prompt != NULL && statusbar_x <= strlen(answer)); assert(prompt != NULL && statusbar_x <= strlen(answer));
@ -474,6 +474,7 @@ void update_the_statusbar(void)
start_col = strlenpt(prompt) + 2; start_col = strlenpt(prompt) + 2;
index = strnlenpt(answer, statusbar_x); index = strnlenpt(answer, statusbar_x);
page_start = get_statusbar_page_start(start_col, start_col + index); page_start = get_statusbar_page_start(start_col, start_col + index);
page_end = get_statusbar_page_start(start_col, start_col + strlenpt(answer) - 1);
wattron(bottomwin, interface_color_pair[TITLE_BAR]); wattron(bottomwin, interface_color_pair[TITLE_BAR]);
@ -487,6 +488,8 @@ void update_the_statusbar(void)
waddstr(bottomwin, expanded); waddstr(bottomwin, expanded);
free(expanded); free(expanded);
waddch(bottomwin, (page_start >= page_end) ? ' ' : '$');
wattroff(bottomwin, interface_color_pair[TITLE_BAR]); wattroff(bottomwin, interface_color_pair[TITLE_BAR]);
statusbar_pww = statusbar_xplustabs(); statusbar_pww = statusbar_xplustabs();