]> code.delx.au - gnu-emacs/blobdiff - src/fringe.c
Merge from emacs--devo--0
[gnu-emacs] / src / fringe.c
index 721b572e37381f0dbf89de07589ea6257a4638a6..a39e729cfde967c86bccea582519e387302e7f21 100644 (file)
@@ -1,13 +1,13 @@
 /* Fringe handling (split from xdisp.c).
    Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1997,
-                 1998, 1999, 2000, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006 Free Software Foundation, Inc.
+                 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+                 2006, 2007  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
 GNU Emacs is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -867,10 +867,7 @@ draw_fringe_bitmap (w, row, left_p)
   draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP);
 
   if (left_p && row->overlay_arrow_bitmap != NO_FRINGE_BITMAP)
-    draw_fringe_bitmap_1 (w, row, 1, 1,
-                         (row->overlay_arrow_bitmap < 0
-                          ? get_logical_fringe_bitmap (w, Qoverlay_arrow, 0, 0)
-                          : row->overlay_arrow_bitmap));
+    draw_fringe_bitmap_1 (w, row, 1, 1, row->overlay_arrow_bitmap);
 }
 
 
@@ -1152,6 +1149,9 @@ update_window_fringes (w, keep_current_p)
            }
        }
 
+      if (row->overlay_arrow_bitmap < 0)
+       row->overlay_arrow_bitmap = get_logical_fringe_bitmap (w, Qoverlay_arrow, 0, 0);
+
       if (row->overlay_arrow_bitmap != cur->overlay_arrow_bitmap)
        {
          redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1;
@@ -1404,7 +1404,7 @@ init_fringe_bitmap (which, fb, once_p)
 DEFUN ("define-fringe-bitmap", Fdefine_fringe_bitmap, Sdefine_fringe_bitmap,
        2, 5, 0,
        doc: /* Define fringe bitmap BITMAP from BITS of size HEIGHT x WIDTH.
-BITMAP is a symbol or string naming the new fringe bitmap.
+BITMAP is a symbol identifying the new fringe bitmap.
 BITS is either a string or a vector of integers.
 HEIGHT is height of bitmap.  If HEIGHT is nil, use length of BITS.
 WIDTH must be an integer between 1 and 16, or nil which defaults to 8.
@@ -1429,7 +1429,7 @@ If BITMAP already exists, the existing definition is replaced.  */)
   else if (VECTORP (bits))
     h = XVECTOR (bits)->size;
   else
-    bits = wrong_type_argument (Qsequencep, bits);
+    wrong_type_argument (Qsequencep, bits);
 
   if (NILP (height))
     fb.height = h;
@@ -1695,12 +1695,17 @@ init_fringe ()
     }
 }
 
-#ifdef HAVE_NTGUI
+#if defined (HAVE_NTGUI) || defined (MAC_OS)
 
 void
+#ifdef HAVE_NTGUI
 w32_init_fringe ()
+#else  /* MAC_OS */
+mac_init_fringe ()
+#endif
 {
   int bt;
+  struct redisplay_interface *rif = FRAME_RIF (SELECTED_FRAME ());
 
   if (!rif)
     return;
@@ -1711,12 +1716,15 @@ w32_init_fringe ()
       rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width);
     }
 }
+#endif
 
+#ifdef HAVE_NTGUI
 void
 w32_reset_fringes ()
 {
   /* Destroy row bitmaps.  */
   int bt;
+  struct redisplay_interface *rif = FRAME_RIF (SELECTED_FRAME ());
 
   if (!rif)
     return;