/[emacs]/emacs/src/xdisp.c
ViewVC logotype

Diff of /emacs/src/xdisp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.843.2.5 by handa, Sun Nov 23 07:32:11 2003 UTC revision 1.843.2.6 by handa, Tue Dec 2 04:40:49 2003 UTC
# Line 3788  handle_auto_composed_prop (it) Line 3788  handle_auto_composed_prop (it)
3788        val =Fget_char_property (make_number (pos), Qauto_composed, it->string);        val =Fget_char_property (make_number (pos), Qauto_composed, it->string);
3789        if (! NILP (val))        if (! NILP (val))
3790          {          {
3791            Lisp_Object next;            Lisp_Object limit = Qnil, next;
3792              
3793              /* As Fnext_single_char_property_change is very slow, we
3794                 limit the search to the current line.  */
3795              if (! STRINGP (it->string))
3796                limit = make_number (find_next_newline_no_quit (pos, 1));
3797            next = (Fnext_single_property_change            next = (Fnext_single_property_change
3798                       (make_number (pos), Qauto_composed, it->string, Qnil));                       (make_number (pos), Qauto_composed, it->string, limit));
3799            if (INTEGERP (next))            if (XINT (next) < XINT (limit))
3800              {              {
3801                /* The current point is auto-composed, but there exist                /* The current point is auto-composed, but there exist
3802                   characers not yet composed beyond the auto-compused                   characters not yet composed beyond the auto-composed
3803                   region.  There's a possiblity that the last                   region.  There's a possiblity that the last
3804                   characters in the region may be newly composed.  */                   characters in the region may be newly composed.  */
3805                int charpos = XINT (next) - 1, bytepos, c;                int charpos = XINT (next) - 1, bytepos, c;
# Line 3828  handle_auto_composed_prop (it) Line 3832  handle_auto_composed_prop (it)
3832            safe_call (3, args);            safe_call (3, args);
3833            unbind_to (count, Qnil);            unbind_to (count, Qnil);
3834    
3835            val = Fget_char_property (args[1], Qauto_composed, it->string);            if (this_pos == pos)
3836            /* Return HANDLED_RECOMPUTE_PROPS only if function fontified              {
3837               something.  This avoids an endless loop if they failed to                val = Fget_char_property (args[1], Qauto_composed, it->string);
3838               fontify the text for which reason ever.  */                /* Return HANDLED_RECOMPUTE_PROPS only if function composed
3839            if (! NILP (val))                   something.  This avoids an endless loop if they failed to
3840                     fontify the text for which reason ever.  */
3841                  if (! NILP (val))
3842                    handled = HANDLED_RECOMPUTE_PROPS;
3843                }
3844              else
3845              handled = HANDLED_RECOMPUTE_PROPS;              handled = HANDLED_RECOMPUTE_PROPS;
3846          }          }
3847      }      }

Legend:
Removed from v.1.843.2.5  
changed lines
  Added in v.1.843.2.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26