• Eli Zaretskii's avatar
    Fix display of TABs in hscrolled windows with line numbers · 8b2b4b58
    Eli Zaretskii authored
    * src/dispextern.h (struct it): New members tab_offset and
    line_number_produced_p.
    * src/xdisp.c (display_line): Don't set row->x to a negative value
    if line numbers are being displayed.  (Bug#30582)
    Reset the line_number_produced_p flag before laying out the glyph
    row.
    (x_produce_glyphs): Use the line_number_produced_p flag to decide
    whether to offset the X coordinate due to line-number display.
    Use the tab_offset member to restore the original TAB width for
    alignment purposes.
    (move_it_in_display_line_to): Don't produce line numbers when moving
    in hscrolled window to the left of first_visible_x.
    (maybe_produce_line_number): Set the line_number_produced_p flag.
    (Bug#30584)
    * src/term.c (produce_glyphs): Correct TAB width only when
    line_number_produced_p flag is set.
    
    (cherry picked from commit 1ac19055)
    8b2b4b58
term.c 128 KB