diff options
| author | Eli Zaretskii | 2011-07-05 20:06:29 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-07-05 20:06:29 +0300 |
| commit | 57b3e30bb29d904180b651422ab58341debe84cb (patch) | |
| tree | cb6561a3ef8100dc64654beb65c70623798839aa /src/ChangeLog | |
| parent | ed94e6d7bf6751592ff3dadb2b87f03ffaab3bfa (diff) | |
| download | emacs-57b3e30bb29d904180b651422ab58341debe84cb.tar.gz emacs-57b3e30bb29d904180b651422ab58341debe84cb.zip | |
Empty the bidi cache "stack" when it->sp is zeroed.
Solves crashes due to overflow of bidi cache stack.
Make sure cache is saved and restored around all temporary iterations.
src/dispnew.c (buffer_posn_from_coords): Save and restore the bidi
cache around display iteration.
src/window.c (Fwindow_end, window_scroll_pixel_based)
(displayed_window_lines, Frecenter): Save and restore the bidi
cache around display iteration.
src/bidi.c (bidi_unshelve_cache): Ensure we have enough space before
restoring the shelved cache.
(bidi_cache_ensure_space): Don't assume the required size is just
one BIDI_CACHE_CHUNK away.
src/xdisp.c (back_to_previous_visible_line_start, reseat_1)
(init_iterator): Empty the bidi cache "stack".
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index fdb6657e135..55ff323ab57 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2011-07-05 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * dispnew.c (buffer_posn_from_coords): Save and restore the bidi | ||
| 4 | cache around display iteration. | ||
| 5 | |||
| 6 | * window.c (Fwindow_end, window_scroll_pixel_based) | ||
| 7 | (displayed_window_lines, Frecenter): Save and restore the bidi | ||
| 8 | cache around display iteration. | ||
| 9 | |||
| 10 | * bidi.c (bidi_unshelve_cache): Ensure we have enough space before | ||
| 11 | restoring the shelved cache. | ||
| 12 | (bidi_cache_ensure_space): Don't assume the required size is just | ||
| 13 | one BIDI_CACHE_CHUNK away. | ||
| 14 | |||
| 15 | * xdisp.c (back_to_previous_visible_line_start, reseat_1) | ||
| 16 | (init_iterator): Empty the bidi cache "stack". | ||
| 17 | |||
| 1 | 2011-07-03 Eli Zaretskii <eliz@gnu.org> | 18 | 2011-07-03 Eli Zaretskii <eliz@gnu.org> |
| 2 | 19 | ||
| 3 | * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions. | 20 | * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): New functions. |