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 [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c [emacs-unicode-2]
Date: Thu, 11 Nov 2004 22:18:53 -0500

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.843.2.31 emacs/src/xdisp.c:1.843.2.32
*** emacs/src/xdisp.c:1.843.2.31        Thu Nov  4 08:55:32 2004
--- emacs/src/xdisp.c   Fri Nov 12 02:52:56 2004
***************
*** 16142,16168 ****
        {
          tenths = remainder / 100;
          if (50 <= remainder % 100)
!           if (tenths < 9)
!             tenths++;
!           else
!             {
!               quotient++;
!               if (quotient == 10)
!                 tenths = -1;
!               else
!                 tenths = 0;
!             }
        }
        else
        if (500 <= remainder)
!         if (quotient < 999)
!           quotient++;
!         else
!           {
!             quotient = 1;
!             exponent++;
!             tenths = 0;
!           }
      }
  
    /* Calculate the LENGTH of QUOTIENT.TENTHS as a string. */
--- 16142,16172 ----
        {
          tenths = remainder / 100;
          if (50 <= remainder % 100)
!           {
!             if (tenths < 9)
!               tenths++;
!             else
!               {
!                 quotient++;
!                 if (quotient == 10)
!                   tenths = -1;
!                 else
!                   tenths = 0;
!               }
!           }
        }
        else
        if (500 <= remainder)
!         {
!           if (quotient < 999)
!             quotient++;
!           else
!             {
!               quotient = 1;
!               exponent++;
!               tenths = 0;
!             }
!         }
      }
  
    /* Calculate the LENGTH of QUOTIENT.TENTHS as a string. */
***************
*** 18455,18461 ****
  {
    struct image *img;
    struct face *face;
!   int face_ascent, glyph_ascent;
    struct glyph_slice slice;
  
    xassert (it->what == IT_IMAGE);
--- 18459,18465 ----
  {
    struct image *img;
    struct face *face;
!   int glyph_ascent;
    struct glyph_slice slice;
  
    xassert (it->what == IT_IMAGE);
***************
*** 18538,18544 ****
  
  #if 0  /* this breaks image tiling */
    /* If this glyph is alone on the last line, adjust it.ascent to minimum row 
ascent.  */
!   face_ascent = face->font ? FONT_BASE (face->font) : FRAME_BASELINE_OFFSET 
(it->f);
    if (face_ascent > it->ascent)
      it->ascent = it->phys_ascent = face_ascent;
  #endif
--- 18542,18548 ----
  
  #if 0  /* this breaks image tiling */
    /* If this glyph is alone on the last line, adjust it.ascent to minimum row 
ascent.  */
!   int face_ascent = face->font ? FONT_BASE (face->font) : 
FRAME_BASELINE_OFFSET (it->f);
    if (face_ascent > it->ascent)
      it->ascent = it->phys_ascent = face_ascent;
  #endif
***************
*** 20558,20576 ****
    int past_end = 0;
  
    first = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
    row = row_containing_pos (w, charpos, first, NULL, 0);
    if (row == NULL)
      {
!       if (charpos < MATRIX_ROW_START_CHARPOS (first))
!       {
!         *x = *y = *hpos = *vpos = 0;
!         return 1;
!       }
!       else
!       {
!         row = MATRIX_ROW (w->current_matrix, XFASTINT (w->window_end_vpos));
!         past_end = 1;
!       }
      }
  
    *x = row->x;
--- 20562,20581 ----
    int past_end = 0;
  
    first = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
+   if (charpos < MATRIX_ROW_START_CHARPOS (first))
+     {
+       *x = first->x;
+       *y = first->y;
+       *hpos = 0;
+       *vpos = MATRIX_ROW_VPOS (first, w->current_matrix);
+       return 1;
+     }
+ 
    row = row_containing_pos (w, charpos, first, NULL, 0);
    if (row == NULL)
      {
!       row = MATRIX_ROW (w->current_matrix, XFASTINT (w->window_end_vpos));
!       past_end = 1;
      }
  
    *x = row->x;
***************
*** 21116,21123 ****
    /* Which window is that in?  */
    window = window_from_coordinates (f, x, y, &part, 0, 0, 1);
  
!   /* If we were displaying active text in another window, clear that.  */
!   if (! EQ (window, dpyinfo->mouse_face_window))
      clear_mouse_face (dpyinfo);
  
    /* Not on a window -> return.  */
--- 21121,21130 ----
    /* Which window is that in?  */
    window = window_from_coordinates (f, x, y, &part, 0, 0, 1);
  
!   /* 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.  */




reply via email to

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