emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/indent.c
Date: Tue, 16 Nov 2004 12:04:19 -0500

Index: emacs/src/indent.c
diff -c emacs/src/indent.c:1.167 emacs/src/indent.c:1.168
*** emacs/src/indent.c:1.167    Tue Nov 16 14:21:37 2004
--- emacs/src/indent.c  Tue Nov 16 16:58:16 2004
***************
*** 2061,2089 ****
        XSETBUFFER (w->buffer, current_buffer);
      }
  
!   SET_TEXT_POS (pt, PT, PT_BYTE);
!   start_display (&it, w, pt);
! 
!   /* Scan from the start of the line containing PT.  If we don't
!      do this, we start moving with IT->current_x == 0, while PT is
!      really at some x > 0.  The effect is, in continuation lines, that
!      we end up with the iterator placed at where it thinks X is 0,
!      while the end position is really at some X > 0, the same X that
!      PT had.  */
!   if (XINT (lines) < 0)
      {
!       reseat_at_previous_visible_line_start (&it);
!       it.current_x = it.hpos = 0;
!       move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
!       it.vpos = 0;
      }
    else
!     move_it_by_lines (&it, 0, 0);
  
!   if (XINT (lines) != 0)
!     move_it_by_lines (&it, XINT (lines), 0);
  
!   SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
  
    if (BUFFERP (old_buffer))
      w->buffer = old_buffer;
--- 2061,2098 ----
        XSETBUFFER (w->buffer, current_buffer);
      }
  
!   if (noninteractive)
      {
!       struct position pos;
!       pos = *vmotion (PT, XINT (lines), w);
!       SET_PT_BOTH (pos.bufpos, pos.bytepos);
      }
    else
!     {
!       SET_TEXT_POS (pt, PT, PT_BYTE);
!       start_display (&it, w, pt);
  
!       /* Scan from the start of the line containing PT.  If we don't
!        do this, we start moving with IT->current_x == 0, while PT is
!        really at some x > 0.  The effect is, in continuation lines, that
!        we end up with the iterator placed at where it thinks X is 0,
!        while the end position is really at some X > 0, the same X that
!        PT had.  */
!       if (XINT (lines) < 0)
!       {
!         reseat_at_previous_visible_line_start (&it);
!         it.current_x = it.hpos = 0;
!         move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
!         it.vpos = 0;
!       }
!       else
!       move_it_by_lines (&it, 0, 0);
  
!       if (XINT (lines) != 0)
!       move_it_by_lines (&it, XINT (lines), 0);
! 
!       SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
!     }
  
    if (BUFFERP (old_buffer))
      w->buffer = old_buffer;




reply via email to

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