diff src/fringe.c @ 58443:4e571414ba22

(update_window_fringes): Show top row indicator if window has header-line. Don't show arrow at bob and eob if the boundary indicators are not used. (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
author Kim F. Storm <storm@cua.dk>
date Mon, 22 Nov 2004 23:26:36 +0000
parents 99a14d81043f
children 6fee0102eafe
line wrap: on
line diff
--- a/src/fringe.c	Mon Nov 22 23:26:26 2004 +0000
+++ b/src/fringe.c	Mon Nov 22 23:26:36 2004 +0000
@@ -815,7 +815,7 @@
 
   if (!NILP (ind))
     {
-      int do_eob = 1, do_bob = 1;
+      int done_top = 0, done_bot = 0;
 
       for (y = 0, rn = 0;
 	   y < yb && rn < nrows;
@@ -836,19 +836,25 @@
 	  row->indicate_bob_p = row->indicate_top_line_p = 0;
 	  row->indicate_eob_p = row->indicate_bottom_line_p = 0;
 
-	  if (!NILP (boundary_top)
-	      && MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer)))
-	    row->indicate_bob_p = do_bob, do_bob = 0;
-	  else if (!NILP (arrow_top)
-		   && (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0) == rn)
-	    row->indicate_top_line_p = 1;
+	  if (!row->mode_line_p)
+	    {
+	      if (!done_top)
+		{
+		  if (MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer)))
+		    row->indicate_bob_p = !NILP (boundary_top);
+		  else
+		    row->indicate_top_line_p = !NILP (arrow_top);
+		  done_top = 1;
+		}
 
-	  if (!NILP (boundary_bot)
-	      && MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer)))
-	    row->indicate_eob_p = do_eob, do_eob = 0;
-	  else if (!NILP (arrow_bot)
-		   && y + row->height >= yb)
-	    row->indicate_bottom_line_p = 1;
+	      if (!done_bot)
+		{
+		  if (MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer)))
+		    row->indicate_eob_p = !NILP (boundary_bot), done_bot = 1;
+		  else if (y + row->height >= yb)
+		    row->indicate_bottom_line_p = !NILP (arrow_bot), done_bot = 1;
+		}
+	    }
 
 	  if (indicate_bob_p != row->indicate_bob_p
 	      || indicate_top_line_p != row->indicate_top_line_p
@@ -1347,7 +1353,7 @@
 
   if (!NILP (face))
     {
-      face_id = lookup_named_face (SELECTED_FRAME (), face, 'A');
+      face_id = lookup_named_face (SELECTED_FRAME (), face, 'A', 1);
       if (face_id < 0)
 	error ("No such face");
     }