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

Diff of /emacs/src/indent.c

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

revision 1.152.2.8 by miles, Fri Oct 29 02:05:09 2004 UTC revision 1.152.2.9 by miles, Wed Dec 8 23:31:37 2004 UTC
# Line 2061  whether or not it is currently displayed Line 2061  whether or not it is currently displayed
2061        XSETBUFFER (w->buffer, current_buffer);        XSETBUFFER (w->buffer, current_buffer);
2062      }      }
2063    
2064    SET_TEXT_POS (pt, PT, PT_BYTE);    if (noninteractive)
2065    start_display (&it, w, pt);      {
2066          struct position pos;
2067          pos = *vmotion (PT, XINT (lines), w);
2068          SET_PT_BOTH (pos.bufpos, pos.bytepos);
2069        }
2070      else
2071        {
2072          SET_TEXT_POS (pt, PT, PT_BYTE);
2073          start_display (&it, w, pt);
2074    
2075    /* Move to the start of the display line containing PT.  If we don't        /* Scan from the start of the line containing PT.  If we don't
2076       do this, we start moving with IT->current_x == 0, while PT is           do this, we start moving with IT->current_x == 0, while PT is
2077       really at some x > 0.  The effect is, in continuation lines, that           really at some x > 0.  The effect is, in continuation lines, that
2078       we end up with the iterator placed at where it thinks X is 0,           we end up with the iterator placed at where it thinks X is 0,
2079       while the end position is really at some X > 0, the same X that           while the end position is really at some X > 0, the same X that
2080       PT had.  */           PT had.  */
2081    move_it_by_lines (&it, 0, 0);        if (XINT (lines) < 0)
2082            {
2083              reseat_at_previous_visible_line_start (&it);
2084              it.current_x = it.hpos = 0;
2085              move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
2086              it.vpos = 0;
2087            }
2088          else
2089            move_it_by_lines (&it, 0, 0);
2090    
2091    if (XINT (lines) != 0)        if (XINT (lines) != 0)
2092      move_it_by_lines (&it, XINT (lines), 0);          move_it_by_lines (&it, XINT (lines), 0);
2093    
2094    SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));        SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
2095        }
2096    
2097    if (BUFFERP (old_buffer))    if (BUFFERP (old_buffer))
2098      w->buffer = old_buffer;      w->buffer = old_buffer;

Legend:
Removed from v.1.152.2.8  
changed lines
  Added in v.1.152.2.9

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