aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2010-03-30 05:02:07 -0400
committerEli Zaretskii <[email protected]>2010-03-30 05:02:07 -0400
commit4d6ea387e7527aa73d7664e98bfd2e2c24b1628d (patch)
treeb9d840f26f6c43c191d33b3263cc502753a780d0 /src
parentf4b6ba46b857e140c6482c0542c70fc989b1fe85 (diff)
Removed src/ChangeLog.bidi from bzr.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog.bidi582
1 files changed, 0 insertions, 582 deletions
diff --git a/src/ChangeLog.bidi b/src/ChangeLog.bidi
deleted file mode 100644
index 33982c2145..0000000000
--- a/src/ChangeLog.bidi
+++ /dev/null
@@ -1,582 +0,0 @@
-2010-03-29 Eli Zaretskii <[email protected]>
-
- * doc/emacs/mule.texi (International): Mention support of
- bidirectional editing.
- (Bidirectional Editing): New section.
-
-2010-03-28 Eli Zaretskii <[email protected]>
-
- * etc/HELLO: Reorder Arabic and Hebrew into logical order, and
- insert RLM before the opening paren, to make the display more
- reasonable. Add setting for bidi-display-reordering in the local
- variables section.
-
- * lisp/files.el: Make bidi-display-reordering safe variable for
- boolean values.
-
- * xdisp (append_glyph): If the glyph row is reversed, prepend the
- glyph rather than appending it.
-
- * makefile.w32-in (OBJ1): Add $(BLD)/bidi.$(O).
- ($(BLD)/bidi.$(O)): New target.
-
- * bidi.c (bidi_get_next_char_visually): Improve commentary.
-
- * dispextern.h (PRODUCE_GLYPHS): Set the reversed_p flag in the
- iterator's glyph_row here.
-
- * xdisp.c (handle_invisible_prop, set_iterator_to_next)
- (next_element_from_buffer): Don't set the reversed_p flag in the
- iterator's glyph_row here.
-
-2010-03-20 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Don't miss a candidate row whose
- glyph->charpos is an exact match for point.
- (try_cursor_movement): Don't give up if rows are bidi-reordered
- and point moved backwards. Instead, back up to the row that is
- not a continuation line.
-
-2010-03-13 Eli Zaretskii <[email protected]>
-
- * xdisp.c (try_cursor_movement): Give up if rows are
- bidi-reordered and point moved backwards. Examine all the
- candidate rows that occlude point, to return the best match.
- (row_containing_pos): With bidi-reordered rows, don't return the
- first one that occludes point; rather, examine all candidates and
- return the best match, with he glyph that's closest to point.
- (display_line): When looking for min position, don't consider
- negative values of glyph->charpos. (Fixes a crash with "C-x 3" at
- ZV.) Record the position after EOL in it->eol_pos, and use it to
- set end_pos of the last row produced for a continued line. Fix
- the condition for passing candidate rows to set_cursor_from_row:
- check ends_at_zv_p flag of the best candidate row, not of the
- current row.
-
- * dispextern.h (struct it): New member eol_pos.
-
- * .gdbinit (prowlims): Display the ends_at_zv_p flag.
-
-2010-03-06 Eli Zaretskii <[email protected]>
-
- * .gdbinit (prowlims, pmtxrows): New commands.
-
- * xdisp.c (display_line): Special-case the calculation of row->end
- in rows that end at ZV, to avoid abort in CHAR_TO_BYTE. Handle
- empty lines correctly when calculating row's max and min pos.
- Display cursor at the first glyph row that has its ends_at_zv_p
- flag set.
-
-2010-02-20 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Compare candidate cursor
- positions only in rows whose buffer positions occlude point.
- (display_line): Fix computation of row->start and row->end for
- empty lines.
-
- * dispnew.c (row_equal_p): Compare the reversed_p attributes as
- well.
-
-2010-02-13 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Don't overwrite cursor position
- if it is not a better candidate than what we already have.
- (display_line): Keep calling set_cursor_from_row for
- bidi-reordered rows even if we already have a possible candidate
- for cursor position. Undo the row_end setting throughout the
- code, and instead do it after all the row's glyphs have been
- produced, by looping over the glyphs.
-
-2010-02-06 Eli Zaretskii <[email protected]>
-
- Start working on cursor movement in continuation lines.
- * xdisp.c (move_it_in_display_line_to): New variables prev_method
- and prev_pos. Compare for strict equality in
- BUFFER_POS_REACHED_P.
-
-2010-01-30 Eli Zaretskii <[email protected]>
-
- Fix fallout from changes to managing glyph row reversed_p flag.
- * xdisp.c (init_iterator): Initialize it->glyph_row->reversed_p
- flag.
-
-2010-01-25 Eli Zaretskii <[email protected]>
-
- Clean up the mess with setting the glyph row reversed_p flag.
- * dispnew.c (prepare_desired_row): Preserve the reversed_p flag.
-
- * bidi.c (bidi_cache_find): Use bidi_copy_it instead of copying
- the whole struct (which includes uninitialized parts).
- (bidi_init_it): Don't initialize bidi_it->paragraph_dir.
-
- * xdisp.c (display_line): Remove misplaced setting of
- row->reversed_p flags. Copy the reversed_p flag to the next glyph
- row.
- (next_element_from_buffer): Check bidi_it.paragraph_dir rather
- than level_stack[0].level. Reset the reversed_p flag for non-R2L
- paragraphs.
-
- Fix display of invisible text.
- * xdisp.c (handle_invisible_prop): If we are `reseat'ed, init the
- paragraph direction and set the `reversed_p' flag in the IT's
- glyph row. Fix exit conditions of the loop that skips invisible
- text. Update IT->prev_stop after skipping invisible text. Check
- for additional overlays at IT->stop_charpos, not at start_pos.
-
-2010-01-16 Eli Zaretskii <[email protected]>
-
- * xdisp.c (handle_invisible_prop): Under bidi iteration, skip
- invisible text using bidi_get_next_char_visually.
- (handle_stop_backwards): Restore it->bidi_p, it->current and
- it->position before calling handle_stop.
- (next_element_from_buffer): Fix formatting.
-
-2010-01-09 Eli Zaretskii <[email protected]>
-
- * xdisp.c (handle_stop_backwards): Add a prototype.
- (reseat): call handle_stop_backwards to recompute prev_stop and
- base_level_stop for the new position. Solves the crash when
- scrolling backwards.
-
-2010-01-02 Eli Zaretskii <[email protected]>
-
- * .gdbinit (pitx): Display some bidi information about the
- iterator.
-
- * dispextern.h (BIDI_AT_BASE_LEVEL): Enclose definition in
- parentheses.
-
- * xdisp.c (handle_stop_backwards): Save and restore it->current
- and it->position, instead of expecting the caller to do that.
- (next_element_from_buffer): When moving across stop_charpos,
- record it in prev_stop. When IT_CHARPOS backs up, call
- handle_stop_backwards only if above the base embedding level.
- This solves the crash while displaying etc/HELLO in bidi mode.
-
-2009-12-26 Eli Zaretskii <[email protected]>
-
- * xdisp.c (handle_stop_backwards): Call compute_stop_pos in the
- loop, instead of calling handle_stop. Call handle_stop only once,
- after the loop.
- (next_element_from_buffer): Don't call handle_stop_backwards if at
- stop position. If base_level_stop is zero, set it to 1.
-
- * term.c (append_glyph): Fill resolved_level and bidi_type slots
- of struct glyph for unidirectional display.
-
- * xdisp.c (set_cursor_from_row): Handle zero-width characters.
-
- * bidi.c (bidi_mirror_char): More efficient code (suggested by
- Ehud Karni <[email protected]>). Don't even try to mirror
- non-ASCII characters.
-
-2009-12-19 Eli Zaretskii <[email protected]>
-
- * buffer.c (Fbuffer_swap_text): Swap the values of
- bidi_display_reordering and bidi_paragraph_direction.
-
- * bidi.c (bidi_resolve_weak): Fix nesting of conditions for Wn
- processing. Move W3 after W1 and W2. Simplify W4 because it is
- now always after W1.
-
- * .gdbinit (pbiditype): New command.
- (pgx): Use it to display bidi level and type of the glyph.
-
-2009-12-12 Eli Zaretskii <[email protected]>
-
- * dispextern.h (struct it): New members prev_stop and
- base_level_stop.
-
- * xdisp.c (handle_stop_backwards): New function.
- (next_element_from_buffer): Handle the situation where we
- overstepped stop_charpos due to non-linearity of the bidi
- iteration. Likewise for when we back up beyond the previous
- stop_charpos.
- (reseat_1, pop_it, push_it): Set prev_stop and base_level_stop.
-
- * dispextern.h (BIDI_AT_BASE_LEVEL): New macro.
-
- * bidi.c (bidi_copy_it): Fix compiler warning due to cast of a
- pointer to `int'. Don't preserve the first_elt member, as it is
- no longer copied, because its position in the structure was
- changed, see below.
-
- * dispextern.h (struct bidi_it): Move first_elt, new_paragraph,
- separator_limit, and paragraph_dir to after bidi_stack. Add a
- note that anything beyond the level stack is not preserved when
- the bidi iterator state is copied/saved.
-
-2009-11-21 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Fix cursor positioning on empty
- lines when integer values of `cursor' property is used on display
- strings.
-
-2009-11-14 Eli Zaretskii <[email protected]>
-
- * xdisp.c (init_iterator, text_outside_line_unchanged_p)
- (try_window_id): Rename paragraph_direction to
- bidi_paragraph_direction.
- (set_cursor_from_row): Handle integer values of `cursor' property
- on display strings.
-
- * buffer.c (init_buffer_once, syms_of_buffer): Rename
- paragraph_direction to bidi_paragraph_direction.
-
- * buffer.h (struct buffer): Rename paragraph_direction to
- bidi_paragraph_direction.
-
-2009-11-07 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_paragraph_init): Don't overstep end of buffer.
- Treat end of buffer as a NEUTRAL_B character.
- (bidi_resolve_explicit): Don't special-case ZV when bidi_it->type
- is NEUTRAL_B, since bidi_set_paragraph_end no longer sets the
- new_paragraph flag.
-
-2009-10-31 Eli Zaretskii <[email protected]>
-
- * xdisp.c (display_line): Always extend reversed_p rows to the end
- of line.
- (set_cursor_from_row): In R2L rows that don't display text, put
- the cursor on the rightmost glyph.
-
-2009-10-24 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Fix off-by-one error when
- skipping over non-character glyphs at end of a reversed row.
-
- * dispextern.h (struct glyph): The `resolved_level' member needs
- only 5 bits, not 6. The `bidi_type' member needs only 3 bits.
- (bidi_type_t): Rearrange so that types that can appear in the
- resolved type are at the beginning and have values less than 8.
-
-2009-10-23 Eli Zaretskii <[email protected]>
-
- * bidi.c: Include setjmp.h.
-
-2009-10-17 Eli Zaretskii <[email protected]>
-
- * dispextern.h (struct glyph): New members resolved_level and
- bidi_type.
-
- * xdisp.c (append_glyph, append_composite_glyph)
- (produce_image_glyph, append_stretch_glyph): Set them.
-
- * term.c (append_glyph): Ditto.
-
- * xdisp.c (display_line, next_element_from_buffer): Set the glyph
- row's reversed_p flag if the paragraph base direction is odd.
- (extend_face_to_end_of_line): Don't reverse the glyphs here.
-
- * term.c (append_glyph): Reverse glyphs here.
-
- * bidi.c (bidi_get_next_char_visually): Don't exit early when at
- ZV.
- (bidi_paragraph_init): Don't step over a newline if at BEGV.
-
-2009-10-16 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_paragraph_init): Handle empty buffers.
-
-2009-10-10 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Skip over glyphs near end of row
- with integer OBJECT even if their CHARPOS is zero.
-
- * bidi.c (bidi_cache_iterator_state): Don't cache NEW_PARAGRAPH.
- Abort if someone tries to add a cached state whose position is not
- the immediate successor to that of the last cached state.
- (bidi_paragraph_init): Don't bail out too early after a reseat.
-
-2009-10-09 Eli Zaretskii <[email protected]>
-
- * xdisp.c (text_outside_line_unchanged_p, try_window_id): Disable
- optimizations if we are reordering bidirectional text and the
- paragraph direction can be affected by the change.
-
-2009-10-08 Eli Zaretskii <[email protected]>
-
- * xdisp.c (string_buffer_position_lim): New function.
- (string_buffer_position): Most of code moved to
- string_buffer_position_lim. Last argument and return value are
- now EMACS_INT; all callers changed.
- (set_cursor_from_row): Rewritten to support bidirectional text and
- reversed glyph rows.
-
- dispextern.h <string_buffer_position>: Update prototype.
-
-2009-10-07 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_paragraph_init): Fix initialization of POS.
-
- * dispextern.h (struct glyph_row): New member reversed_p.
-
-2009-10-06 Eli Zaretskii <[email protected]>
-
- * buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for
- default-direction-reversed, default-bidi-display-reordering, and
- default-paragraph-direction.
-
-2009-10-05 Eli Zaretskii <[email protected]>
-
- * buffer.h (struct buffer): New member paragraph_direction.
- * buffer.c (init_buffer_once): Initialize it.
- (syms_of_buffer): Declare Lisp variables
- default-paragraph-direction and paragraph-direction.
-
- * dispextern.h (struct it): New member paragraph_embedding.
- * xdisp.c (init_iterator): Initialize it from the buffer's value
- of paragraph-direction.
- <Qright_to_left, Qleft_to_right>: New variables.
- (syms_of_xdisp): Initialize and staticpro them.
- (set_iterator_to_next, next_element_from_buffer): Use the value of
- paragraph_embedding to determine the paragraph direction.
-
- * bidi.c (bidi_line_init): Fix second argument to
- bidi_set_sor_type.
- (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
- (bidi_get_next_char_visually): Record the last character of the
- separator in separator_limit, not the character after that.
- (bidi_find_paragraph_start): Accept character and byte positions
- instead of the whole iterator stricture. All callers changed.
-
-2009-10-04 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_at_paragraph_end): Check for paragraph-start if
- paragraph-separate failed to match. Return the length of the
- matched separator.
- (bidi_line_init): New function.
- (bidi_paragraph_init): Use bidi_line_init. Do nothing if in the
- middle of a paragraph-separate sequence. Don't override existing
- paragraph direction if no strong characters found in this
- paragraph. Set separator_limit according to what
- bidi_at_paragraph_end returns. Reset new_paragraph flag when a
- new paragraph is found.
- (bidi_init_it): Reset separator_limit.
-
- * dispextern.h (struct bidi_it): New member separator_limit.
-
- * bidi.c (bidi_find_paragraph_start): Return the byte position of
- the paragraph beginning.
-
- * xdisp.c (set_iterator_to_next): Call bidi_paragraph_init if the
- new_paragraph flag is set in the bidi iterator.
-
- * bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): Use
- the buffer-local value of paragraph-start and paragraph-separate.
-
-2009-10-03 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_set_paragraph_end): Don't set the new_paragraph
- flag in the iterator.
- (bidi_init_it): Set the new_paragraph flag.
- (bidi_at_paragraph_end): Arguments are now character and byte
- position of the next character. All callers changed.
- (bidi_resolve_explicit): Don't call bidi_at_paragraph_end, and
- don't behave as if at paragraph end if it returns true.
- (bidi_get_next_char_visually): Don't call bidi_paragraph_init if
- new_paragraph flags is set. Set new_paragraph flag when at end of
- a paragraph.
- <fallback_paragraph_start_re, fallback_paragraph_separate_re>: New
- variables.
- <Qparagraph_start, Qparagraph_separate>: New variables.
- (bidi_initialize): Initialize and staticpro them.
-
- * dispextern.h <struct bidi_it>: New element paragraph_dir. Make
- positional elements EMACS_INT.
-
- * bidi.c <bidi_overriding_paragraph_direction>: Delete.
-
-2009-09-28 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_init_it): Initialize charpos, bytepos, and
- first_elt before calling bidi_set_paragraph_end.
- (bidi_resolve_explicit): Don't call bidi_set_paragraph_end at
- EOB.
- (bidi_at_paragraph_end): Don't set new_paragraph flag at EOB.
- (bidi_get_type): Accept an additional argument OVERRIDE, per UAX#9
- "Explicit Overrides". All callers changed.
-
-2009-09-27 Eli Zaretskii <[email protected]>
-
- * xdisp.c (next_element_from_buffer): If called not at line
- beginning, start bidi iteration from line beginning.
-
- * bidi.c (bidi_paragraph_init): Use
- bidi_overriding_paragraph_direction instead of a literal zero.
- (bidi_initialize): Fix some character types, per Unicode 5.x.
- (bidi_get_type): Abort if called with invalid character code.
-
- * dispextern.h: Add prototype of bidi_mirror_char.
-
- * xdisp.c (get_next_display_element): Mirror characters whose
- resolved type is STRONG_R.
-
-2009-09-26 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_paragraph_init): Don't set bidi_it->ch_len. Abort
- if called not at beginning of a new paragraph.
- (bidi_get_next_char_visually): Prepare and use a sentinel iterator
- state when first_elt flag is set.
-
- * dispextern.h (struct bidi_it): New struct member first_elt.
-
- * bidi.c (bidi_init_it): Initialize bidi_it->first_elt.
- (bidi_copy_it): Don't copy the first_elt flag.
-
- * xdisp.c (reseat_1): Initialize bidi_it.first_elt. Move bidi
- scan start code from here...
- (next_element_from_buffer): ...to here. Use bidi_it.first_elt
- flag.
-
-2009-09-20 Eli Zaretskii <[email protected]>
-
- * xdisp.c (reseat_1): Handle position < BEGV.
-
- * bidi.c (bidi_paragraph_init): Set bidi_it->ch_len. Handle ZV.
- (bidi_init_it): Don't initialize bidi_it->ch_len.
- (bidi_resolve_explicit_1): Abort if bidi_it->ch_len was not
- initialized.
- (bidi_at_paragraph_end, bidi_resolve_explicit_1)
- (bidi_resolve_weak, bidi_level_of_next_char): Handle bytepos at
- ZV_BYTE.
- (bidi_resolve_explicit_1): Handle position < BEGV.
-
-2009-09-19 Eli Zaretskii <[email protected]>
-
- * xdisp.c (init_iterator): Call bidi_init_it. Set
- bidi_it->bytepos if buffer position specified.
- (reseat_1): Don't call bidi_init_it. Call bidi_paragraph_init
- instead. Move back to preceding character before the call to
- bidi_get_next_char_visually.
-
- * bidi.c: Remove all STANDALONE parts.
- (bidi_init_it): Init bidi_it->charpos and bidi_it->bytepos to -1.
- Don't call bidi_paragraph_init. Change arguments.
- (bidi_paragraph_init): Remove code for negative pos.
-
- * dispextern.h <bidi_it>: Rename orig_type to type_after_w1 and
- pristine_type to orig_type.
-
-2009-09-12 Eli Zaretskii <[email protected]>
-
- * dispnew.c (direct_output_for_insert): Give up if we are
- reordering bidirectional text.
-
- * dispextern.h (IT_STACK_SIZE): Enlarge to 5.
-
- * xdisp.c (display_line): Set row->end and it->start for the next
- row to the next character in logical order. If we are reordering
- bidi text, push and pop the iterator before and after momentarily
- iterating in logical order.
-
-2009-09-11 Eli Zaretskii <[email protected]>
-
- Note: The following changes were undone on 2009-09-12.
-
- * xdisp.c (set_iterator_to_next, reseat, reseat_1)
- (reseat_at_next_visible_line_start): Accept additional argument
- force_logical_p; all callers changed. If force_logical_p is
- non-zero, force iteration in buffer's logical order even in bidi
- buffers.
-
- * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
- with additional argument zero.
-
- * dispextern.h (set_iterator_to_next): Now accepts an additional
- argument.
-
-2009-08-29 Eli Zaretskii <[email protected]>
-
- * xdisp.c (set_cursor_from_row): Don't assume glyph->charpos
- increments linearly.
- (try_window_reusing_current_matrix): Don't assume glyph->charpos
- increments linearly.
-
-2009-08-28 Eli Zaretskii <[email protected]>
-
- * bidi.c <bidi_overriding_paragraph_direction>: Default to L2R,
- for now.
-
-2009-08-22 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_initialize): staticpro bidi_char_table.
- (bidi_check_type): New function.
- (bidi_cache_iterator_state, bidi_remember_char)
- (bidi_resolve_explicit_1, bidi_resolve_explicit)
- (bidi_resolve_weak, bidi_resolve_neutral)
- (bidi_level_of_next_char): Use it to validate the bidi type
- assigned to the iterator.
-
-2009-08-15 Eli Zaretskii <[email protected]>
-
- * bidi.c (bidi_initialize): Fix initialization of bidi_type_table.
-
- * xdisp.c (set_iterator_to_next): Fix position setting after call
- to bidi_get_next_char_visually.
-
-2005-12-03 Eli Zaretskii <[email protected]>
-
- * bidi.c: Include stdio.h unconditionally. Fix and elaborate
- commentary. Add Copyright blurb.
-
-2004-03-08 Kenichi Handa <[email protected]>
-
- * xdisp.c (reseat_1): Call bidi_init_it with a previous position.
-
- * bidi.c (bidi_init_it): Set bidi_it->ch_len even if POS > 0.
-
-2004-03-04 Kenichi Handa <[email protected]>
-
- The following changes are to support bidirectional text display.
-
- * Makefile.in (obj): Include bidi.o.
- (bidi.o): New target.
-
- * bidi.c: New file.
-
- * buffer.h (struct buffer): New member bidi_display_reordering.
-
- * buffer.c (init_buffer_once): Initialize bidi_display_reordering.
- (syms_of_buffer): Declarations of Lisp variables
- default-bidi-display-reordering and bidi-display-reordering.
-
- * dispextern.h (BIDI_MAXLEVEL): New macro.
- (bidi_type_t, bidi_dir_t): New types.
- (bidi_saved_info, bidi_stack, bidi_it): New structs.
- (struct it): New members bidi_p and bidi_it.
- (bidi_init_it): Extern it.
- (bidi_get_next_char_visually): Extern it.
-
- * dispnew.c (direct_output_forward_char): Give up if we need bidi
- processing or buffer's direction is right-to-left.
-
- * xdisp.c (init_iterator): Initialize it->bidi_p.
- (reseat_1): Cal bidi_init_it and bidi_get_next_char_visually if
- necessary.
- (set_iterator_to_next): Cal bidi_get_next_char_visually if
- necessary.
-
-
-;; Local Variables:
-;; coding: utf-8
-;; add-log-time-zone-rule: t
-;; End:
-
- Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-
- This file is part of GNU Emacs.
-
- GNU Emacs is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- GNU Emacs is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.