emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100610: Ignore a static compositi


From: Kenichi Handa
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100610: Ignore a static composition that starts before the current checking position in redisplay.
Date: Thu, 07 Jul 2011 16:12:34 +0900
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 100610 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: emacs-23
timestamp: Thu 2011-07-07 16:12:34 +0900
message:
  Ignore a static composition that starts before the current checking position 
in redisplay.
modified:
  src/ChangeLog
  src/composite.c
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-06-18 00:37:38 +0000
+++ b/src/ChangeLog     2011-07-07 07:11:54 +0000
@@ -1,3 +1,10 @@
+2011-07-07  Kenichi Handa  <address@hidden>
+
+       * composite.c (composition_compute_stop_pos): Ignore a static
+       composition starting before CHARPOS (Bug#8915).
+
+       * xdisp.c (handle_composition_prop): Likewise.
+
 2011-06-18  YAMAMOTO Mitsuharu  <address@hidden>
 
        * dispnew.c (scrolling_window): Before scrolling, turn off a

=== modified file 'src/composite.c'
--- a/src/composite.c   2011-05-09 09:59:23 +0000
+++ b/src/composite.c   2011-07-07 07:11:54 +0000
@@ -1042,6 +1042,7 @@
   cmp_it->id = -1;
   cmp_it->ch = -2;
   if (find_composition (charpos, endpos, &start, &end, &prop, string)
+      && start >= charpos
       && COMPOSITION_VALID_P (start, end, prop))
     {
       cmp_it->stop_pos = endpos = start;

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-05-25 03:06:05 +0000
+++ b/src/xdisp.c       2011-07-07 07:11:54 +0000
@@ -4641,6 +4641,11 @@
       && COMPOSITION_VALID_P (start, end, prop)
       && (STRINGP (it->string) || (PT <= start || PT >= end)))
     {
+      if (start < pos)
+       /* As we can't handle this situation (perhaps, font-lock added
+          a new composition), we just return here hoping that next
+          redisplay will detect this composition much earlier.  */
+       return HANDLED_NORMALLY;
       if (start != pos)
        {
          if (STRINGP (it->string))


reply via email to

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