changeset 3586:7d077274d4bb

* xdisp.c (display_text_line): Handle case where line ends in a continuation character but we never actually displayed any buffer text (due to minibuffer prompt).
author Jim Blandy <jimb@redhat.com>
date Wed, 09 Jun 1993 07:21:28 +0000
parents 19aab2d09a4d
children 2b2b70186646
files src/xdisp.c
diffstat 1 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed Jun 09 04:56:47 1993 +0000
+++ b/src/xdisp.c	Wed Jun 09 07:21:28 1993 +0000
@@ -1665,7 +1665,7 @@
   register unsigned char *p;
   GLYPH *endp;
   register GLYPH *startp;
-  register GLYPH *p1prev;
+  register GLYPH *p1prev = 0;
   FRAME_PTR f = XFRAME (w->frame);
   int tab_width = XINT (current_buffer->tab_width);
   int ctl_arrow = !NILP (current_buffer->ctl_arrow);
@@ -1932,10 +1932,16 @@
   /* by backing up over it */
   if (p1 > endp)
     {
-      /* Start the next line with that same character */
-      pos--;
-      /* but at a negative hpos, to skip the columns output on this line.  */
-      val.hpos += p1prev - endp;
+      /* Don't back up if we never actually displayed any text.
+	 This occurs when the minibuffer prompt takes up the whole line.  */
+      if (p1prev)
+	{
+	  /* Start the next line with that same character */
+	  pos--;
+	  /* but at negative hpos, to skip the columns output on this line.  */
+	  val.hpos += p1prev - endp;
+	}
+
       /* Keep in this line everything up to the continuation column.  */
       p1 = endp;
     }