X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/475789a7d6e602ceed2980c2f2a1c41fc46b56e7..b12f6e85a068462962d1bf012260e2b55aabd4e7:/src/fringe.c diff --git a/src/fringe.c b/src/fringe.c index 721b572e37..a39e729cfd 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -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;