Ticket #3754: Help viewer doesn't handle tabs correctly.

Upon seeing a tab, the help viewer effectively pushes the *current* word
forward.

Instead, it should first finish handling the current word (that is, print it on
screen) and only then adjust the column.

Signed-off-by: Mooffie <mooffie@gmail.com>
This commit is contained in:
Mooffie 2017-01-10 02:07:03 +02:00
parent 1a3ba4edbd
commit 1f121b7674
1 changed files with 13 additions and 9 deletions

View File

@ -531,18 +531,22 @@ help_show (WDialog * h, const char *paint_start)
line++;
col = 0;
break;
case '\t':
col = (col / 8 + 1) * 8;
if (col >= HELP_WINDOW_WIDTH)
{
line++;
col = 8;
}
break;
case ' ':
case '\t':
/* word delimiter */
if (painting)
help_print_word (h, word, &col, &line, TRUE);
{
help_print_word (h, word, &col, &line, c == ' ');
if (c == '\t')
{
col = (col / 8 + 1) * 8;
if (col >= HELP_WINDOW_WIDTH)
{
line++;
col = 8;
}
}
}
break;
default:
if (painting && (line < help_lines))