annotate src/ChangeLog.bidi @ 107585:35abfc7649e1

Retrospective commit from 2009-08-22. Staticpro bidi_char_table, add type checking where bidi type is assigned. 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.
author Eli Zaretskii <eliz@gnu.org>
date Thu, 31 Dec 2009 15:49:08 -0500
parents e0df0337f248
children cbca7f94b057
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
107585
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
1 2009-08-22 Eli Zaretskii <eliz@gnu.org>
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
2
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
3 * bidi.c (bidi_initialize): staticpro bidi_char_table.
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
4 (bidi_check_type): New function.
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
5 (bidi_cache_iterator_state, bidi_remember_char)
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
6 (bidi_resolve_explicit_1, bidi_resolve_explicit)
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
7 (bidi_resolve_weak, bidi_resolve_neutral)
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
8 (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
9 assigned to the iterator.
35abfc7649e1 Retrospective commit from 2009-08-22.
Eli Zaretskii <eliz@gnu.org>
parents: 107584
diff changeset
10
107584
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
11 2009-08-15 Eli Zaretskii <eliz@gnu.org>
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
12
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
13 * 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
14
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
15 * 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
16 to bidi_get_next_char_visually.
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
17
107583
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
18 2005-12-03 Eli Zaretskii <eliz@gnu.org>
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
19
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
20 * bidi.c: Include stdio.h unconditionally. Fix and elaborate
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
21 commentary. Add Copyright blurb.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
22
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
23 2004-03-08 Kenichi Handa <handa@m17n.org>
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
24
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25 * xdisp.c (reseat_1): Call bidi_init_it with a previous position.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
26
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
27 * bidi.c (bidi_init_it): Set bidi_it->ch_len even if POS > 0.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
28
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
29 2004-03-04 Kenichi Handa <handa@m17n.org>
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
30
107584
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
31 The following changes are to support for bi-directional text
e0df0337f248 Retrospective commit from 2009-08-15.
Eli Zaretskii <eliz@gnu.org>
parents: 107583
diff changeset
32 display.
107583
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
33
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
34 * Makefile.in (obj): Include bidi.o.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
35 (bidi.o): New target.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
36
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
37 * bidi.c: New file.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
38
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
39 * buffer.h (struct buffer): New member bidi_display_reordering.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
40
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
41 * buffer.c (init_buffer_once): Initialize bidi_display_reordering.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
42 (syms_of_buffer): Declarations of Lisp variables
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
43 default-bidi-display-reordering and bidi-display-reordering.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
44
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
45 * dispextern.h (BIDI_MAXLEVEL): New macro.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
46 (bidi_type_t, bidi_dir_t): New types.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
47 (bidi_saved_info, bidi_stack, bidi_it): New structs.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
48 (struct it): New members bidi_p and bidi_it.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
49 (bidi_init_it): Extern it.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
50 (bidi_get_next_char_visually): Extern it.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
51
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
52 * dispnew.c (direct_output_forward_char): Give up if we need bidi
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
53 processing or buffer's direction is right-to-left.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
54
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
55 * xdisp.c (init_iterator): Initialize it->bidi_p.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
56 (reseat_1): Cal bidi_init_it and bidi_get_next_char_visually if
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
57 necessary.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
58 (set_iterator_to_next): Cal bidi_get_next_char_visually if
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
59 necessary.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
60
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
61
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
62 ;; Local Variables:
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
63 ;; coding: utf-8
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
64 ;; add-log-time-zone-rule: t
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
65 ;; End:
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
66
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
67 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
68
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
69 This file is part of GNU Emacs.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
70
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
71 GNU Emacs is free software: you can redistribute it and/or modify
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
72 it under the terms of the GNU General Public License as published by
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
73 the Free Software Foundation, either version 3 of the License, or
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
74 (at your option) any later version.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
75
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
76 GNU Emacs is distributed in the hope that it will be useful,
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
77 but WITHOUT ANY WARRANTY; without even the implied warranty of
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
78 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
79 GNU General Public License for more details.
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
80
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
81 You should have received a copy of the GNU General Public License
f35e7896a0fe Retrospective commit.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
82 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.