Commit b5525cac authored by Paul Eggert's avatar Paul Eggert
Browse files

* xdisp.c (set_cursor_from_row): Simplify conditionals,

to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
parent 0324f3af
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.
......
......@@ -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)))))
{
if (!match_with_avoid_cursor
&& row->truncated_on_left_p && pt_old < bpos_min)
cursor = glyph_before;
else
cursor = glyph_after;
else if (match_with_avoid_cursor)
{
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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment