comparison src/indent.c @ 21994:e244c4d9b0ca

(compute_motion): Undo both May 7 changes.
author Richard M. Stallman <rms@gnu.org>
date Fri, 08 May 1998 02:28:22 +0000
parents e80802548c11
children 37088286bbd5
comparison
equal deleted inserted replaced
21993:3a95abf581d7 21994:e244c4d9b0ca
1221 prev_hpos = 0; 1221 prev_hpos = 0;
1222 } 1222 }
1223 } 1223 }
1224 1224
1225 /* Stop if past the target buffer position or screen position. */ 1225 /* Stop if past the target buffer position or screen position. */
1226 if (pos > to 1226 if (pos > to)
1227 || vpos > tovpos
1228 || vpos == tovpos && tohpos >= 0 && hpos > tohpos)
1229 { 1227 {
1230 /* Go back to the previous position. */ 1228 /* Go back to the previous position. */
1231 pos = prev_pos; 1229 pos = prev_pos;
1232 pos_byte = prev_pos_byte; 1230 pos_byte = prev_pos_byte;
1233 hpos = prev_hpos; 1231 hpos = prev_hpos;
1256 set VPOS back to previous line */ 1254 set VPOS back to previous line */
1257 vpos = vpos - 1; 1255 vpos = vpos - 1;
1258 break; 1256 break;
1259 } 1257 }
1260 1258
1259 if (vpos > tovpos || vpos == tovpos && hpos >= tohpos)
1260 {
1261 if (contin_hpos && prev_hpos == 0
1262 && ((hpos > tohpos && contin_hpos == width)
1263 || (wide_column_end_hpos > width)))
1264 { /* Line breaks because we can't put the character at the
1265 previous line any more. It is not the multi-column
1266 character continued in middle. Go back to previous
1267 buffer position, screen position, and set tab offset
1268 to previous value. It's the beginning of the
1269 line. */
1270 pos = prev_pos;
1271 pos_byte = prev_pos_byte;
1272 hpos = prev_hpos;
1273 tab_offset = prev_tab_offset;
1274 }
1275 break;
1276 }
1261 if (pos == ZV) /* We cannot go beyond ZV. Stop here. */ 1277 if (pos == ZV) /* We cannot go beyond ZV. Stop here. */
1262 break; 1278 break;
1263 1279
1264 prev_hpos = hpos; 1280 prev_hpos = hpos;
1265 prev_pos = pos; 1281 prev_pos = pos;