aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2003-06-26 23:17:13 +0000
committerStefan Monnier2003-06-26 23:17:13 +0000
commit12038f9fc9a5642ec5185ddfb2f37cdd15debfd3 (patch)
treeafdd8830f61ed45b3bced030a376984aa7f1a4cd /src
parent65745fadd7221a24bf83e0a1bcf329d480a1542b (diff)
downloademacs-12038f9fc9a5642ec5185ddfb2f37cdd15debfd3.tar.gz
emacs-12038f9fc9a5642ec5185ddfb2f37cdd15debfd3.zip
(save_excursion_restore, transpose_markers): Update for new types.
Diffstat (limited to 'src')
-rw-r--r--src/editfns.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/editfns.c b/src/editfns.c
index 66163ebb251..f3dc714e3cd 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -868,7 +868,7 @@ save_excursion_restore (info)
868 /* Point marker. */ 868 /* Point marker. */
869 tem = XCAR (info); 869 tem = XCAR (info);
870 Fgoto_char (tem); 870 Fgoto_char (tem);
871 unchain_marker (tem); 871 unchain_marker (XMARKER (tem));
872 872
873 /* Mark marker. */ 873 /* Mark marker. */
874 info = XCDR (info); 874 info = XCDR (info);
@@ -876,7 +876,7 @@ save_excursion_restore (info)
876 omark = Fmarker_position (current_buffer->mark); 876 omark = Fmarker_position (current_buffer->mark);
877 Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ()); 877 Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ());
878 nmark = Fmarker_position (tem); 878 nmark = Fmarker_position (tem);
879 unchain_marker (tem); 879 unchain_marker (XMARKER (tem));
880 880
881 /* visible */ 881 /* visible */
882 info = XCDR (info); 882 info = XCDR (info);
@@ -3814,7 +3814,7 @@ transpose_markers (start1, end1, start2, end2,
3814 register int start1_byte, end1_byte, start2_byte, end2_byte; 3814 register int start1_byte, end1_byte, start2_byte, end2_byte;
3815{ 3815{
3816 register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos; 3816 register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
3817 register Lisp_Object marker; 3817 register struct Lisp_Marker *marker;
3818 3818
3819 /* Update point as if it were a marker. */ 3819 /* Update point as if it were a marker. */
3820 if (PT < start1) 3820 if (PT < start1)
@@ -3849,10 +3849,9 @@ transpose_markers (start1, end1, start2, end2,
3849 amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte); 3849 amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte);
3850 amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte); 3850 amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte);
3851 3851
3852 for (marker = BUF_MARKERS (current_buffer); !NILP (marker); 3852 for (marker = BUF_MARKERS (current_buffer); marker; marker = marker->next)
3853 marker = XMARKER (marker)->chain)
3854 { 3853 {
3855 mpos = marker_byte_position (marker); 3854 mpos = marker->bytepos;
3856 if (mpos >= start1_byte && mpos < end2_byte) 3855 if (mpos >= start1_byte && mpos < end2_byte)
3857 { 3856 {
3858 if (mpos < end1_byte) 3857 if (mpos < end1_byte)
@@ -3861,9 +3860,9 @@ transpose_markers (start1, end1, start2, end2,
3861 mpos += diff_byte; 3860 mpos += diff_byte;
3862 else 3861 else
3863 mpos -= amt2_byte; 3862 mpos -= amt2_byte;
3864 XMARKER (marker)->bytepos = mpos; 3863 marker->bytepos = mpos;
3865 } 3864 }
3866 mpos = XMARKER (marker)->charpos; 3865 mpos = marker->charpos;
3867 if (mpos >= start1 && mpos < end2) 3866 if (mpos >= start1 && mpos < end2)
3868 { 3867 {
3869 if (mpos < end1) 3868 if (mpos < end1)
@@ -3873,7 +3872,7 @@ transpose_markers (start1, end1, start2, end2,
3873 else 3872 else
3874 mpos -= amt2; 3873 mpos -= amt2;
3875 } 3874 }
3876 XMARKER (marker)->charpos = mpos; 3875 marker->charpos = mpos;
3877 } 3876 }
3878} 3877}
3879 3878