Subject: [PATCH] Prevent cursor from over-drawing the fringe

From: Alan Third <[email-masked]>
Date: Tue, 17 May 2016 22:14:15 +0100

src/nsterm.m (ns_draw_window_cursor): Reduce clip area from ANY_AREA to
TEXT_AREA. (bug#16856)
---
 src/nsterm.m | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index 1d48c04..5eb4c8f 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -2873,9 +2873,8 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
   r.size.height = h;
   r.size.width = w->phys_cursor_width;
 
-  /* TODO: only needed in rare cases with last-resort font in HELLO..
-     should we do this more efficiently? */
-  ns_clip_to_row (w, glyph_row, ANY_AREA, NO); /* do ns_focus(f, &r, 1); if remove */
+  /* Prevent the cursor from being drawn outside the text area. */
+  ns_clip_to_row (w, glyph_row, TEXT_AREA, NO); /* do ns_focus(f, &r, 1); if remove */

   face = FACE_FROM_ID (f, phys_cursor_glyph->face_id);
-- 

I believe this fixes it.

-- 
Alan Third