Mercurial > emacs
annotate src/ChangeLog.bidi @ 107596:866e76f8ad75
Retrospective commit from 2009-10-08.
Finish up working on paragraph's base direction.
Start working on display of right-to-left glyph rows.
Rewrite set_cursor_from_row to support bidi.
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.
bidi.c (bidi_paragraph_init): Fix initialization of POS.
dispextern.h (struct glyph_row): New member reversed_p.
buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for
default-direction-reversed, default-bidi-display-reordering, and
default-paragraph-direction.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 01 Jan 2010 06:27:51 -0500 |
parents | 69c12db7031d |
children | 7361a2f37d8e |
rev | line source |
---|---|
107596
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
1 2009-10-08 Eli Zaretskii <eliz@gnu.org> |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
2 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
3 * xdisp.c (string_buffer_position_lim): New function. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
4 (string_buffer_position): Most of code moved to |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
5 string_buffer_position_lim. Last argument and return value are |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
6 now EMACS_INT; all callers changed. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
7 (set_cursor_from_row): Rewritten to support bidirectional text and |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
8 reversed glyph rows. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
9 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
10 dispextern.h <string_buffer_position>: Update prototype. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
11 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
12 2009-10-07 Eli Zaretskii <eliz@gnu.org> |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
13 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
14 * bidi.c (bidi_paragraph_init): Fix initialization of POS. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
15 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
16 * dispextern.h (struct glyph_row): New member reversed_p. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
17 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
18 2009-10-06 Eli Zaretskii <eliz@gnu.org> |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
19 |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
20 * buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
21 default-direction-reversed, default-bidi-display-reordering, and |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
22 default-paragraph-direction. |
866e76f8ad75
Retrospective commit from 2009-10-08.
Eli Zaretskii <eliz@gnu.org>
parents:
107595
diff
changeset
|
23 |
107595
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
24 2009-10-05 Eli Zaretskii <eliz@gnu.org> |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
25 |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
26 * buffer.h (struct buffer): New member paragraph_direction. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
27 * buffer.c (init_buffer_once): Initialize it. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
28 (syms_of_buffer): Declare Lisp variables |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
29 default-paragraph-direction and paragraph-direction. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
30 |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
31 * dispextern.h (struct it): New member paragraph_embedding. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
32 * xdisp.c (init_iterator): Initialize it from the buffer's value |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
33 of paragraph-direction. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
34 <Qright_to_left, Qleft_to_right>: New variables. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
35 (syms_of_xdisp): Initialize and staticpro them. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
36 (set_iterator_to_next, next_element_from_buffer): Use the value of |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
37 paragraph_embedding to determine the paragraph direction. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
38 |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
39 * bidi.c (bidi_line_init): Fix second argument to |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
40 bidi_set_sor_type. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
41 (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
42 (bidi_get_next_char_visually): Record the last character of the |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
43 separator in separator_limit, not the character after that. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
44 (bidi_find_paragraph_start): Accept character and byte positions |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
45 instead of the whole iterator stricture. All callers changed. |
69c12db7031d
Retrospective commit from 2009-10-05.
Eli Zaretskii <eliz@gnu.org>
parents:
107594
diff
changeset
|
46 |
107594
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
47 2009-10-04 Eli Zaretskii <eliz@gnu.org> |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
48 |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
49 * bidi.c (bidi_at_paragraph_end): Check for paragraph-start if |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
50 paragraph-separate failed to match. Return the length of the |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
51 matched separator. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
52 (bidi_line_init): New function. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
53 (bidi_paragraph_init): Use bidi_line_init. Do nothing if in the |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
54 middle of a paragraph-separate sequence. Don't override existing |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
55 paragraph direction if no strong characters found in this |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
56 paragraph. Set separator_limit according to what |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
57 bidi_at_paragraph_end returns. Reset new_paragraph flag when a |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
58 new paragraph is found. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
59 (bidi_init_it): Reset separator_limit. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
60 |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
61 * dispextern.h (struct bidi_it): New member separator_limit. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
62 |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
63 * bidi.c (bidi_find_paragraph_start): Return the byte position of |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
64 the paragraph beginning. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
65 |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
66 * xdisp.c (set_iterator_to_next): Call bidi_paragraph_init if the |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
67 new_paragraph flag is set in the bidi iterator. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
68 |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
69 * bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): Use |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
70 the buffer-local value of paragraph-start and paragraph-separate. |
40b49fa464cf
Retrospective commit from 2009-10-04.
Eli Zaretskii <eliz@gnu.org>
parents:
107593
diff
changeset
|
71 |
107593
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
72 2009-10-03 Eli Zaretskii <eliz@gnu.org> |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
73 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
74 * bidi.c (bidi_set_paragraph_end): Don't set the new_paragraph |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
75 flag in the iterator. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
76 (bidi_init_it): Set the new_paragraph flag. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
77 (bidi_at_paragraph_end): Arguments are now character and byte |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
78 position of the next character. All callers changed. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
79 (bidi_resolve_explicit): Don't call bidi_at_paragraph_end, and |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
80 don't behave as if at paragraph end if it returns true. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
81 (bidi_get_next_char_visually): Don't call bidi_paragraph_init if |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
82 new_paragraph flags is set. Set new_paragraph flag when at end of |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
83 a paragraph. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
84 <fallback_paragraph_start_re, fallback_paragraph_separate_re>: New |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
85 variables. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
86 <Qparagraph_start, Qparagraph_separate>: New variables. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
87 (bidi_initialize): Initialize and staticpro them. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
88 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
89 * dispextern.h <struct bidi_it>: New element paragraph_dir. Make |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
90 positional elements EMACS_INT. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
91 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
92 * bidi.c <bidi_overriding_paragraph_direction>: Delete. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
93 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
94 2009-09-28 Eli Zaretskii <eliz@gnu.org> |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
95 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
96 * bidi.c (bidi_init_it): Initialize charpos, bytepos, and |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
97 first_elt before calling bidi_set_paragraph_end. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
98 (bidi_resolve_explicit): Don't call bidi_set_paragraph_end at |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
99 EOB. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
100 (bidi_at_paragraph_end): Don't set new_paragraph flag at EOB. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
101 (bidi_get_type): Accept an additional argument OVERRIDE, per UAX#9 |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
102 "Explicit Overrides". All callers changed. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
103 |
107592
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
104 2009-09-27 Eli Zaretskii <eliz@gnu.org> |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
105 |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
106 * xdisp.c (next_element_from_buffer): If called not at line |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
107 beginning, start bidi iteration from line beginning. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
108 |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
109 * bidi.c (bidi_paragraph_init): Use |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
110 bidi_overriding_paragraph_direction instead of a literal zero. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
111 (bidi_initialize): Fix some character types, per Unicode 5.x. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
112 (bidi_get_type): Abort if called with invalid character code. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
113 |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
114 * dispextern.h: Add prototype of bidi_mirror_char. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
115 |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
116 * xdisp.c (get_next_display_element): Mirror characters whose |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
117 resolved type is STRONG_R. |
e6df672626c1
Retrospective commit from 2009-09-27.
Eli Zaretskii <eliz@gnu.org>
parents:
107591
diff
changeset
|
118 |
107591
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
119 2009-09-26 Eli Zaretskii <eliz@gnu.org> |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
120 |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
121 * bidi.c (bidi_paragraph_init): Don't set bidi_it->ch_len. Abort |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
122 if called not at beginning of a new paragraph. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
123 (bidi_get_next_char_visually): Prepare and use a sentinel iterator |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
124 state when first_elt flag is set. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
125 |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
126 * dispextern.h (struct bidi_it): New struct member first_elt. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
127 |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
128 * bidi.c (bidi_init_it): Initialize bidi_it->first_elt. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
129 (bidi_copy_it): Don't copy the first_elt flag. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
130 |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
131 * xdisp.c (reseat_1): Initialize bidi_it.first_elt. Move bidi |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
132 scan start code from here... |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
133 (next_element_from_buffer): ...to here. Use bidi_it.first_elt |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
134 flag. |
86eec24bee2c
Retrospective commit from 2009-09-26.
Eli Zaretskii <eliz@gnu.org>
parents:
107590
diff
changeset
|
135 |
107590
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
136 2009-09-20 Eli Zaretskii <eliz@gnu.org> |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
137 |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
138 * xdisp.c (reseat_1): Handle position < BEGV. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
139 |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
140 * bidi.c (bidi_paragraph_init): Set bidi_it->ch_len. Handle ZV. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
141 (bidi_init_it): Don't initialize bidi_it->ch_len. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
142 (bidi_resolve_explicit_1): Abort if bidi_it->ch_len was not |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
143 initialized. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
144 (bidi_at_paragraph_end, bidi_resolve_explicit_1) |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
145 (bidi_resolve_weak, bidi_level_of_next_char): Handle bytepos at |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
146 ZV_BYTE. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
147 (bidi_resolve_explicit_1): Handle position < BEGV. |
ebdfe4d01cff
Retrospective commit from 2009-09-20.
Eli Zaretskii <eliz@gnu.org>
parents:
107589
diff
changeset
|
148 |
107589
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
149 2009-09-19 Eli Zaretskii <eliz@gnu.org> |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
150 |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
151 * xdisp.c (init_iterator): Call bidi_init_it. Set |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
152 bidi_it->bytepos if buffer position specified. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
153 (reseat_1): Don't call bidi_init_it. Call bidi_paragraph_init |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
154 instead. Move back to preceding character before the call to |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
155 bidi_get_next_char_visually. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
156 |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
157 * bidi.c: Remove all STANDALONE parts. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
158 (bidi_init_it): Init bidi_it->charpos and bidi_it->bytepos to -1. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
159 Don't call bidi_paragraph_init. Change arguments. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
160 (bidi_paragraph_init): Remove code for negative pos. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
161 |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
162 * dispextern.h <bidi_it>: Rename orig_type to type_after_w1 and |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
163 pristine_type to orig_type. |
84267baa779b
Retrospective commit from 2009-09-19.
Eli Zaretskii <eliz@gnu.org>
parents:
107588
diff
changeset
|
164 |
107587
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
165 2009-09-12 Eli Zaretskii <eliz@gnu.org> |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
166 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
167 * dispnew.c (direct_output_for_insert): Give up if we are |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
168 reordering bidirectional text. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
169 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
170 * dispextern.h (IT_STACK_SIZE): Enlarge to 5. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
171 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
172 * xdisp.c (display_line): Set row->end and it->start for the next |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
173 row to the next character in logical order. If we are reordering |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
174 bidi text, push and pop the iterator before and after momentarily |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
175 iterating in logical order. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
176 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
177 2009-09-11 Eli Zaretskii <eliz@gnu.org> |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
178 |
107588
1104f4d707b1
Retrospective commit from 2009-09-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107587
diff
changeset
|
179 Note: The following changes were undone on 2009-09-12. |
1104f4d707b1
Retrospective commit from 2009-09-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107587
diff
changeset
|
180 |
107587
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
181 * xdisp.c (set_iterator_to_next, reseat, reseat_1) |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
182 (reseat_at_next_visible_line_start): Accept additional argument |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
183 force_logical_p; all callers changed. If force_logical_p is |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
184 non-zero, force iteration in buffer's logical order even in bidi |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
185 buffers. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
186 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
187 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
188 with additional argument zero. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
189 |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
190 * dispextern.h (set_iterator_to_next): Now accepts an additional |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
191 argument. |
0ff1b8888f6b
Retrospective commit from 2009-08-12.
Eli Zaretskii <eliz@gnu.org>
parents:
107586
diff
changeset
|
192 |
107586
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
193 2009-08-29 Eli Zaretskii <eliz@gnu.org> |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
194 |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
195 * xdisp.c (set_cursor_from_row): Don't assume glyph->charpos |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
196 increments linearly. |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
197 (try_window_reusing_current_matrix): Don't assume glyph->charpos |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
198 increments linearly. |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
199 |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
200 2009-08-28 Eli Zaretskii <eliz@gnu.org> |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
201 |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
202 * bidi.c <bidi_overriding_paragraph_direction>: Default to L2R, |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
203 for now. |
cbca7f94b057
Retrospective commit from 2009-08-29.
Eli Zaretskii <eliz@gnu.org>
parents:
107585
diff
changeset
|
204 |
107585
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
205 2009-08-22 Eli Zaretskii <eliz@gnu.org> |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
206 |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
207 * bidi.c (bidi_initialize): staticpro bidi_char_table. |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
208 (bidi_check_type): New function. |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
209 (bidi_cache_iterator_state, bidi_remember_char) |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
210 (bidi_resolve_explicit_1, bidi_resolve_explicit) |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
211 (bidi_resolve_weak, bidi_resolve_neutral) |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
212 (bidi_level_of_next_char): Use it to validate the bidi type |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
213 assigned to the iterator. |
35abfc7649e1
Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents:
107584
diff
changeset
|
214 |
107584
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
215 2009-08-15 Eli Zaretskii <eliz@gnu.org> |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
216 |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
217 * bidi.c (bidi_initialize): Fix initialization of bidi_type_table. |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
218 |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
219 * xdisp.c (set_iterator_to_next): Fix position setting after call |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
220 to bidi_get_next_char_visually. |
e0df0337f248
Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents:
107583
diff
changeset
|
221 |
107583 | 222 2005-12-03 Eli Zaretskii <eliz@gnu.org> |
223 | |
224 * bidi.c: Include stdio.h unconditionally. Fix and elaborate | |
225 commentary. Add Copyright blurb. | |
226 | |
227 2004-03-08 Kenichi Handa <handa@m17n.org> | |
228 | |
229 * xdisp.c (reseat_1): Call bidi_init_it with a previous position. | |
230 | |
231 * bidi.c (bidi_init_it): Set bidi_it->ch_len even if POS > 0. | |
232 | |
233 2004-03-04 Kenichi Handa <handa@m17n.org> | |
234 | |
107593
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
107592
diff
changeset
|
235 The following changes are to support bidirectional text display. |
107583 | 236 |
237 * Makefile.in (obj): Include bidi.o. | |
238 (bidi.o): New target. | |
239 | |
240 * bidi.c: New file. | |
241 | |
242 * buffer.h (struct buffer): New member bidi_display_reordering. | |
243 | |
244 * buffer.c (init_buffer_once): Initialize bidi_display_reordering. | |
245 (syms_of_buffer): Declarations of Lisp variables | |
246 default-bidi-display-reordering and bidi-display-reordering. | |
247 | |
248 * dispextern.h (BIDI_MAXLEVEL): New macro. | |
249 (bidi_type_t, bidi_dir_t): New types. | |
250 (bidi_saved_info, bidi_stack, bidi_it): New structs. | |
251 (struct it): New members bidi_p and bidi_it. | |
252 (bidi_init_it): Extern it. | |
253 (bidi_get_next_char_visually): Extern it. | |
254 | |
255 * dispnew.c (direct_output_forward_char): Give up if we need bidi | |
256 processing or buffer's direction is right-to-left. | |
257 | |
258 * xdisp.c (init_iterator): Initialize it->bidi_p. | |
259 (reseat_1): Cal bidi_init_it and bidi_get_next_char_visually if | |
260 necessary. | |
261 (set_iterator_to_next): Cal bidi_get_next_char_visually if | |
262 necessary. | |
263 | |
264 | |
265 ;; Local Variables: | |
266 ;; coding: utf-8 | |
267 ;; add-log-time-zone-rule: t | |
268 ;; End: | |
269 | |
270 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. | |
271 | |
272 This file is part of GNU Emacs. | |
273 | |
274 GNU Emacs is free software: you can redistribute it and/or modify | |
275 it under the terms of the GNU General Public License as published by | |
276 the Free Software Foundation, either version 3 of the License, or | |
277 (at your option) any later version. | |
278 | |
279 GNU Emacs is distributed in the hope that it will be useful, | |
280 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
281 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
282 GNU General Public License for more details. | |
283 | |
284 You should have received a copy of the GNU General Public License | |
285 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |