Put cursor on the next to last `q' on the screen line that is continued. Then M-: (vertical-motion 0) carries you to the beginning of the current screen line, as one would expect. But then put cursor on the very last `q' of the continued screen line. Then M-: (vertical-motion 0) carries you to the beginning of the _next_ screen line. This appears to be a bug.
Do people get good results from this patch? *** xdisp.c 27 Aug 2005 22:41:25 -0400 1.1045 --- xdisp.c 29 Aug 2005 20:14:40 -0400 *************** *** 6012,6017 **** --- 6012,6019 ---- glyphs have the same width. */ int single_glyph_width = it->pixel_width / it->nglyphs; int new_x; + int x_before_this_char = x; + int hpos_before_this_char = it->hpos; for (i = 0; i < it->nglyphs; ++i, x = new_x) { *************** *** 6043,6050 **** --- 6045,6066 ---- { ++it->hpos; it->current_x = new_x; + + /* The character's last glyph just barely fits + in this row. */ if (i == it->nglyphs - 1) { + /* If this is the destination position, + return a position *before* it in this row, + now that we know it fits in this row. */ + if (BUFFER_POS_REACHED_P ()) + { + it->hpos = hpos_before_this_char; + it->current_x = x_before_this_char; + result = MOVE_POS_MATCH_OR_ZV; + break; + } + set_iterator_to_next (it, 1); #ifdef HAVE_WINDOW_SYSTEM if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel