less: correctly account for tabs when rewrapping lines
Lines are rewrapped when the terminal width changes or line numbers are enabled/disabled. The current calculation always adds eight to the line length for a tab whereas it should only add enough to move to the next tab stop. This doesn't affect the display of lines, which is handled elsewhere and gets tab stops right, but it does cause lines to be wrapped at the wrong position. Signed-off-by: Ron Yorston <rmy@frippery.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
f06386ad4f
commit
78cfa00154
@ -331,8 +331,10 @@ static void re_wrap(void)
|
||||
*d = *s;
|
||||
if (*d != '\0') {
|
||||
new_line_pos++;
|
||||
if (*d == '\t') /* tab */
|
||||
if (*d == '\t') { /* tab */
|
||||
new_line_pos += 7;
|
||||
new_line_pos &= (~7);
|
||||
}
|
||||
s++;
|
||||
d++;
|
||||
if (new_line_pos >= w) {
|
||||
|
Loading…
Reference in New Issue
Block a user