aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2014-05-12 17:57:59 +0900
committerYAMAMOTO Mitsuharu2014-05-12 17:57:59 +0900
commit9ce28d805f8777b3f7ca6a1039ed845319a5d4f5 (patch)
treeae29236b13d66734a14d65b7ee952e9640a26cef /src
parentbbbabffe06d4c763534d5be92844c48a3f8746e2 (diff)
downloademacs-9ce28d805f8777b3f7ca6a1039ed845319a5d4f5.tar.gz
emacs-9ce28d805f8777b3f7ca6a1039ed845319a5d4f5.zip
* xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xdisp.c16
2 files changed, 16 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 5d06882cee7..cc16cf8f274 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12014-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
4
12014-05-12 Glenn Morris <rgm@gnu.org> 52014-05-12 Glenn Morris <rgm@gnu.org>
2 6
3 * fileio.c (Ffile_executable_p): Doc tweak. 7 * fileio.c (Ffile_executable_p): Doc tweak.
diff --git a/src/xdisp.c b/src/xdisp.c
index 6728a0275ea..ab492d098d0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -24589,13 +24589,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
24589 else 24589 else
24590 overlap_hl = DRAW_NORMAL_TEXT; 24590 overlap_hl = DRAW_NORMAL_TEXT;
24591 24591
24592 if (hl != overlap_hl)
24593 clip_head = head;
24592 j = i; 24594 j = i;
24593 BUILD_GLYPH_STRINGS (j, start, h, t, 24595 BUILD_GLYPH_STRINGS (j, start, h, t,
24594 overlap_hl, dummy_x, last_x); 24596 overlap_hl, dummy_x, last_x);
24595 start = i; 24597 start = i;
24596 compute_overhangs_and_x (t, head->x, 1); 24598 compute_overhangs_and_x (t, head->x, 1);
24597 prepend_glyph_string_lists (&head, &tail, h, t); 24599 prepend_glyph_string_lists (&head, &tail, h, t);
24598 clip_head = head; 24600 if (clip_head == NULL)
24601 clip_head = head;
24599 } 24602 }
24600 24603
24601 /* Prepend glyph strings for glyphs in front of the first glyph 24604 /* 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 else 24619 else
24617 overlap_hl = DRAW_NORMAL_TEXT; 24620 overlap_hl = DRAW_NORMAL_TEXT;
24618 24621
24619 clip_head = head; 24622 if (hl == overlap_hl || clip_head == NULL)
24623 clip_head = head;
24620 BUILD_GLYPH_STRINGS (i, start, h, t, 24624 BUILD_GLYPH_STRINGS (i, start, h, t,
24621 overlap_hl, dummy_x, last_x); 24625 overlap_hl, dummy_x, last_x);
24622 for (s = h; s; s = s->next) 24626 for (s = h; s; s = s->next)
@@ -24640,13 +24644,16 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
24640 else 24644 else
24641 overlap_hl = DRAW_NORMAL_TEXT; 24645 overlap_hl = DRAW_NORMAL_TEXT;
24642 24646
24647 if (hl != overlap_hl)
24648 clip_tail = tail;
24643 BUILD_GLYPH_STRINGS (end, i, h, t, 24649 BUILD_GLYPH_STRINGS (end, i, h, t,
24644 overlap_hl, x, last_x); 24650 overlap_hl, x, last_x);
24645 /* Because BUILD_GLYPH_STRINGS updates the first argument, 24651 /* Because BUILD_GLYPH_STRINGS updates the first argument,
24646 we don't have `end = i;' here. */ 24652 we don't have `end = i;' here. */
24647 compute_overhangs_and_x (h, tail->x + tail->width, 0); 24653 compute_overhangs_and_x (h, tail->x + tail->width, 0);
24648 append_glyph_string_lists (&head, &tail, h, t); 24654 append_glyph_string_lists (&head, &tail, h, t);
24649 clip_tail = tail; 24655 if (clip_tail == NULL)
24656 clip_tail = tail;
24650 } 24657 }
24651 24658
24652 /* Append glyph strings for glyphs following the last glyph 24659 /* 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 else 24671 else
24665 overlap_hl = DRAW_NORMAL_TEXT; 24672 overlap_hl = DRAW_NORMAL_TEXT;
24666 24673
24667 clip_tail = tail; 24674 if (hl == overlap_hl || clip_tail == NULL)
24675 clip_tail = tail;
24668 i++; /* We must include the Ith glyph. */ 24676 i++; /* We must include the Ith glyph. */
24669 BUILD_GLYPH_STRINGS (end, i, h, t, 24677 BUILD_GLYPH_STRINGS (end, i, h, t,
24670 overlap_hl, x, last_x); 24678 overlap_hl, x, last_x);