]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix last change in buffer_posn_from_coords for text terminals.
authorEli Zaretskii <eliz@gnu.org>
Fri, 20 Aug 2010 20:55:09 +0000 (23:55 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 20 Aug 2010 20:55:09 +0000 (23:55 +0300)
 dispnew.c (buffer_posn_from_coords): Add one-character offset for R2L lines.

src/ChangeLog
src/dispnew.c

index 5b44cc8f34cd88840a2fa3012352accee3c3e82a..2125f05b78760578dd6d28924db8ea5a00d80692 100644 (file)
@@ -1,5 +1,8 @@
 2010-08-20  Eli Zaretskii  <eliz@gnu.org>
 
+       * dispnew.c (buffer_posn_from_coords): Fix last change for text
+       terminals: add one-character offset for R2L lines..
+
        * emacs.c <emacs_version>: Add a comment regarding
        msdos/mainmake.v2's dependency on the syntax of this declaration.
 
index efcfd10178275bec89495d2d39a2f02332878730..547ab2a4187817a7cb584250fa9e0958898f87eb 100644 (file)
@@ -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);