[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/line-numbers 0d5c713 13/14: Move additional hscrol
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] scratch/line-numbers 0d5c713 13/14: Move additional hscrolling code into a suitable 'if' |
Date: |
Sat, 24 Jun 2017 13:12:54 -0400 (EDT) |
branch: scratch/line-numbers
commit 0d5c713a6b21cd3bd8a232ff35924c65cd3cce6b
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Move additional hscrolling code into a suitable 'if'
* src/xdisp.c (hscroll_window_tree): Make additional calculations
regarding glyphs produced for line numbers conditional on
line-number display.
---
src/xdisp.c | 41 ++++++++++++++++++++++++-----------------
1 file changed, 24 insertions(+), 17 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index d067359..6fa1d84 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13070,27 +13070,34 @@ hscroll_window_tree (Lisp_Object window)
bool row_r2l_p = cursor_row->reversed_p;
bool hscl = hscrolling_current_line_p (w);
int x_offset = 0;
- struct glyph *g;
- if (!row_r2l_p)
+ /* When line numbers are displayed, we need to account for
+ the horizontal space they consume. */
+ if (!NILP (Vdisplay_line_numbers))
{
- for (g = cursor_row->glyphs[TEXT_AREA];
- g < cursor_row->glyphs[TEXT_AREA] +
cursor_row->used[TEXT_AREA];
- g++)
+ struct glyph *g;
+ if (!row_r2l_p)
{
- if (!(NILP (g->object) && g->charpos < 0))
- break;
- x_offset += g->pixel_width;
+ for (g = cursor_row->glyphs[TEXT_AREA];
+ g < cursor_row->glyphs[TEXT_AREA]
+ + cursor_row->used[TEXT_AREA];
+ g++)
+ {
+ if (!(NILP (g->object) && g->charpos < 0))
+ break;
+ x_offset += g->pixel_width;
+ }
}
- }
- else
- {
- for (g = cursor_row->glyphs[TEXT_AREA] +
cursor_row->used[TEXT_AREA];
- g > cursor_row->glyphs[TEXT_AREA];
- g--)
+ else
{
- if (!(NILP ((g - 1)->object) && (g - 1)->charpos < 0))
- break;
- x_offset += (g - 1)->pixel_width;
+ for (g = cursor_row->glyphs[TEXT_AREA]
+ + cursor_row->used[TEXT_AREA];
+ g > cursor_row->glyphs[TEXT_AREA];
+ g--)
+ {
+ if (!(NILP ((g - 1)->object) && (g - 1)->charpos < 0))
+ break;
+ x_offset += (g - 1)->pixel_width;
+ }
}
}
- [Emacs-diffs] scratch/line-numbers 77f8b86 03/14: Fix display of line numbers with fonts larger than the default, (continued)
- [Emacs-diffs] scratch/line-numbers 77f8b86 03/14: Fix display of line numbers with fonts larger than the default, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers bbaf2f3 02/14: Fix background color beyond EOB and cursor display, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 9776d7b 05/14: Don't display line numbers in the minibuffer and in tooltip frames., Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers ead4ab6 14/14: Improve documentation in NEWS., Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers efedb66 08/14: Rename display-line-width, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 13cc19a 12/14: Partial fix of hscroll of truncated lines with line numbers, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 7d7602c 06/14: Fix crashes on TTY frames due to negative lnum_width., Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 55a9298 07/14: Fix tab stops when line numbers are displayed, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 71a7294 10/14: Support a separate face for displaying the current line's number, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers d4eddb0 01/14: Fix display of indicate-empty-lines when line numbers are displayed, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 0d5c713 13/14: Move additional hscrolling code into a suitable 'if',
Eli Zaretskii <=
- [Emacs-diffs] scratch/line-numbers fa5e84c 09/14: Change display of current line in relative mode, Eli Zaretskii, 2017/06/24
- [Emacs-diffs] scratch/line-numbers 6e18841 11/14: Allow Lisp program to disable line-number display for specific lines, Eli Zaretskii, 2017/06/24