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: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Wed, 12 Oct 2005 05:50:07 -0400

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.1059 emacs/src/xdisp.c:1.1060
*** emacs/src/xdisp.c:1.1059    Tue Oct 11 22:36:46 2005
--- emacs/src/xdisp.c   Wed Oct 12 09:50:06 2005
***************
*** 2060,2066 ****
    height = WINDOW_FRAME_LINE_HEIGHT (w);
  
    r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
!   end_row = r + w->current_matrix->nrows - 1;
  
    if (w->pseudo_window_p)
      {
--- 2060,2066 ----
    height = WINDOW_FRAME_LINE_HEIGHT (w);
  
    r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
!   end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w);
  
    if (w->pseudo_window_p)
      {
***************
*** 2079,2098 ****
        area = RIGHT_MARGIN_AREA;
        goto text_glyph;
  
-     case ON_TEXT:
-     case ON_MODE_LINE:
      case ON_HEADER_LINE:
        area = TEXT_AREA;
  
      text_glyph:
        gr = 0; gy = 0;
!       for (; r < end_row && r->enabled_p; ++r)
        if (r->y + r->height > y)
          {
            gr = r; gy = r->y;
            break;
          }
  
        if (gr && gy <= y)
        {
          struct glyph *g = gr->glyphs[area];
--- 2079,2106 ----
        area = RIGHT_MARGIN_AREA;
        goto text_glyph;
  
      case ON_HEADER_LINE:
+     case ON_MODE_LINE:
+       gr = (part == ON_HEADER_LINE
+           ? MATRIX_HEADER_LINE_ROW (w->current_matrix)
+           : MATRIX_MODE_LINE_ROW (w->current_matrix));
+       gy = gr->y;
+       area = TEXT_AREA;
+       goto text_glyph_row_found;
+ 
+     case ON_TEXT:
        area = TEXT_AREA;
  
      text_glyph:
        gr = 0; gy = 0;
!       for (; r <= end_row && r->enabled_p; ++r)
        if (r->y + r->height > y)
          {
            gr = r; gy = r->y;
            break;
          }
  
+     text_glyph_row_found:
        if (gr && gy <= y)
        {
          struct glyph *g = gr->glyphs[area];
***************
*** 2149,2155 ****
  
      row_glyph:
        gr = 0, gy = 0;
!       for (; r < end_row && r->enabled_p; ++r)
        if (r->y + r->height > y)
          {
            gr = r; gy = r->y;
--- 2157,2163 ----
  
      row_glyph:
        gr = 0, gy = 0;
!       for (; r <= end_row && r->enabled_p; ++r)
        if (r->y + r->height > y)
          {
            gr = r; gy = r->y;




reply via email to

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