* xdisp.c (set_cursor_from_row): Simplify conditionals,
to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
This commit is contained in:
parent
0324f3af3d
commit
b5525cacc3
2 changed files with 25 additions and 20 deletions
|
@ -1,5 +1,8 @@
|
|||
2011-10-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* xdisp.c (set_cursor_from_row): Simplify conditionals,
|
||||
to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
|
||||
|
||||
* lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
|
||||
Some packages use them to denote characters with modifiers.
|
||||
|
||||
|
|
42
src/xdisp.c
42
src/xdisp.c
|
@ -13874,27 +13874,9 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
|
|||
glyph--;
|
||||
}
|
||||
}
|
||||
else if (match_with_avoid_cursor
|
||||
/* A truncated row may not include PT among its
|
||||
character positions. Setting the cursor inside the
|
||||
scroll margin will trigger recalculation of hscroll
|
||||
in hscroll_window_tree. But if a display string
|
||||
covers point, defer to the string-handling code
|
||||
below to figure this out. */
|
||||
|| (!string_seen
|
||||
&& ((row->truncated_on_left_p && pt_old < bpos_min)
|
||||
|| (row->truncated_on_right_p && pt_old > bpos_max)
|
||||
/* Zero-width characters produce no glyphs. */
|
||||
|| (!empty_line_p
|
||||
&& (row->reversed_p
|
||||
? glyph_after > glyphs_end
|
||||
: glyph_after < glyphs_end)))))
|
||||
else if (match_with_avoid_cursor)
|
||||
{
|
||||
if (!match_with_avoid_cursor
|
||||
&& row->truncated_on_left_p && pt_old < bpos_min)
|
||||
cursor = glyph_before;
|
||||
else
|
||||
cursor = glyph_after;
|
||||
cursor = glyph_after;
|
||||
x = -1;
|
||||
}
|
||||
else if (string_seen)
|
||||
|
@ -14033,6 +14015,26 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
|
|||
&& row->continued_p)
|
||||
return 0;
|
||||
}
|
||||
/* A truncated row may not include PT among its character positions.
|
||||
Setting the cursor inside the scroll margin will trigger
|
||||
recalculation of hscroll in hscroll_window_tree. But if a
|
||||
display string covers point, defer to the string-handling
|
||||
code below to figure this out. */
|
||||
else if (row->truncated_on_left_p && pt_old < bpos_min)
|
||||
{
|
||||
cursor = glyph_before;
|
||||
x = -1;
|
||||
}
|
||||
else if ((row->truncated_on_right_p && pt_old > bpos_max)
|
||||
/* Zero-width characters produce no glyphs. */
|
||||
|| (!empty_line_p
|
||||
&& (row->reversed_p
|
||||
? glyph_after > glyphs_end
|
||||
: glyph_after < glyphs_end)))
|
||||
{
|
||||
cursor = glyph_after;
|
||||
x = -1;
|
||||
}
|
||||
}
|
||||
|
||||
compute_x:
|
||||
|
|
Loading…
Add table
Reference in a new issue