# HG changeset patch # User Kenichi Handa # Date 894523272 0 # Node ID 42c00d12d8d02eff50e8855bb038b55d7c277d91 # Parent 386e14726b59e77f8dbb8b6cdf8bd0fddaf35dbf (compute_motion): Fix bug of handling wide-column character around right margin. diff -r 386e14726b59 -r 42c00d12d8d0 src/indent.c --- a/src/indent.c Thu May 07 06:34:20 1998 +0000 +++ b/src/indent.c Thu May 07 06:41:12 1998 +0000 @@ -1223,7 +1223,9 @@ } /* Stop if past the target buffer position or screen position. */ - if (pos > to) + if (pos > to + || vpos > tovpos + || vpos == tovpos && hpos > tohpos) { /* Go back to the previous position. */ pos = prev_pos; @@ -1256,24 +1258,6 @@ break; } - if (vpos > tovpos || vpos == tovpos && hpos >= tohpos) - { - if (contin_hpos && prev_hpos == 0 - && ((hpos > tohpos && contin_hpos == width) - || (wide_column_end_hpos > width))) - { /* Line breaks because we can't put the character at the - previous line any more. It is not the multi-column - character continued in middle. Go back to previous - buffer position, screen position, and set tab offset - to previous value. It's the beginning of the - line. */ - pos = prev_pos; - pos_byte = prev_pos_byte; - hpos = prev_hpos; - tab_offset = prev_tab_offset; - } - break; - } if (pos == ZV) /* We cannot go beyond ZV. Stop here. */ break;