diff options
author | Richard M. Stallman <rms@gnu.org> | 1998-11-30 06:35:33 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1998-11-30 06:35:33 +0000 |
commit | ffa286a2aa940bcf425773d84e5f83450142522e (patch) | |
tree | dc7a9b01d38cf63cd0c3ecb97a369f3dca5fb714 /src/xdisp.c | |
parent | acafa9cfdc88d46268f2803c252deb20514907d1 (diff) | |
download | emacs-ffa286a2aa940bcf425773d84e5f83450142522e.tar.gz |
(display_text_line): When handling HPOS < 0 after loop,
if compute_motion fails to advance at all, don't back it up.
Diffstat (limited to 'src/xdisp.c')
-rw-r--r-- | src/xdisp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index a5a86071f1a..977944e5918 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3371,8 +3371,9 @@ display_text_line (w, start, start_byte, vpos, hpos, taboffset, ovstr_done) compute_motion may have moved us past the screen position we requested, if we hit a multi-column character, or the end of the line. If so, back up. */ - if (left_edge->vpos > vpos - || left_edge->hpos > 0) + if ((left_edge->vpos > vpos + || left_edge->hpos > 0) + && left_edge->bufpos > pos) { pos = left_edge->bufpos; pos_byte = left_edge->bytepos; |