emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/dispnew.c
Date: Thu, 28 Feb 2002 20:06:02 -0500

Index: emacs/src/dispnew.c
diff -c emacs/src/dispnew.c:1.299 emacs/src/dispnew.c:1.300
*** emacs/src/dispnew.c:1.299   Tue Dec 11 17:20:11 2001
--- emacs/src/dispnew.c Sat Jan 19 08:54:57 2002
***************
*** 238,244 ****
  Lisp_Object Vstandard_display_table;
  
  /* Nonzero means reading single-character input with prompt so put
!    cursor on mini-buffer after the prompt.  positive means at end of
     text in echo area; negative means at beginning of line.  */
  
  int cursor_in_echo_area;
--- 238,244 ----
  Lisp_Object Vstandard_display_table;
  
  /* Nonzero means reading single-character input with prompt so put
!    cursor on mini-buffer after the prompt.  Positive means at end of
     text in echo area; negative means at beginning of line.  */
  
  int cursor_in_echo_area;
***************
*** 358,364 ****
  
  /* Add to the redisplay history how window W has been displayed.
     MSG is a trace containing the information how W's glyph matrix
!    has been contructed.  PAUSED_P non-zero means that the update
     has been interrupted for pending input.  */
  
  static void
--- 358,364 ----
  
  /* Add to the redisplay history how window W has been displayed.
     MSG is a trace containing the information how W's glyph matrix
!    has been constructed.  PAUSED_P non-zero means that the update
     has been interrupted for pending input.  */
  
  static void
***************
*** 624,630 ****
    int left = -1, right = -1;
    int window_x, window_y, window_width = -1, window_height;
  
!   /* See if W had a top line that has disappeared now, or vice versa.  */
    if (w)
      {
        header_line_p = WINDOW_WANTS_HEADER_LINE_P (w);
--- 624,630 ----
    int left = -1, right = -1;
    int window_x, window_y, window_width = -1, window_height;
  
!   /* See if W had a header line that has disappeared now, or vice versa.  */
    if (w)
      {
        header_line_p = WINDOW_WANTS_HEADER_LINE_P (w);
***************
*** 1124,1130 ****
         Redisplay outputs such glyphs, and flickering effects were
         the result.  This also depended on the contents of memory
         returned by xmalloc.  If flickering happens again, activate
!        the code below If the flickering is gone with that, chances
         are that the flickering has the same reason as here.  */
    bzero (p[0], (char *) p[LAST_AREA] - (char *) p[0]);
  #endif
--- 1124,1130 ----
         Redisplay outputs such glyphs, and flickering effects were
         the result.  This also depended on the contents of memory
         returned by xmalloc.  If flickering happens again, activate
!        the code below.  If the flickering is gone with that, chances
         are that the flickering has the same reason as here.  */
    bzero (p[0], (char *) p[LAST_AREA] - (char *) p[0]);
  #endif
***************
*** 1407,1413 ****
  }
  
  
! /* Return the cost of drawing line VPOS In MATRIX.  The cost equals
     the number of characters in the line.  If must_write_spaces is
     zero, leading and trailing spaces are ignored.  */
  
--- 1407,1413 ----
  }
  
  
! /* Return the cost of drawing line VPOS in MATRIX.  The cost equals
     the number of characters in the line.  If must_write_spaces is
     zero, leading and trailing spaces are ignored.  */
  
***************
*** 1571,1577 ****
  {
    if (pool)
      {
!       /* More freed than allocated? */
        --glyph_pool_count;
        xassert (glyph_pool_count >= 0);
  
--- 1571,1577 ----
  {
    if (pool)
      {
!       /* More freed than allocated?  */
        --glyph_pool_count;
        xassert (glyph_pool_count >= 0);
  
***************
*** 1619,1625 ****
        pool->nglyphs = needed;
      }
  
!   /* Remember the number of rows and columns because (a) we use then
       to do sanity checks, and (b) the number of columns determines
       where rows in the frame matrix start---this must be available to
       determine pointers to rows of window sub-matrices.  */
--- 1619,1625 ----
        pool->nglyphs = needed;
      }
  
!   /* Remember the number of rows and columns because (a) we use them
       to do sanity checks, and (b) the number of columns determines
       where rows in the frame matrix start---this must be available to
       determine pointers to rows of window sub-matrices.  */
***************
*** 1782,1788 ****
  
     CHANGED_LEAF_MATRIX set if the dimension or location of a matrix of
     any window in the tree will be changed or have been changed (see
!    DIM_ONLY_P).
  
     *WINDOW_CHANGE_FLAGS must be initialized by the caller of this
     function.
--- 1782,1788 ----
  
     CHANGED_LEAF_MATRIX set if the dimension or location of a matrix of
     any window in the tree will be changed or have been changed (see
!    DIM_ONLY_P)
  
     *WINDOW_CHANGE_FLAGS must be initialized by the caller of this
     function.
***************
*** 1874,1880 ****
        w = XWINDOW (window);
  
        /* Get the dimension of the window sub-matrix for W, depending
!        on whether this a combination or a leaf window.  */
        if (!NILP (w->hchild))
        dim = allocate_matrices_for_frame_redisplay (w->hchild, x, y, 
                                                     dim_only_p,
--- 1874,1880 ----
        w = XWINDOW (window);
  
        /* Get the dimension of the window sub-matrix for W, depending
!        on whether this is a combination or a leaf window.  */
        if (!NILP (w->hchild))
        dim = allocate_matrices_for_frame_redisplay (w->hchild, x, y, 
                                                     dim_only_p,
***************
*** 1979,1985 ****
              /* One partially visible line at the top and
                 bottom of the window.  */
              + 2
!             /* 2 for top and mode line.  */
              + 2);
      }
  #endif /* HAVE_WINDOW_SYSTEM */
--- 1979,1985 ----
              /* One partially visible line at the top and
                 bottom of the window.  */
              + 2
!             /* 2 for header and mode line.  */
              + 2);
      }
  #endif /* HAVE_WINDOW_SYSTEM */
***************
*** 2188,2194 ****
  
  
  /* Save away the contents of frame F's current frame matrix.  Value is
!    a glyph matrix holding the contents of F's current frame matrix. '*/
  
  static struct glyph_matrix *
  save_current_matrix (f)
--- 2188,2194 ----
  
  
  /* Save away the contents of frame F's current frame matrix.  Value is
!    a glyph matrix holding the contents of F's current frame matrix.  */
  
  static struct glyph_matrix *
  save_current_matrix (f)
***************
*** 2997,3003 ****
        new_rows[i].enabled_p = 0;
      }
  
!   /* Do the same for window matrices, if MATRIX Is a frame matrix.  */
    if (frame_matrix_frame)
      mirror_line_dance (XWINDOW (frame_matrix_frame->root_window),
                       unchanged_at_top, nlines, copy_from, retained_p);
--- 2997,3003 ----
        new_rows[i].enabled_p = 0;
      }
  
!   /* Do the same for window matrices, if MATRIX is a frame matrix.  */
    if (frame_matrix_frame)
      mirror_line_dance (XWINDOW (frame_matrix_frame->root_window),
                       unchanged_at_top, nlines, copy_from, retained_p);
***************
*** 3271,3277 ****
  
  
  /* Translate horizontal position HPOS which is relative to window W to
!    a vertical position relative to W's frame.  */
  
  static int
  window_to_frame_hpos (w, hpos)
--- 3271,3277 ----
  
  
  /* Translate horizontal position HPOS which is relative to window W to
!    a horizontal position relative to W's frame.  */
  
  static int
  window_to_frame_hpos (w, hpos)
***************
*** 3397,3403 ****
    struct glyph_row *glyph_row;
    struct glyph *glyphs, *glyph, *end;
    int n;
!   /* Non-null means that Redisplay of W is based on window matrices.  */
    int window_redisplay_p = FRAME_WINDOW_P (f);
    /* Non-null means we are in overwrite mode.  */
    int overwrite_p = !NILP (current_buffer->overwrite_mode);
--- 3397,3403 ----
    struct glyph_row *glyph_row;
    struct glyph *glyphs, *glyph, *end;
    int n;
!   /* Non-null means that redisplay of W is based on window matrices.  */
    int window_redisplay_p = FRAME_WINDOW_P (f);
    /* Non-null means we are in overwrite mode.  */
    int overwrite_p = !NILP (current_buffer->overwrite_mode);
***************
*** 3799,3810 ****
        /* Update the tool-bar window, if present.  */
        if (WINDOWP (f->tool_bar_window))
        {
-         Lisp_Object tem;
          struct window *w = XWINDOW (f->tool_bar_window);
  
          /* Update tool-bar window.  */
          if (w->must_be_updated_p)
            {
              update_window (w, 1);
              w->must_be_updated_p = 0;
  
--- 3799,3811 ----
        /* Update the tool-bar window, if present.  */
        if (WINDOWP (f->tool_bar_window))
        {
          struct window *w = XWINDOW (f->tool_bar_window);
  
          /* Update tool-bar window.  */
          if (w->must_be_updated_p)
            {
+             Lisp_Object tem;
+ 
              update_window (w, 1);
              w->must_be_updated_p = 0;
  
***************
*** 3996,4002 ****
          if (row->used[RIGHT_MARGIN_AREA])
            rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA);
  
!         /* Record in neighbor rows that ROW overwrites part of their
             display.  */
          if (row->phys_ascent > row->ascent && i > 0)
            MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1;
--- 3997,4003 ----
          if (row->used[RIGHT_MARGIN_AREA])
            rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA);
  
!         /* Record in neighbour rows that ROW overwrites part of their
             display.  */
          if (row->phys_ascent > row->ascent && i > 0)
            MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1;
***************
*** 4077,4084 ****
        rif->update_window_begin_hook (w);
        yb = window_text_bottom_y (w);
  
!       /* If window has a top line, update it before everything else.
!        Adjust y-positions of other rows by the top line height.  */
        row = desired_matrix->rows;
        end = row + desired_matrix->nrows - 1;
        
--- 4078,4085 ----
        rif->update_window_begin_hook (w);
        yb = window_text_bottom_y (w);
  
!       /* If window has a header line, update it before everything else.
!        Adjust y-positions of other rows by the header line height.  */
        row = desired_matrix->rows;
        end = row + desired_matrix->nrows - 1;
        
***************
*** 4123,4129 ****
          changed_p = 1;
        }
  
!       /* Update the top mode line after scrolling because a new top
         line would otherwise overwrite lines at the top of the window
         that can be scrolled.  */
        if (header_line_row && header_line_row->enabled_p)
--- 4124,4130 ----
          changed_p = 1;
        }
  
!       /* Update the header line after scrolling because a new header
         line would otherwise overwrite lines at the top of the window
         that can be scrolled.  */
        if (header_line_row && header_line_row->enabled_p)
***************
*** 4140,4146 ****
            int vpos = MATRIX_ROW_VPOS (row, desired_matrix);
            int i;
            
!           /* We'll Have to play a little bit with when to
               detect_input_pending.  If it's done too often,
               scrolling large windows with repeated scroll-up
               commands will too quickly pause redisplay.  */
--- 4141,4147 ----
            int vpos = MATRIX_ROW_VPOS (row, desired_matrix);
            int i;
            
!           /* We'll have to play a little bit with when to
               detect_input_pending.  If it's done too often,
               scrolling large windows with repeated scroll-up
               commands will too quickly pause redisplay.  */
***************
*** 4169,4175 ****
        
      set_cursor:
        
!       /* Fix the appearance of overlapping(overlapped rows.  */
        if (!paused_p && !w->pseudo_window_p)
        {
          if (changed_p && rif->fix_overlapping_area)
--- 4170,4176 ----
        
      set_cursor:
        
!       /* Fix the appearance of overlapping/overlapped rows.  */
        if (!paused_p && !w->pseudo_window_p)
        {
          if (changed_p && rif->fix_overlapping_area)
***************
*** 4683,4692 ****
  
  static struct run **runs;
  
- static struct row_entry *add_row_entry P_ ((struct window *,
-                                           struct glyph_row *));
- 
- 
  /* Add glyph row ROW to the scrolling hash table during the scrolling
     of window W.  */
  
--- 4684,4689 ----
***************
*** 4718,4724 ****
  
  
  /* Try to reuse part of the current display of W by scrolling lines.
!    HEADER_LINE_P non-zero means W has a top mode line.
  
     The algorithm is taken from Communications of the ACM, Apr78 "A
     Technique for Isolating Differences Between Files."  It should take
--- 4715,4721 ----
  
  
  /* Try to reuse part of the current display of W by scrolling lines.
!    HEADER_LINE_P non-zero means W has a header line.
  
     The algorithm is taken from Communications of the ACM, Apr78 "A
     Technique for Isolating Differences Between Files."  It should take
***************
*** 5107,5113 ****
  #ifdef EMACS_OUTQSIZE
                      if (EMACS_OUTQSIZE (0, &outq) < 0)
                        /* Probably not a tty.  Ignore the error and reset
!                        * the outq count.  */
                        outq = PENDING_OUTPUT_COUNT (stdout);
  #endif
                      outq *= 10;
--- 5104,5110 ----
  #ifdef EMACS_OUTQSIZE
                      if (EMACS_OUTQSIZE (0, &outq) < 0)
                        /* Probably not a tty.  Ignore the error and reset
!                          the outq count.  */
                        outq = PENDING_OUTPUT_COUNT (stdout);
  #endif
                      outq *= 10;
***************
*** 5717,5723 ****
  
  
  /* Value is the string under window-relative coordinates X/Y in the
!    mode or top line of window W, or nil if none.  MODE_LINE_P non-zero
     means look at the mode line.  *CHARPOS is set to the position in
     the string returned.  */
  
--- 5714,5720 ----
  
  
  /* Value is the string under window-relative coordinates X/Y in the
!    mode or header line of window W, or nil if none.  MODE_LINE_P non-zero
     means look at the mode line.  *CHARPOS is set to the position in
     the string returned.  */
  
***************
*** 6107,6113 ****
    /* Assure that 0 <= usec < 1000000.  */
    if (usec < 0)
      {
!       /* We can't rely on the rounding being correct if user is negative.  */
        if (-1000000 < usec)
        sec--, usec += 1000000;
        else
--- 6104,6110 ----
    /* Assure that 0 <= usec < 1000000.  */
    if (usec < 0)
      {
!       /* We can't rely on the rounding being correct if usec is negative.  */
        if (-1000000 < usec)
        sec--, usec += 1000000;
        else
***************
*** 6138,6144 ****
  #else /* not VMS */
  /* The reason this is done this way 
      (rather than defined (H_S) && defined (H_T))
!    is because the VMS preprocessor doesn't grok `defined' */
  #ifdef HAVE_SELECT
    EMACS_GET_TIME (end_time);
    EMACS_SET_SECS_USECS (timeout, sec, usec);
--- 6135,6141 ----
  #else /* not VMS */
  /* The reason this is done this way 
      (rather than defined (H_S) && defined (H_T))
!    is because the VMS preprocessor doesn't grok `defined'.  */
  #ifdef HAVE_SELECT
    EMACS_GET_TIME (end_time);
    EMACS_SET_SECS_USECS (timeout, sec, usec);
***************
*** 6435,6441 ****
        exit (1);
      }
  
!   /* Look at the TERM variable */
    terminal_type = (char *) getenv ("TERM");
    if (!terminal_type)
      {
--- 6432,6438 ----
        exit (1);
      }
  
!   /* Look at the TERM variable.  */
    terminal_type = (char *) getenv ("TERM");
    if (!terminal_type)
      {



reply via email to

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