Commit 9ce28d80 authored by YAMAMOTO Mitsuharu's avatar YAMAMOTO Mitsuharu
Browse files

* xdisp.c (draw_glyphs): Set clipping to highlight boundaries.

parent bbbabffe
2014-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
2014-05-12 Glenn Morris <rgm@gnu.org> 2014-05-12 Glenn Morris <rgm@gnu.org>
* fileio.c (Ffile_executable_p): Doc tweak. * fileio.c (Ffile_executable_p): Doc tweak.
......
...@@ -24589,13 +24589,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, ...@@ -24589,13 +24589,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
else else
overlap_hl = DRAW_NORMAL_TEXT; overlap_hl = DRAW_NORMAL_TEXT;
   
if (hl != overlap_hl)
clip_head = head;
j = i; j = i;
BUILD_GLYPH_STRINGS (j, start, h, t, BUILD_GLYPH_STRINGS (j, start, h, t,
overlap_hl, dummy_x, last_x); overlap_hl, dummy_x, last_x);
start = i; start = i;
compute_overhangs_and_x (t, head->x, 1); compute_overhangs_and_x (t, head->x, 1);
prepend_glyph_string_lists (&head, &tail, h, t); prepend_glyph_string_lists (&head, &tail, h, t);
clip_head = head; if (clip_head == NULL)
clip_head = head;
} }
   
/* Prepend glyph strings for glyphs in front of the first glyph /* Prepend glyph strings for glyphs in front of the first glyph
...@@ -24616,7 +24619,8 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, ...@@ -24616,7 +24619,8 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
else else
overlap_hl = DRAW_NORMAL_TEXT; overlap_hl = DRAW_NORMAL_TEXT;
   
clip_head = head; if (hl == overlap_hl || clip_head == NULL)
clip_head = head;
BUILD_GLYPH_STRINGS (i, start, h, t, BUILD_GLYPH_STRINGS (i, start, h, t,
overlap_hl, dummy_x, last_x); overlap_hl, dummy_x, last_x);
for (s = h; s; s = s->next) for (s = h; s; s = s->next)
...@@ -24640,13 +24644,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, ...@@ -24640,13 +24644,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
else else
overlap_hl = DRAW_NORMAL_TEXT; overlap_hl = DRAW_NORMAL_TEXT;
   
if (hl != overlap_hl)
clip_tail = tail;
BUILD_GLYPH_STRINGS (end, i, h, t, BUILD_GLYPH_STRINGS (end, i, h, t,
overlap_hl, x, last_x); overlap_hl, x, last_x);
/* Because BUILD_GLYPH_STRINGS updates the first argument, /* Because BUILD_GLYPH_STRINGS updates the first argument,
we don't have `end = i;' here. */ we don't have `end = i;' here. */
compute_overhangs_and_x (h, tail->x + tail->width, 0); compute_overhangs_and_x (h, tail->x + tail->width, 0);
append_glyph_string_lists (&head, &tail, h, t); append_glyph_string_lists (&head, &tail, h, t);
clip_tail = tail; if (clip_tail == NULL)
clip_tail = tail;
} }
   
/* Append glyph strings for glyphs following the last glyph /* Append glyph strings for glyphs following the last glyph
...@@ -24664,7 +24671,8 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row, ...@@ -24664,7 +24671,8 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
else else
overlap_hl = DRAW_NORMAL_TEXT; overlap_hl = DRAW_NORMAL_TEXT;
   
clip_tail = tail; if (hl == overlap_hl || clip_tail == NULL)
clip_tail = tail;
i++; /* We must include the Ith glyph. */ i++; /* We must include the Ith glyph. */
BUILD_GLYPH_STRINGS (end, i, h, t, BUILD_GLYPH_STRINGS (end, i, h, t,
overlap_hl, x, last_x); overlap_hl, x, last_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