aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert2011-07-14 13:40:35 -0700
committerPaul Eggert2011-07-14 13:40:35 -0700
commit1fd800e53d98ac4ea8ed560db81bd36545788b56 (patch)
tree9b200f09414e05c1e059f0d3889c77fe93121883 /src/ChangeLog
parentaf1d7677299425547ec39d20810890333a9970a7 (diff)
parent2fd0959ded01063e4a62c05e9d2d6b05cf6384c8 (diff)
downloademacs-1fd800e53d98ac4ea8ed560db81bd36545788b56.tar.gz
emacs-1fd800e53d98ac4ea8ed560db81bd36545788b56.zip
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog220
1 files changed, 220 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0977b12ab38..ce080f6b239 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -182,6 +182,226 @@
182 182
1832011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> 1832011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
184 184
185 * data.c (Fcdr, Fcar): Revert the last change, since it didn't
186 really clarify much.
187
188 * search.c (Fre_search_backward): Mention `case-fold-search' in
189 all the re_search_* functions (bug#8138).
190
191 * keyboard.c (Fopen_dribble_file): Document when the file is
192 closed (bug#8056).
193
1942011-07-14 Eli Zaretskii <eliz@gnu.org>
195
196 * bidi.c (bidi_dump_cached_states): Fix format of displaying
197 bidi_cache_idx.
198
199 Support bidi reordering of display and overlay strings.
200 * xdisp.c (compute_display_string_pos)
201 (compute_display_string_end): Accept additional argument STRING.
202 (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
203 (reseat_to_string): Initialize bidi_it->string.s and
204 bidi_it->string.schars.
205 (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
206 NULL (avoids a crash in bidi_paragraph_init). Initialize
207 itb.string.lstring.
208 (init_iterator): Call bidi_init_it only of a valid
209 buffer position was specified. Initialize paragraph_embedding to
210 L2R.
211 (reseat_to_string): Initialize the bidi iterator.
212 (display_string): If we need to ignore text properties of
213 LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
214 original value of -1 will not work with bidi.)
215 (compute_display_string_pos): First arg is now struct
216 `text_pos *'; all callers changed. Support display properties on
217 Lisp strings.
218 (compute_display_string_end): Support display properties on Lisp
219 strings.
220 (init_iterator, reseat_1, reseat_to_string): Initialize the
221 string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
222 when iterating on a string not from display properties).
223 (compute_display_string_pos, compute_display_string_end): Fix
224 calculation of the object to scan. Fixes an error when using
225 arrow keys.
226 (next_element_from_buffer): Don't abort when IT_CHARPOS is before
227 base_level_stop; instead, set base_level_stop to BEGV. Fixes
228 crashes in vertical-motion.
229 (next_element_from_buffer): Improve commentary for when
230 the iterator is before prev_stop.
231 (init_iterator): Initialize bidi_p from the default value of
232 bidi-display-reordering, not from buffer-local value. Use the
233 buffer-local value only if initializing for buffer iteration.
234 (handle_invisible_prop): Support invisible properties on strings
235 that are being bidi-reordered.
236 (set_iterator_to_next): Support bidi reordering of C strings and
237 Lisp strings.
238 (next_element_from_string): Support bidi reordering of Lisp
239 strings.
240 (handle_stop_backwards): Support Lisp strings as well.
241 (display_string): Support display of R2L glyph rows. Use
242 IT_STRING_CHARPOS when displaying from a Lisp string.
243 (init_iterator): Don't initialize it->bidi_p for strings
244 here.
245 (reseat_to_string): Initialize it->bidi_p for strings here.
246 (next_element_from_string, next_element_from_c_string)
247 (next_element_from_buffer): Add xassert's for correspondence
248 between IT's object being iterated and it->bidi_it.string
249 structure.
250 (face_before_or_after_it_pos): Support bidi iteration.
251 (next_element_from_c_string): Handle the case of the first string
252 character that is not the first one in the visual order.
253 (get_visually_first_element): New function, refactored from common
254 parts of next_element_from_buffer, next_element_from_string, and
255 next_element_from_c_string.
256 (tool_bar_lines_needed, redisplay_tool_bar)
257 (display_menu_bar): Force left-to-right direction. Add a FIXME
258 comment for making that be controlled by a user option.
259 (push_it, pop_it): Save and restore the state of the
260 bidi iterator. Save and restore the bidi_p flag.
261 (pop_it): Iterate out of display property for string iteration as
262 well.
263 (iterate_out_of_display_property): Support iteration over strings.
264 (handle_single_display_spec): Set up it->bidi_it for iteration
265 over a display string, and call bidi_init_it.
266 (handle_single_display_spec, next_overlay_string)
267 (get_overlay_strings_1, push_display_prop): Set up the bidi
268 iterator for displaying display or overlay strings.
269 (forward_to_next_line_start): Don't use the shortcut if
270 bidi-iterating.
271 (back_to_previous_visible_line_start): If handle_display_prop
272 pushed the iterator stack, restore the internal state of the bidi
273 iterator by calling bidi_pop_it same number of times.
274 (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
275 and we are bidi-iterating, don't decrement the iterator position;
276 instead, set the first_elt flag in the bidi iterator, to produce
277 the same effect.
278 (reseat_1): Remove redundant setting of string_from_display_prop_p.
279 (push_display_prop): xassert that we are iterating a buffer.
280 (push_it, pop_it): Save and restore paragraph_embedding member.
281 (handle_single_display_spec, next_overlay_string)
282 (get_overlay_strings_1, reseat_1, reseat_to_string)
283 (push_display_prop): Set up the `unibyte' member of bidi_it.string
284 correctly. Don't assume unibyte strings are not bidi-reordered.
285 (compute_display_string_pos)
286 (compute_display_string_end): Fix handling the case of C string.
287 (push_it, pop_it): Save and restore from_disp_prop_p.
288 (handle_single_display_spec, push_display_prop): Set the
289 from_disp_prop_p flag.
290 (get_overlay_strings_1): Reset the from_disp_prop_p flag.
291 (pop_it): Call iterate_out_of_display_property only if we are
292 popping after iteration over a string that came from a display
293 property. Fix a typo in popping stretch info. Add an assertion
294 for verifying that the iterator position is in sync with the bidi
295 iterator.
296 (handle_single_display_spec, get_overlay_strings_1)
297 (push_display_prop): Fix initialization of paragraph direction for
298 string when that of the parent object is not yet determined.
299 (reseat_1): Call bidi_init_it to resync the bidi
300 iterator with IT's position. (Bug#7616)
301 (find_row_edges): If ROW->start.pos gives position
302 smaller than min_pos, use it as ROW->minpos. (Bug#7616)
303 (handle_stop, back_to_previous_visible_line_start, reseat_1):
304 Reset the from_disp_prop_p flag.
305 (SAVE_IT, RESTORE_IT): New macros.
306 (pos_visible_p, face_before_or_after_it_pos)
307 (back_to_previous_visible_line_start)
308 (move_it_in_display_line_to, move_it_in_display_line)
309 (move_it_to, move_it_vertically_backward, move_it_by_lines)
310 (try_scrolling, redisplay_window, display_line): Use them when
311 saving a temporary copy of the iterator and restoring it back.
312 (back_to_previous_visible_line_start, reseat_1)
313 (init_iterator): Empty the bidi cache "stack".
314 (move_it_in_display_line_to): If iterator ended up at
315 EOL, but we never saw any buffer positions smaller than
316 to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
317 motion in bidi-reordered lines.
318 (move_it_in_display_line_to): Record prev_method and prev_pos
319 immediately before the call to set_iterator_to_next. Fixes cursor
320 motion in bidi-reordered lines with stretch glyphs and strings
321 displayed in margins. (Bug#8133) (Bug#8867)
322 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
323 TO_CHARPOS.
324 (pos_visible_p): Support positions in bidi-reordered lines. Save
325 and restore bidi cache.
326
327 * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
328 (bidi_paragraph_info): Delete unused struct.
329 (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
330 (bidi_cache_start): New variable.
331 (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
332 to zero.
333 (bidi_cache_fetch_state, bidi_cache_search)
334 (bidi_cache_find_level_change, bidi_cache_iterator_state)
335 (bidi_cache_find, bidi_peek_at_next_level)
336 (bidi_level_of_next_char, bidi_find_other_level_edge)
337 (bidi_move_to_visually_next): Compare cache index with
338 bidi_cache_start rather than with zero.
339 (bidi_fetch_char): Accept new argument STRING; all callers
340 changed. Support iteration over a string. Support strings with
341 display properties. Support unibyte strings. Fix the type of
342 `len' according to what STRING_CHAR_AND_LENGTH expects.
343 (bidi_paragraph_init, bidi_resolve_explicit_1)
344 (bidi_resolve_explicit, bidi_resolve_weak)
345 (bidi_level_of_next_char, bidi_move_to_visually_next): Support
346 iteration over a string.
347 (bidi_set_sor_type, bidi_resolve_explicit_1)
348 (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
349 can now be zero (for strings); special values 0 and -1 were
350 changed to -1 and -2, respectively.
351 (bidi_char_at_pos): New function.
352 (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
353 Call it instead of FETCH_MULTIBYTE_CHAR.
354 (bidi_move_to_visually_next): Abort if charpos or bytepos were not
355 initialized to valid values.
356 (bidi_init_it): Don't initialize charpos and bytepos with invalid
357 values.
358 (bidi_level_of_next_char): Allow the sentinel "position" to pass
359 the test for valid cached positions. Fix the logic for looking up
360 the sentinel state in the cache. GCPRO the Lisp string we are
361 iterating.
362 (bidi_push_it, bidi_pop_it): New functions.
363 (bidi_initialize): Initialize the bidi cache start stack pointer.
364 (bidi_cache_ensure_space): New function, refactored from part of
365 bidi_cache_iterator_state. Don't assume the required size is just
366 one BIDI_CACHE_CHUNK away.
367 (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
368 (bidi_count_bytes, bidi_char_at_pos): New functions.
369 (bidi_cache_search): Don't assume bidi_cache_last_idx is
370 always valid if bidi_cache_idx is valid.
371 (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
372 is valid if it's going to be used.
373 (bidi_shelve_cache, bidi_unshelve_cache): New functions.
374 (bidi_cache_fetch_state, bidi_cache_search)
375 (bidi_cache_find_level_change, bidi_cache_ensure_space)
376 (bidi_cache_iterator_state, bidi_cache_find)
377 (bidi_find_other_level_edge, bidi_cache_start_stack): All
378 variables related to cache indices are now EMACS_INT.
379
380 * dispextern.h (struct bidi_string_data): New structure.
381 (struct bidi_it): New member `string'. Make flag members be 1-bit
382 fields, and put them last in the struct.
383 (compute_display_string_pos, compute_display_string_end): Update
384 prototypes.
385 (bidi_push_it, bidi_pop_it): Add prototypes.
386 (struct iterator_stack_entry): New members bidi_p,
387 paragraph_embedding, and from_disp_prop_p.
388 (struct it): Member bidi_p is now a bit field 1 bit wide.
389 (bidi_shelve_cache, bidi_unshelve_cache): Declare
390 prototypes.
391
392 * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
393 (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
394 and vector-like objects.
395
396 * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
397 cache around display iteration.
398
399 * window.c (Fwindow_end, window_scroll_pixel_based)
400 (displayed_window_lines, Frecenter): Save and restore the bidi
401 cache around display iteration.
402
4032011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
404
185 * editfns.c (Fdelete_region): Clarify the use of the named 405 * editfns.c (Fdelete_region): Clarify the use of the named
186 parameters (bug#6788). 406 parameters (bug#6788).
187 407