[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/editfns.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/editfns.c |
Date: |
Thu, 26 Jun 2003 19:17:13 -0400 |
Index: emacs/src/editfns.c
diff -c emacs/src/editfns.c:1.357 emacs/src/editfns.c:1.358
*** emacs/src/editfns.c:1.357 Sat May 17 14:47:04 2003
--- emacs/src/editfns.c Thu Jun 26 19:17:13 2003
***************
*** 868,874 ****
/* Point marker. */
tem = XCAR (info);
Fgoto_char (tem);
! unchain_marker (tem);
/* Mark marker. */
info = XCDR (info);
--- 868,874 ----
/* Point marker. */
tem = XCAR (info);
Fgoto_char (tem);
! unchain_marker (XMARKER (tem));
/* Mark marker. */
info = XCDR (info);
***************
*** 876,882 ****
omark = Fmarker_position (current_buffer->mark);
Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ());
nmark = Fmarker_position (tem);
! unchain_marker (tem);
/* visible */
info = XCDR (info);
--- 876,882 ----
omark = Fmarker_position (current_buffer->mark);
Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ());
nmark = Fmarker_position (tem);
! unchain_marker (XMARKER (tem));
/* visible */
info = XCDR (info);
***************
*** 3814,3820 ****
register int start1_byte, end1_byte, start2_byte, end2_byte;
{
register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
! register Lisp_Object marker;
/* Update point as if it were a marker. */
if (PT < start1)
--- 3814,3820 ----
register int start1_byte, end1_byte, start2_byte, end2_byte;
{
register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
! register struct Lisp_Marker *marker;
/* Update point as if it were a marker. */
if (PT < start1)
***************
*** 3849,3858 ****
amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte);
amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte);
! for (marker = BUF_MARKERS (current_buffer); !NILP (marker);
! marker = XMARKER (marker)->chain)
{
! mpos = marker_byte_position (marker);
if (mpos >= start1_byte && mpos < end2_byte)
{
if (mpos < end1_byte)
--- 3849,3857 ----
amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte);
amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte);
! for (marker = BUF_MARKERS (current_buffer); marker; marker = marker->next)
{
! mpos = marker->bytepos;
if (mpos >= start1_byte && mpos < end2_byte)
{
if (mpos < end1_byte)
***************
*** 3861,3869 ****
mpos += diff_byte;
else
mpos -= amt2_byte;
! XMARKER (marker)->bytepos = mpos;
}
! mpos = XMARKER (marker)->charpos;
if (mpos >= start1 && mpos < end2)
{
if (mpos < end1)
--- 3860,3868 ----
mpos += diff_byte;
else
mpos -= amt2_byte;
! marker->bytepos = mpos;
}
! mpos = marker->charpos;
if (mpos >= start1 && mpos < end2)
{
if (mpos < end1)
***************
*** 3873,3879 ****
else
mpos -= amt2;
}
! XMARKER (marker)->charpos = mpos;
}
}
--- 3872,3878 ----
else
mpos -= amt2;
}
! marker->charpos = mpos;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/editfns.c,
Stefan Monnier <=