]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix tab stops when line numbers are displayed
authorEli Zaretskii <eliz@gnu.org>
Sat, 24 Jun 2017 11:29:32 +0000 (14:29 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 24 Jun 2017 11:29:32 +0000 (14:29 +0300)
* src/xdisp.c (x_produce_glyphs):
* src/term.c (produce_glyphs): Adjust tab stops for the horizontal
space taken by the line-number display.

src/term.c
src/xdisp.c

index 8770aff8a92d6bb97e5c6dd934f3c9f3e111c6f9..b0e7e052e5135cf6b19c36446c44f9c35eb564ab 100644 (file)
@@ -1584,6 +1584,10 @@ produce_glyphs (struct it *it)
     {
       int absolute_x = (it->current_x
                        + it->continuation_lines_width);
+      /* Adjust for line numbers.  Kludge alert: the "2" below is
+        because we add 2 blanks to the actual line number.  */
+      if (!NILP (Vdisplay_line_numbers))
+       absolute_x -= it->lnum_width + 2;
       int next_tab_x
        = (((1 + absolute_x + it->tab_width - 1)
            / it->tab_width)
index f98e7a9ac7eab3a7e6abcf264835e0b39baa1990..5f86f0bfde644a63712a042fa51dfbb87c94da52 100644 (file)
@@ -27865,6 +27865,10 @@ x_produce_glyphs (struct it *it)
            {
              int tab_width = it->tab_width * font->space_width;
              int x = it->current_x + it->continuation_lines_width;
+             /* Adjust for line numbers.  Kludge alert: the "2" below
+                is because we add 2 blanks to the actual line number.  */
+             if (!NILP (Vdisplay_line_numbers))
+               x -= (it->lnum_width + 2) * font->space_width;
              int next_tab_x = ((1 + x + tab_width - 1) / tab_width) * tab_width;
 
              /* If the distance from the current position to the next tab