emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/xdisp.c


From: Masatake YAMATO
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Tue, 07 Jun 2005 10:32:24 -0400

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.1019 emacs/src/xdisp.c:1.1020
*** emacs/src/xdisp.c:1.1019    Mon Jun  6 12:36:29 2005
--- emacs/src/xdisp.c   Tue Jun  7 14:32:22 2005
***************
*** 21491,21500 ****
          int total_pixel_width;
          int ignore;
  
! 
!         if (clear_mouse_face (dpyinfo))
!           cursor = No_Cursor;
! 
          b = Fprevious_single_property_change (make_number (charpos + 1),
                                                Qmouse_face, string, Qnil);
          if (NILP (b))
--- 21491,21498 ----
          int total_pixel_width;
          int ignore;
  
!         int vpos, hpos;
!         
          b = Fprevious_single_property_change (make_number (charpos + 1),
                                                Qmouse_face, string, Qnil);
          if (NILP (b))
***************
*** 21537,21551 ****
          for (tmp_glyph = glyph - gpos; tmp_glyph != glyph; tmp_glyph++)
            total_pixel_width += tmp_glyph->pixel_width;
  
!         dpyinfo->mouse_face_beg_col = (x - gpos);
!         dpyinfo->mouse_face_beg_row = (area == ON_MODE_LINE
!                                        ? (w->current_matrix)->nrows - 1
!                                        : 0);
  
          dpyinfo->mouse_face_beg_x   = original_x_pixel - (total_pixel_width + 
dx);
          dpyinfo->mouse_face_beg_y   = 0;
  
!         dpyinfo->mouse_face_end_col = (x - gpos) + gseq_length;
          dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_beg_row;
  
          dpyinfo->mouse_face_end_x   = 0;
--- 21535,21564 ----
          for (tmp_glyph = glyph - gpos; tmp_glyph != glyph; tmp_glyph++)
            total_pixel_width += tmp_glyph->pixel_width;
  
!         /* Pre calculation of re-rendering position */
!         vpos = (x - gpos);
!         hpos = (area == ON_MODE_LINE
!                 ? (w->current_matrix)->nrows - 1
!                 : 0);
!         
!         /* If the re-rendering position is included in the last
!            re-rendering area, we should do nothing. */
!         if ( window == dpyinfo->mouse_face_window
!              && dpyinfo->mouse_face_beg_col <= vpos
!              && vpos < dpyinfo->mouse_face_end_col
!              && dpyinfo->mouse_face_beg_row == hpos )
!           return;
!         
!         if (clear_mouse_face (dpyinfo))
!           cursor = No_Cursor;
!         
!         dpyinfo->mouse_face_beg_col = vpos;
!         dpyinfo->mouse_face_beg_row = hpos;
  
          dpyinfo->mouse_face_beg_x   = original_x_pixel - (total_pixel_width + 
dx);
          dpyinfo->mouse_face_beg_y   = 0;
  
!         dpyinfo->mouse_face_end_col = vpos + gseq_length;
          dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_beg_row;
  
          dpyinfo->mouse_face_end_x   = 0;
***************
*** 21617,21623 ****
    /* If we were displaying active text in another window, clear that.
       Also clear if we move out of text area in same window.  */
    if (! EQ (window, dpyinfo->mouse_face_window)
!       || (part != ON_TEXT && !NILP (dpyinfo->mouse_face_window)))
      clear_mouse_face (dpyinfo);
  
    /* Not on a window -> return.  */
--- 21630,21637 ----
    /* If we were displaying active text in another window, clear that.
       Also clear if we move out of text area in same window.  */
    if (! EQ (window, dpyinfo->mouse_face_window)
!       || (part != ON_TEXT && part != ON_MODE_LINE && part != ON_HEADER_LINE 
!         && !NILP (dpyinfo->mouse_face_window)))
      clear_mouse_face (dpyinfo);
  
    /* Not on a window -> return.  */




reply via email to

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