From cacd5c3580cc3ff0c9bd45b6905c3cbf76815412 Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Fri, 17 Oct 2014 09:43:36 +0300
Subject: [PATCH] Fix display on X of 1-pixel R2L characters.

 src/xterm.c (x_draw_hollow_cursor): Fix display of hollow cursor on
 1-pixel R2L characters.
 Reported by Dmitry Antipov <dmantipov@yandex.ru>, see
 http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
---
 src/ChangeLog | 7 +++++++
 src/xterm.c   | 3 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 19c553ff7a1..1572c6a2132 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2014-10-17  Eli Zaretskii  <eliz@gnu.org>
+
+	* xterm.c (x_draw_hollow_cursor): Fix display of hollow cursor on
+	1-pixel R2L characters.
+	Reported by Dmitry Antipov <dmantipov@yandex.ru>, see
+	http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
+
 2014-10-10  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Fix port to Debian GNU/kFreeBSD 7 (wheezy) (Bug#18666).
diff --git a/src/xterm.c b/src/xterm.c
index 717df452569..b6430ad11b0 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7133,7 +7133,8 @@ x_draw_hollow_cursor (struct window *w, struct glyph_row *row)
       && cursor_glyph->pixel_width > w->phys_cursor_width)
     {
       x += cursor_glyph->pixel_width - w->phys_cursor_width;
-      wd -= 1;
+      if (wd > 0)
+	wd -= 1;
     }
   /* Set clipping, draw the rectangle, and reset clipping again.  */
   x_clip_to_row (w, row, TEXT_AREA, gc);
-- 
2.39.5