mirror of https://github.com/MidnightCommander/mc
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:
parent
1a3ba4edbd
commit
1f121b7674
22
src/help.c
22
src/help.c
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue