[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/indent.c [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/indent.c [lexbind] |
Date: |
Wed, 08 Dec 2004 18:57:27 -0500 |
Index: emacs/src/indent.c
diff -c emacs/src/indent.c:1.152.2.9 emacs/src/indent.c:1.152.2.10
*** emacs/src/indent.c:1.152.2.9 Wed Dec 8 23:31:37 2004
--- emacs/src/indent.c Wed Dec 8 23:36:22 2004
***************
*** 220,226 ****
Lisp_Object window;
{
Lisp_Object prop, position, overlay_limit, proplimit;
! Lisp_Object buffer;
int end, inv_p;
XSETFASTINT (position, pos);
--- 220,226 ----
Lisp_Object window;
{
Lisp_Object prop, position, overlay_limit, proplimit;
! Lisp_Object buffer, tmp;
int end, inv_p;
XSETFASTINT (position, pos);
***************
*** 251,258 ****
/* No matter what. don't go past next overlay change. */
if (XFASTINT (overlay_limit) < XFASTINT (proplimit))
proplimit = overlay_limit;
! end = XFASTINT (Fnext_single_property_change (position, Qinvisible,
! buffer, proplimit));
#if 0
/* Don't put the boundary in the middle of multibyte form if
there is no actual property change. */
--- 251,259 ----
/* No matter what. don't go past next overlay change. */
if (XFASTINT (overlay_limit) < XFASTINT (proplimit))
proplimit = overlay_limit;
! tmp = Fnext_single_property_change (position, Qinvisible,
! buffer, proplimit);
! end = XFASTINT (tmp);
#if 0
/* Don't put the boundary in the middle of multibyte form if
there is no actual property change. */
***************
*** 2069,2074 ****
--- 2070,2077 ----
}
else
{
+ int it_start;
+
SET_TEXT_POS (pt, PT, PT_BYTE);
start_display (&it, w, pt);
***************
*** 2078,2093 ****
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);
--- 2081,2097 ----
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. */
! it_start = IT_CHARPOS (it);
! 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) > it_start && 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);
- [Emacs-diffs] Changes to emacs/src/indent.c [lexbind],
Miles Bader <=