emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/fringe.c [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/fringe.c [emacs-unicode-2]
Date: Thu, 14 Oct 2004 05:13:36 -0400

Index: emacs/src/fringe.c
diff -c emacs/src/fringe.c:1.10.2.3 emacs/src/fringe.c:1.10.2.4
*** emacs/src/fringe.c:1.10.2.3 Thu Sep 30 01:20:35 2004
--- emacs/src/fringe.c  Thu Oct 14 08:49:53 2004
***************
*** 722,740 ****
  }
  
  /* Draw the fringes of window W.  Only fringes for rows marked for
!    update in redraw_fringe_bitmaps_p are drawn.  */
  
! void
! draw_window_fringes (w)
       struct window *w;
  {
    struct glyph_row *row;
    int yb = window_text_bottom_y (w);
    int nrows = w->current_matrix->nrows;
    int y = 0, rn;
  
    if (w->pseudo_window_p)
!     return;
  
    for (y = 0, rn = 0, row = w->current_matrix->rows;
         y < yb && rn < nrows;
--- 722,756 ----
  }
  
  /* Draw the fringes of window W.  Only fringes for rows marked for
!    update in redraw_fringe_bitmaps_p are drawn.
  
!    Return >0 if left or right fringe was redrawn in any way.
! 
!    If NO_FRINGE is non-zero, also return >0 if either fringe has zero width.
! 
!    A return value >0 indicates that the vertical line between windows
!    needs update (as it may be drawn in the fringe).
! */
! 
! int
! draw_window_fringes (w, no_fringe)
       struct window *w;
+      int no_fringe;
  {
    struct glyph_row *row;
    int yb = window_text_bottom_y (w);
    int nrows = w->current_matrix->nrows;
    int y = 0, rn;
+   int updated = 0;
  
    if (w->pseudo_window_p)
!     return 0;
! 
!   /* Must draw line if no fringe */
!   if (no_fringe
!       && (WINDOW_LEFT_FRINGE_WIDTH (w) == 0
!         || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0))
!     updated++;
  
    for (y = 0, rn = 0, row = w->current_matrix->rows;
         y < yb && rn < nrows;
***************
*** 744,750 ****
--- 760,769 ----
        continue;
        draw_row_fringe_bitmaps (w, row);
        row->redraw_fringe_bitmaps_p = 0;
+       updated++;
      }
+ 
+   return updated;
  }
  
  
***************
*** 950,960 ****
     Typically, we add an equal amount (+/- 1 pixel) to each fringe,
     but a negative width value is taken literally (after negating it).
  
!    We never make the fringes narrower than specified.  It is planned
!    to make fringe bitmaps customizable and expandable, and at that
!    time, the user will typically specify the minimum number of pixels
!    needed for his bitmaps, so we shouldn't select anything less than
!    what is specified.
  */
  
  void
--- 969,975 ----
     Typically, we add an equal amount (+/- 1 pixel) to each fringe,
     but a negative width value is taken literally (after negating it).
  
!    We never make the fringes narrower than specified.
  */
  
  void
***************
*** 1343,1351 ****
         0, 2, 0,
         doc: /* Return fringe bitmaps of row containing position POS in window 
WINDOW.
  If WINDOW is nil, use selected window.  If POS is nil, use value of point
! in that window.  Return value is a cons (LEFT . RIGHT) where LEFT and RIGHT
! are the fringe bitmap numbers for the bitmaps in the left and right fringe,
! resp.  If left or right fringe is empty, the corresponding element is nil.
  Return nil if POS is not visible in WINDOW.  */)
    (pos, window)
       Lisp_Object pos, window;
--- 1358,1367 ----
         0, 2, 0,
         doc: /* Return fringe bitmaps of row containing position POS in window 
WINDOW.
  If WINDOW is nil, use selected window.  If POS is nil, use value of point
! in that window.  Return value is a list (LEFT RIGHT OV), where LEFT
! is the symbol for the bitmap in the left fringe (or nil if no bitmap),
! RIGHT is similar for the right fringe, and OV is non-nil if there is an
! overlay arrow in the left fringe.
  Return nil if POS is not visible in WINDOW.  */)
    (pos, window)
       Lisp_Object pos, window;
***************
*** 1373,1380 ****
    row = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
    row = row_containing_pos (w, textpos, row, NULL, 0);
    if (row)
!     return Fcons (get_fringe_bitmap_name (row->left_fringe_bitmap),
!                 get_fringe_bitmap_name (row->right_fringe_bitmap));
    else
      return Qnil;
  }
--- 1389,1397 ----
    row = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
    row = row_containing_pos (w, textpos, row, NULL, 0);
    if (row)
!     return list3 (get_fringe_bitmap_name (row->left_fringe_bitmap),
!                 get_fringe_bitmap_name (row->right_fringe_bitmap),
!                 (row->overlay_arrow_p ? Qt : Qnil));
    else
      return Qnil;
  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]