/[emacs]/emacs/src/editfns.c
ViewVC logotype

Diff of /emacs/src/editfns.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.357 by monnier, Sat May 17 18:47:04 2003 UTC revision 1.358 by monnier, Thu Jun 26 23:17:13 2003 UTC
# Line 868  save_excursion_restore (info) Line 868  save_excursion_restore (info)
868    /* Point marker.  */    /* Point marker.  */
869    tem = XCAR (info);    tem = XCAR (info);
870    Fgoto_char (tem);    Fgoto_char (tem);
871    unchain_marker (tem);    unchain_marker (XMARKER (tem));
872    
873    /* Mark marker.  */    /* Mark marker.  */
874    info = XCDR (info);    info = XCDR (info);
# Line 876  save_excursion_restore (info) Line 876  save_excursion_restore (info)
876    omark = Fmarker_position (current_buffer->mark);    omark = Fmarker_position (current_buffer->mark);
877    Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ());    Fset_marker (current_buffer->mark, tem, Fcurrent_buffer ());
878    nmark = Fmarker_position (tem);    nmark = Fmarker_position (tem);
879    unchain_marker (tem);    unchain_marker (XMARKER (tem));
880    
881    /* visible */    /* visible */
882    info = XCDR (info);    info = XCDR (info);
# Line 3814  transpose_markers (start1, end1, start2, Line 3814  transpose_markers (start1, end1, start2,
3814       register int start1_byte, end1_byte, start2_byte, end2_byte;       register int start1_byte, end1_byte, start2_byte, end2_byte;
3815  {  {
3816    register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;    register int amt1, amt1_byte, amt2, amt2_byte, diff, diff_byte, mpos;
3817    register Lisp_Object marker;    register struct Lisp_Marker *marker;
3818    
3819    /* Update point as if it were a marker.  */    /* Update point as if it were a marker.  */
3820    if (PT < start1)    if (PT < start1)
# Line 3849  transpose_markers (start1, end1, start2, Line 3849  transpose_markers (start1, end1, start2,
3849    amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte);    amt1_byte = (end2_byte - start2_byte) + (start2_byte - end1_byte);
3850    amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte);    amt2_byte = (end1_byte - start1_byte) + (start2_byte - end1_byte);
3851    
3852    for (marker = BUF_MARKERS (current_buffer); !NILP (marker);    for (marker = BUF_MARKERS (current_buffer); marker; marker = marker->next)
        marker = XMARKER (marker)->chain)  
3853      {      {
3854        mpos = marker_byte_position (marker);        mpos = marker->bytepos;
3855        if (mpos >= start1_byte && mpos < end2_byte)        if (mpos >= start1_byte && mpos < end2_byte)
3856          {          {
3857            if (mpos < end1_byte)            if (mpos < end1_byte)
# Line 3861  transpose_markers (start1, end1, start2, Line 3860  transpose_markers (start1, end1, start2,
3860              mpos += diff_byte;              mpos += diff_byte;
3861            else            else
3862              mpos -= amt2_byte;              mpos -= amt2_byte;
3863            XMARKER (marker)->bytepos = mpos;            marker->bytepos = mpos;
3864          }          }
3865        mpos = XMARKER (marker)->charpos;        mpos = marker->charpos;
3866        if (mpos >= start1 && mpos < end2)        if (mpos >= start1 && mpos < end2)
3867          {          {
3868            if (mpos < end1)            if (mpos < end1)
# Line 3873  transpose_markers (start1, end1, start2, Line 3872  transpose_markers (start1, end1, start2,
3872            else            else
3873              mpos -= amt2;              mpos -= amt2;
3874          }          }
3875        XMARKER (marker)->charpos = mpos;        marker->charpos = mpos;
3876      }      }
3877  }  }
3878    

Legend:
Removed from v.1.357  
changed lines
  Added in v.1.358

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26