1. 26 Aug, 2011 1 commit
  2. 25 Aug, 2011 3 commits
    • Eli Zaretskii's avatar
      Fix last change for text terminals. · e25be792
      Eli Zaretskii authored
       src/xdisp.c (try_cursor_movement): Don't advance `row' beyond the
       last row of the window.
    • Eli Zaretskii's avatar
      Fix cursor motion with long continued lines near window bottom. · fee65a97
      Eli Zaretskii authored
       src/xdisp.c (try_cursor_movement): Check for the need to scroll more
       accurately, and prefer exact match for point under bidi.
    • Eli Zaretskii's avatar
      Handle `(space ...)' display spec as paragraph separator. · 0c95fcf7
      Eli Zaretskii authored
       src/xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
       the display spec is of the form `(space ...)'.
       (handle_display_spec): Return the value returned by
       handle_single_display_spec, not just 1 or zero.
       (handle_single_display_spec): If the display spec is of the form
       `(space ...)', and specifies display in the text area, return 2
       rather than 1.
       src/dispextern.h (struct bidi_it): Rename the disp_prop_p member
       into disp_prop; all users changed.
       src/bidi.c (bidi_fetch_char): If compute_display_string_pos returns
       DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
       for the text covered by the display property.
       lisp/buff-menu.el (Buffer-menu-buffer+size): Remove calls to
       bidi-string-mark-left-to-right; they are unnecessary now.
       doc/lispref/display.texi (Specified Space): Mention that `space' specs
       influence bidi reordering.
       (Bidirectional Display): Explain how to use `(space . PROPS)' for
       separating fields with bidirectional content.
  3. 24 Aug, 2011 2 commits
    • Eli Zaretskii's avatar
      Fix cursor movement in R2L text within L2R paragraphs. · 8610fe8b
      Eli Zaretskii authored
       src/xdisp.c (set_cursor_from_row): Consider candidate row a win if its
       glyph represents a newline and point is on that newline.  Fixes cursor
       positioning on the newline at EOL of R2L text within L2R
       paragraph, and vice versa.
       (try_cursor_movement): Check continued rows, in addition to
       continuation rows.  Fixes unwarranted scroll when point enters a
       continued line of R2L text within an L2R paragraph, or vice versa.
       (cursor_row_p): Consider the case of point being equal to
       MATRIX_ROW_END_CHARPOS.  Prevents cursor being stuck when moving
       from the end of a short line to the beginning of a continued line
       of R2L text within L2R paragraph.
       (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for
       composed characters.
    • Eli Zaretskii's avatar
      Fix current-bidi-paragraph-direction and its doc. · 5980d4c6
      Eli Zaretskii authored
       src/xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
       buffers, return left-to-right.
       doc/lispref/display.texi (Bidirectional Display): Document return value in
       buffers that are not bidi-reordered for display, and in unibyte
  4. 23 Aug, 2011 2 commits
  5. 22 Aug, 2011 1 commit
  6. 19 Aug, 2011 1 commit
  7. 16 Aug, 2011 1 commit
  8. 15 Aug, 2011 1 commit
  9. 14 Aug, 2011 2 commits
  10. 12 Aug, 2011 1 commit
    • Eli Zaretskii's avatar
      Fix bug #9284 with line/wrap-prefix property on display strings. · 08fff70c
      Eli Zaretskii authored
       src/xdisp.c (iterate_out_of_display_property): xassert that
       IT->position is set to within IT->object's boundaries.  Break from
       the loop as soon as EOB is reached; avoids infloops in redisplay
       when IT->position is set up wrongly due to some bug.  Set
       IT->current to match the bidi iterator unconditionally.
       (push_display_prop): Allow GET_FROM_STRING as IT->method on
       entry; avoids crashes when line/wrap-prefix is set on a display
       string.  Force push_it to save on the stack the current
       buffer/string position, to be restored by pop_it.  Fix flags in
       the iterator structure wrt the object coming from a display
       property, as `line-prefix' and `wrap-prefix' are not ``replacing''
  11. 08 Aug, 2011 2 commits
  12. 06 Aug, 2011 2 commits
  13. 05 Aug, 2011 2 commits
    • Eli Zaretskii's avatar
      Fix bug #9221 with resource allocation under word-wrap. · 35928349
      Eli Zaretskii authored
      Add diagnostic facility for monitoring memory allocated for cache shelving.
       src/xdisp.c (display_line): Release buffer allocated for shelved bidi
       cache.  (Bug#9221)
       src/bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total
       amount allocated this far in `bidi_cache_total_alloc'.
       (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if
       non-zero, only free the data buffer without restoring the cache
       contents.  All callers changed.
       src/dispextern.h (bidi_unshelve_cache): Update prototype.
       src/xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to)
       (move_it_in_display_line, move_it_to)
       (move_it_vertically_backward, move_it_by_lines): Replace the call
       to xfree to an equivalent call to bidi_unshelve_cache.
       (move_it_in_display_line_to): Fix logic of returning
       MOVE_POS_MATCH_OR_ZV in the bidi case.
    • Eli Zaretskii's avatar
      Fix bug #9229 with cursor positioning on display strings. · e2e2423b
      Eli Zaretskii authored
       src/xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
       came from a string character with a `cursor' property.
  14. 03 Aug, 2011 2 commits
  15. 02 Aug, 2011 1 commit
    • Eli Zaretskii's avatar
      Fix bug #9218 with slow cursor motion and scrolling Org Mode buffers. · 55439c61
      Eli Zaretskii authored
       src/dispextern.h (struct bidi_it): New member disp_prop_p.
       src/xdisp.c: Remove one-slot cache of display string positions.
       (compute_display_string_pos): Accept an additional argument
       DISP_PROP_P; callers changed. Scan at most 5K characters forward
       for a display string or property.  If found, set DISP_PROP_P
       src/bidi.c (bidi_fetch_char): Accept an additional argument
       DISP_PROP_P, and pass it to compute_display_string_pos.  Only
       handle text covered by a display string if DISP_PROP_P is returned
       non-zero.  All callers of bidi_fetch_char changed.
  16. 01 Aug, 2011 2 commits
    • Eli Zaretskii's avatar
      Fix last change for bug#9212. · ffc21858
      Eli Zaretskii authored
    • Eli Zaretskii's avatar
      Fix bug #9212 with selective-display under bidi. · 525d5e6e
      Eli Zaretskii authored
       src/xdisp.c (forward_to_next_line_start): Accept additional argument
       BIDI_IT_PREV, and store into it the state of the bidi iterator had
       on the newline.
       (reseat_at_next_visible_line_start): Use the bidi iterator state
       returned by forward_to_next_line_start to restore the state of
       it->bidi_it after backing up to previous newline.  (Bug#9212)
  17. 28 Jul, 2011 1 commit
  18. 24 Jul, 2011 1 commit
  19. 23 Jul, 2011 2 commits
  20. 22 Jul, 2011 2 commits
  21. 19 Jul, 2011 1 commit
    • Eli Zaretskii's avatar
      Speed up cursor motion in large fontified buffers. · e8c17b88
      Eli Zaretskii authored
       src/xdisp.c (reseat): Don't look for prev_stop, as that could mean a
       very long run.
       (next_element_from_buffer): When iterator oversteps prev_pos
       backwards, don't search for a new prev_stop more than 1000
       characters back.
       (handle_stop_backwards): Don't assume that CHARPOS is necessarily
       a stop_pos.
       (compute_display_string_pos): Check also BUF_OVERLAY_MODIFF for a
       match, when testing the cached display string position for
  22. 18 Jul, 2011 1 commit
  23. 16 Jul, 2011 1 commit
  24. 15 Jul, 2011 1 commit
  25. 14 Jul, 2011 1 commit
  26. 12 Jul, 2011 1 commit
  27. 11 Jul, 2011 1 commit
  28. 10 Jul, 2011 1 commit