diff options
| author | Paul Eggert | 2011-07-14 13:40:35 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-07-14 13:40:35 -0700 |
| commit | 1fd800e53d98ac4ea8ed560db81bd36545788b56 (patch) | |
| tree | 9b200f09414e05c1e059f0d3889c77fe93121883 /src/ChangeLog | |
| parent | af1d7677299425547ec39d20810890333a9970a7 (diff) | |
| parent | 2fd0959ded01063e4a62c05e9d2d6b05cf6384c8 (diff) | |
| download | emacs-1fd800e53d98ac4ea8ed560db81bd36545788b56.tar.gz emacs-1fd800e53d98ac4ea8ed560db81bd36545788b56.zip | |
Merge from trunk.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 220 |
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 | ||
| 183 | 2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> | 183 | 2011-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 | |||
| 194 | 2011-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 | |||
| 403 | 2011-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 | ||