diff options
| author | Eli Zaretskii | 2011-08-05 14:04:44 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-08-05 14:04:44 +0300 |
| commit | 5009803bda518652cc6f4b9fba02c0aed185c2a3 (patch) | |
| tree | 5d0443887455129a793cadd52f03f740ec5230da /src/ChangeLog | |
| parent | e2e2423bf2fe3cda60737f20aeafaff64d38b35e (diff) | |
| parent | 35928349678bc6ed8f621fe7d4da6a9a3fb3579d (diff) | |
| download | emacs-5009803bda518652cc6f4b9fba02c0aed185c2a3.tar.gz emacs-5009803bda518652cc6f4b9fba02c0aed185c2a3.zip | |
Fix bug #9221 with memory leak in bidi display.
Add code to monitor memory allocation for bidi cache shelving.
src/xdisp.c (display_line): Release buffer allocated for shelved bidi
cache.
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.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5861ee6c48b..3ac958e0311 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,25 @@ | |||
| 1 | 2011-08-05 Eli Zaretskii <eliz@gnu.org> | 1 | 2011-08-05 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | *xdisp.c (display_line): Release buffer allocated for shelved bidi | ||
| 4 | cache. (Bug#9221) | ||
| 5 | |||
| 6 | * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total | ||
| 7 | amount allocated this far in `bidi_cache_total_alloc'. | ||
| 8 | (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if | ||
| 9 | non-zero, only free the data buffer without restoring the cache | ||
| 10 | contents. All callers changed. | ||
| 11 | |||
| 12 | * dispextern.h (bidi_unshelve_cache): Update prototype. | ||
| 13 | |||
| 14 | * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to) | ||
| 15 | (move_it_in_display_line, move_it_to) | ||
| 16 | (move_it_vertically_backward, move_it_by_lines): Replace the call | ||
| 17 | to xfree to an equivalent call to bidi_unshelve_cache. | ||
| 18 | (move_it_in_display_line_to): Fix logic of returning | ||
| 19 | MOVE_POS_MATCH_OR_ZV in the bidi case. | ||
| 20 | |||
| 21 | 2011-08-05 Eli Zaretskii <eliz@gnu.org> | ||
| 22 | |||
| 3 | * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that | 23 | * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that |
| 4 | came from a string character with a `cursor' property. (Bug#9229) | 24 | came from a string character with a `cursor' property. (Bug#9229) |
| 5 | 25 | ||