diff options
author | Kim F. Storm <storm@cua.dk> | 2004-08-02 23:42:14 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2004-08-02 23:42:14 +0000 |
commit | b43ff6b0bf2596a8cd1d5617653ff91420e14b31 (patch) | |
tree | b025651447fed456f01a7417647a3c204e6d4226 /src/indent.c | |
parent | 97e978b0d1083f4110384314e1990782ec5e75aa (diff) | |
download | emacs-b43ff6b0bf2596a8cd1d5617653ff91420e14b31.tar.gz |
(compute_motion): Fix check for full width window
in non-window case. Do not count left truncation glyph on
window systems.
Diffstat (limited to 'src/indent.c')
-rw-r--r-- | src/indent.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/indent.c b/src/indent.c index 6cb82c18f04..63f1ed31930 100644 --- a/src/indent.c +++ b/src/indent.c @@ -1231,6 +1231,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, int prev_vpos = 0; int contin_hpos; /* HPOS of last column of continued line. */ int prev_tab_offset; /* Previous tab offset. */ + int continuation_glyph_width; XSETBUFFER (buffer, current_buffer); XSETWINDOW (window, win); @@ -1259,6 +1260,12 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, width -= 1; } + continuation_glyph_width = 0; +#ifdef HAVE_WINDOW_SYSTEM + if (!FRAME_WINDOW_P (XFRAME (win->frame))) + continuation_glyph_width = 1; +#endif + immediate_quit = 1; QUIT; @@ -1382,7 +1389,8 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, { if (hscroll || (truncate_partial_width_windows - && width < FRAME_COLS (XFRAME (WINDOW_FRAME (win)))) + && ((width + continuation_glyph_width) + < FRAME_COLS (XFRAME (WINDOW_FRAME (win))))) || !NILP (current_buffer->truncate_lines)) { /* Truncating: skip to newline, unless we are already past @@ -1666,7 +1674,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, hpos -= hscroll; /* Count the truncation glyph on column 0 */ if (hscroll > 0) - hpos++; + hpos += continuation_glyph_width; tab_offset = 0; } contin_hpos = 0; |