diff --git a/src/ChangeLog b/src/ChangeLog index 5b44cc8f34c..2125f05b787 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2010-08-20 Eli Zaretskii + * dispnew.c (buffer_posn_from_coords): Fix last change for text + terminals: add one-character offset for R2L lines.. + * emacs.c : Add a comment regarding msdos/mainmake.v2's dependency on the syntax of this declaration. diff --git a/src/dispnew.c b/src/dispnew.c index efcfd101782..547ab2a4187 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -5402,7 +5402,10 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p iterator doesn't know about that.) The following line adjusts the pixel position to the iterator geometry, which is what move_it_* routines use. */ - to_x = window_box_width (w, TEXT_AREA) - to_x; + to_x = window_box_width (w, TEXT_AREA) - to_x + /* Text terminals need a one-character offset to get it right. */ + - (FRAME_MSDOS_P (WINDOW_XFRAME (w)) + || FRAME_TERMCAP_P (WINDOW_XFRAME (w))); /* Now move horizontally in the row to the glyph under *X. */ move_it_in_display_line (&it, ZV, to_x, MOVE_TO_X);