• Eli Zaretskii's avatar
    Retrospective commit from 2009-12-12. · e69a9370
    Eli Zaretskii authored
    Begin working on faces support.  First version of handle_stop_backwards.
    Rearrange struct bidi_it for more efficient push/pop ops.
    
     dispextern.h (struct it): New members prev_stop and
     base_level_stop.
    
     xdisp.c (handle_stop_backwards): New function.
     (next_element_from_buffer): Handle the situation where we
     overstepped stop_charpos due to non-linearity of the bidi
     iteration.  Likewise for when we back up beyond the previous
     stop_charpos.
     (reseat_1, pop_it, push_it): Set prev_stop and base_level_stop.
    
     dispextern.h (BIDI_AT_BASE_LEVEL): New macro.
    
     bidi.c (bidi_copy_it): Fix compiler warning due to cast of a
     pointer to `int'.  Don't preserve the first_elt member, as it is
     no longer copied, because its position in the structure was
     changed, see below.
    
     dispextern.h (struct bidi_it): Move first_elt, new_paragraph,
     separator_limit, and paragraph_dir to after bidi_stack.  Add a
     note that anything beyond the level stack is not preserved when
     the bidi iterator state is copied/saved.
    e69a9370
bidi.c 63.5 KB