emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105532: Fix vertical cursor motion u


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105532: Fix vertical cursor motion under bidi on auto-composed characters.
Date: Mon, 22 Aug 2011 20:00:40 +0300
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105532
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Mon 2011-08-22 20:00:40 +0300
message:
  Fix vertical cursor motion under bidi on auto-composed characters.
  
   src/xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
   consider it a hit if to_charpos is anywhere in the range of the
   composed buffer positions.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-08-22 02:34:23 +0000
+++ b/src/ChangeLog     2011-08-22 17:00:40 +0000
@@ -1,3 +1,9 @@
+2011-08-22  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
+       consider it a hit if to_charpos is anywhere in the range of the
+       composed buffer positions.
+
 2011-08-22  Chong Yidong  <address@hidden>
 
        * image.c (gif_load): Don't assume that each subimage has the same

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-08-19 10:18:40 +0000
+++ b/src/xdisp.c       2011-08-22 17:00:40 +0000
@@ -7699,7 +7699,12 @@
   ((op & MOVE_TO_POS) != 0                                     \
    && BUFFERP (it->object)                                     \
    && (IT_CHARPOS (*it) == to_charpos                          \
-       || (!it->bidi_p && IT_CHARPOS (*it) > to_charpos))      \
+       || (!it->bidi_p && IT_CHARPOS (*it) > to_charpos)       \
+       || (it->what == IT_COMPOSITION                          \
+          && ((IT_CHARPOS (*it) > to_charpos                   \
+               && to_charpos >= it->cmp_it.charpos)            \
+              || (IT_CHARPOS (*it) < to_charpos                \
+                  && to_charpos <= it->cmp_it.charpos))))      \
    && (it->method == GET_FROM_BUFFER                           \
        || (it->method == GET_FROM_DISPLAY_VECTOR               \
           && it->dpvec + it->current.dpvec_index + 1 >= it->dpend)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]