aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2011-08-05 14:04:44 +0300
committerEli Zaretskii2011-08-05 14:04:44 +0300
commit5009803bda518652cc6f4b9fba02c0aed185c2a3 (patch)
tree5d0443887455129a793cadd52f03f740ec5230da /src/ChangeLog
parente2e2423bf2fe3cda60737f20aeafaff64d38b35e (diff)
parent35928349678bc6ed8f621fe7d4da6a9a3fb3579d (diff)
downloademacs-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/ChangeLog20
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 @@
12011-08-05 Eli Zaretskii <eliz@gnu.org> 12011-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
212011-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