[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/indent.c [emacs-unicode-2]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/indent.c [emacs-unicode-2] |
Date: |
Fri, 19 Nov 2004 02:16:29 -0500 |
Index: emacs/src/indent.c
diff -c emacs/src/indent.c:1.157.2.7 emacs/src/indent.c:1.157.2.8
*** emacs/src/indent.c:1.157.2.7 Thu Nov 4 08:55:31 2004
--- emacs/src/indent.c Fri Nov 19 06:54:57 2004
***************
*** 2061,2081 ****
XSETBUFFER (w->buffer, current_buffer);
}
! SET_TEXT_POS (pt, PT, PT_BYTE);
! start_display (&it, w, pt);
! /* Move to the start of the display 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. */
! 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. */
! reseat_at_previous_visible_line_start (&it);
! it.current_x = it.hpos = 0;
! move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
!
! /* Move back if we got too far. This may happen if
! truncate-lines is on and PT is beyond right margin. */
! if (IT_CHARPOS (it) > PT && XINT (lines) > 0)
! move_it_by_lines (&it, -1, 0);
!
! it.vpos = 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;