1. 01 Jan, 2010 4 commits
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-10-04. · be39f003
      Eli Zaretskii authored
      Continue working on determining paragraph's base direction.
      
       bidi.c (bidi_at_paragraph_end): Check for paragraph-start if
       paragraph-separate failed to match.  Return the length of the
       matched separator.
       (bidi_line_init): New function.
       (bidi_paragraph_init): Use bidi_line_init.  Do nothing if in the
       middle of a paragraph-separate sequence.  Don't override existing
       paragraph direction if no strong characters found in this
       paragraph.  Set separator_limit according to what
       bidi_at_paragraph_end returns.  Reset new_paragraph flag when a
       new paragraph is found.
       (bidi_init_it): Reset separator_limit.
       dispextern.h (struct bidi_it): New member separator_limit.
       bidi.c (bidi_find_paragraph_start): Return the byte position of
       the paragraph beginning.
       xdisp.c (set_iterator_to_next): Call bidi_paragraph_init if the
       new_paragraph flag is set in the bidi iterator.
       bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): Use
       the buffer-local value of paragraph-start and paragraph-separate.
      be39f003
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-10-03. · 6bff6497
      Eli Zaretskii authored
      Detect paragraph start and paragraph separators (part of determining
      paragraph base direction).
      
      (The commit of window.h belongs to the original changes by Kenichi Handa,
      it was forgotten earlier.)
      
       bidi.c (bidi_set_paragraph_end): Don't set the new_paragraph
       flag in the iterator.
       (bidi_init_it): Set the new_paragraph flag.
       (bidi_at_paragraph_end): Arguments are now character and byte
       position of the next character.  All callers changed.
       (bidi_resolve_explicit): Don't call bidi_at_paragraph_end, and
       don't behave as if at paragraph end if it returns true.
       (bidi_get_next_char_visually): Don't call bidi_paragraph_init if
       new_paragraph flag is set.  Set new_paragraph flag when at end of
       a paragraph.
       <fallback_paragraph_start_re, fallback_paragraph_separate_re>: New
       variables.
       <Qparagraph_start, Qparagraph_separate>: New variables.
       (bidi_initialize): Initialize and staticpro them.
       dispextern.h <struct bidi_it>: New element paragraph_dir.  Make
       positional elements EMACS_INT.
       bidi.c <bidi_overriding_paragraph_direction>: Delete.
      6bff6497
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-09-27. · e342a24d
      Eli Zaretskii authored
      Support character mirroring.
      Support iteration that starts in the middle of a line.
      Misc cleanups.
      
       xdisp.c (next_element_from_buffer): If called not at line
       beginning, start bidi iteration from line beginning.
       bidi.c (bidi_paragraph_init): Use
       bidi_overriding_paragraph_direction instead of a literal zero.
       (bidi_initialize): Fix some character types, per Unicode 5.x.
       (bidi_get_type): Abort if called with invalid character code.
       dispextern.h: Add prototype of bidi_mirror_char.
       xdisp.c (get_next_display_element): Mirror characters whose
       resolved type is STRONG_R.
      e342a24d
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-09-26. · 9c82e145
      Eli Zaretskii authored
      Continued working on initialization.
      Started working on paragraph direction initialization.
      
       bidi.c (bidi_paragraph_init): Don't set bidi_it->ch_len.  Abort
       if called not at beginning of a new paragraph.
       (bidi_get_next_char_visually): Prepare and use a sentinel iterator
       state when first_elt flag is set.
       dispextern.h (struct bidi_it): New struct member first_elt.
       bidi.c (bidi_init_it): Initialize bidi_it->first_elt.
       (bidi_copy_it): Don't copy the first_elt flag.
       xdisp.c (reseat_1): Initialize bidi_it.first_elt.  Move bidi
       scan start code from here...
       (next_element_from_buffer): ...to here.  Use bidi_it.first_elt flag.
      9c82e145
  2. 31 Dec, 2009 9 commits
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-09-20. · e7402cb2
      Eli Zaretskii authored
      Handle positions at BEGV and ZV.  Mor initialization cleanups.
      
       xdisp.c (reseat_1): Handle position < BEGV.
       bidi.c (bidi_paragraph_init): Set bidi_it->ch_len.  Handle ZV.
       (bidi_init_it): Don't initialize bidi_it->ch_len.
       (bidi_resolve_explicit_1): Abort if bidi_it->ch_len was not
       initialized.
       (bidi_at_paragraph_end, bidi_resolve_explicit_1)
       (bidi_resolve_weak, bidi_level_of_next_char): Handle bytepos at
       ZV_BYTE.
       (bidi_resolve_explicit_1): Handle position < BEGV.
      e7402cb2
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-09-19. · 89d3374a
      Eli Zaretskii authored
      Begin work on bidi initialization and other cleanup.
      Remove all STANDALONE code from bidi.c.
      
       xdisp.c (init_iterator): Call bidi_init_it.  Set
       bidi_it->bytepos if buffer position specified.
       (reseat_1): Don't call bidi_init_it.  Call bidi_paragraph_init
       instead.  Move back to preceding character before the call to
       bidi_get_next_char_visually.
       bidi.c: Remove all STANDALONE parts.
       (bidi_init_it): Init bidi_it->charpos and bidi_it->bytepos to -1.
       Don't call bidi_paragraph_init.  Change arguments.
       (bidi_paragraph_init): Remove code for negative pos.
       dispextern.h <bidi_it>: Rename orig_type to type_after_w1 and
       pristine_type to orig_type.
      89d3374a
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-09-12. · d8300a8a
      Eli Zaretskii authored
      Undo changes from 2009-09-11.  Set row->end and row->start in
      xdisp.c:display_line.
      
       dispnew.c (direct_output_for_insert): Give up if we are
       reordering bidirectional text.
       dispextern.h (IT_STACK_SIZE): Enlarge to 5.
       xdisp.c (display_line): Set row->end and it->start for the next
       row to the next character in logical order.  If we are reordering
       bidi text, push and pop the iterator before and after momentarily
       iterating in logical order.
      d8300a8a
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-08-12. · 90fcfd71
      Eli Zaretskii authored
      An (unsuccessful) attempt to solve the issue with row->start and row->end.
      
       xdisp.c (set_iterator_to_next, reseat, reseat_1)
       (reseat_at_next_visible_line_start): Accept additional argument
       force_logical_p; all callers changed.  If force_logical_p is
       non-zero, force iteration in buffer's logical order even in bidi
       buffers.
       dispnew.c (direct_output_for_insert): Call set_iterator_to_next
       with additional argument zero.
       dispextern.h (set_iterator_to_next): Now accepts an additional
       argument.
      90fcfd71
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-08-29. · a88bbf05
      Eli Zaretskii authored
      Started working on cursor motion.
      
       xdisp.c (set_cursor_from_row): Don't assume glyph->charpos
       increments linearly.
       (try_window_reusing_current_matrix): Don't assume glyph->charpos
       increments linearly.
       bidi.c <bidi_overriding_paragraph_direction>: Default to L2R, for now.
      a88bbf05
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-08-22. · 2d6e4628
      Eli Zaretskii authored
      Staticpro bidi_char_table, add type checking where bidi type is assigned.
      
       bidi.c (bidi_initialize): staticpro bidi_char_table.
       (bidi_check_type): New function.
       (bidi_cache_iterator_state, bidi_remember_char)
       (bidi_resolve_explicit_1, bidi_resolve_explicit)
       (bidi_resolve_weak, bidi_resolve_neutral)
       (bidi_level_of_next_char): Use it to validate the bidi type
       assigned to the iterator.
      2d6e4628
    • Eli Zaretskii's avatar
      Retrospective commit from 2009-08-15. · f44e260c
      Eli Zaretskii authored
      Start of work on bidi Emacs 23/24.
      
       bidi.c (bidi_initialize): Fix initialization of bidi_type_table.
      
       xdisp.c (set_iterator_to_next): Fix position setting after call
       to bidi_get_next_char_visually.
      
       bidi.c: Include stdio.h unconditionally.  Fix and elaborate
       commentary.  Add Copyright blurb.
      f44e260c
    • Eli Zaretskii's avatar
      Retrospective commit. · b7b65b15
      Eli Zaretskii authored
      These are the original changes made by Kenichi Handa on the old
      pre Emacs 22 emacs-bidi branch.
      b7b65b15
    • Chong Yidong's avatar
  3. 30 Dec, 2009 4 commits
  4. 29 Dec, 2009 7 commits
  5. 28 Dec, 2009 9 commits
  6. 27 Dec, 2009 5 commits
  7. 26 Dec, 2009 2 commits
    • Kevin Ryde's avatar
      * man.el · 651e932e
      Kevin Ryde authored
      (Man-bgproc-sentinel): When "-k foo" produces no output show error
      "no matches" rather than "Can't find manpage", as the latter reads
      like -k was interpreted as a page name, which is not so.  (My
      bug#5431.)
      651e932e
    • Kevin Ryde's avatar
      (Man-bgproc-sentinel): When "-k foo" produces no output show error · 69bcb1f3
      Kevin Ryde authored
      "no matches" rather than "Can't find manpage", as the latter reads
      like -k was interpreted as a page name, which is not so.  (My
      bug#5431.)
      69bcb1f3