summaryrefslogtreecommitdiff
path: root/src/fringe.c
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2004-11-22 23:26:36 +0000
committerKim F. Storm <storm@cua.dk>2004-11-22 23:26:36 +0000
commit26a5d4404c163c51aa98e4cde76025a1fbe5058a (patch)
tree1e32bf15bf3560675ae8bf66c7ef76799ea99b0e /src/fringe.c
parent1c395ea72dc4cb1c33df32fee064470951982cc7 (diff)
downloademacs-26a5d4404c163c51aa98e4cde76025a1fbe5058a.tar.gz
(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.
Diffstat (limited to 'src/fringe.c')
-rw-r--r--src/fringe.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/src/fringe.c b/src/fringe.c
index 48974805c3c..a3e95c390e1 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -815,7 +815,7 @@ update_window_fringes (w, force_p)
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 @@ update_window_fringes (w, force_p)
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 FACE is nil, reset face to default fringe face. */)
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");
}