emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r101183: Fix finding a stop position


From: Kenichi Handa
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101183: Fix finding a stop position for composition.
Date: Wed, 25 Aug 2010 13:07:22 +0900
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101183 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: trunk
timestamp: Wed 2010-08-25 13:07:22 +0900
message:
  Fix finding a stop position for composition.
modified:
  src/ChangeLog
  src/composite.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-08-24 15:48:14 +0000
+++ b/src/ChangeLog     2010-08-25 03:49:02 +0000
@@ -1,3 +1,9 @@
+2010-08-25  Kenichi Handa  <address@hidden>
+
+       * composite.c (composition_compute_stop_pos): In forward search,
+       pay attention to the possibility that some character after ENDPOS
+       will be composed with charactrs before ENDPOS.
+
 2010-08-24  Chong Yidong  <address@hidden>
 
        * keyboard.c (command_loop_1): Don't clobber primary selection

=== modified file 'src/composite.c'
--- a/src/composite.c   2010-07-29 05:48:06 +0000
+++ b/src/composite.c   2010-08-25 00:54:05 +0000
@@ -1091,6 +1091,16 @@
                }
            }
        }
+      if (charpos == endpos)
+       {
+         /* We couldn't find a composition point before ENDPOS.  But,
+            some character after ENDPOS may be composed with
+            characters before ENDPOS.  So, we should stop at the safe
+            point.  */
+         charpos = endpos - MAX_AUTO_COMPOSITION_LOOKBACK;
+         if (charpos < start)
+           charpos = start;
+       }
     }
   else if (charpos > endpos)
     {


reply via email to

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