aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa1999-12-15 00:53:45 +0000
committerKenichi Handa1999-12-15 00:53:45 +0000
commit5ec14d3c002d4634b885c13ae63a371a5670a5d7 (patch)
treef7c97d1de758c8a97e676cbe8838a490f6d5a3eb /src
parent34a500b327474ca1a70839cf767cd1071719bf8f (diff)
downloademacs-5ec14d3c002d4634b885c13ae63a371a5670a5d7.tar.gz
emacs-5ec14d3c002d4634b885c13ae63a371a5670a5d7.zip
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog347
1 files changed, 347 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8f9b92710ea..0254aa37e05 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,350 @@
11999-12-15 Kenichi Handa <handa@etl.go.jp>
2
3 The following changes are for the new composition mechanism. We
4 have deleted `composition' charset and composite characters,
5 instead introduced a special text property `composition'.
6
7 * Makefile.in (INTERVAL_SRC): Include composite.h.
8 (INTERVAL_OBJ): Include composite.o.
9 (SOME_MACHINE_OBJECTS): Include composite.o.
10 (casefiddle.o) (dispnew.o) (indent.o) (process.o) (search.o)
11 (syntax.o) (window.o) (xdisp.o) (xfaces.o) (xterm.o) (print.o):
12 Depend on composite.h.
13 (doc.o): Depend on charset.h.
14 (keyboard.o) (textprop.o) (intervals.o): Depend on INTERVAL_SRC.
15 (composite.o): New target.
16
17 * alloc.c (Fmake_string): Adjusted for the change of CHAR_STRING.
18
19 * callproc.c (Fcall_process): Call code_convert_string to encode
20 arguments. Use CODING_REQUIRE_DECODING to check if the process
21 output should be decoded.
22
23 * casefiddle.c: Include composite.h.
24 (casify_object): Use MAX_MULTIBYTE_LENGTH to allocate memory for a
25 multibyte character. Adjusted for the change of CHAR_STRING.
26 (casify_region): Likewise. Call update_compositions.
27
28 * category.h (CATEGORY_SET): Delete codes for a composite
29 character.
30
31 * category.c (word_boundary_p): Delete codes for a composite
32 character.
33 (Fmake_category_table): New function.
34 (syms_of_category): Defsubr it.
35
36 * ccl.c (CCL_WRITE_CHAR): Adjusted for the change of CHAR_STRING.
37 (ccl_driver): Delete codes for a composite character.
38
39 * charset.h: In this entry, just `Modified' means that codes for a
40 composite character is deleted.
41 (LEADING_CODE_COMPOSITION) (CHARSET_COMPOSITION)
42 (charset_composition) (MIN_CHAR_COMPOSITION)
43 (MAX_CHAR_COMPOSITION) (GENERIC_COMPOSITION_CHAR)
44 (COMPOSITE_CHAR_P) (MAKE_COMPOSITE_CHAR) (COMPOSITE_CHAR_ID)
45 (PARSE_COMPOSITE_SEQ) (PARSE_CHARACTER_SEQ): Deleted.
46 (MAX_CHAR) (CHARSET_VALID_P) (CHARSET_DEFINED_P) (CHARSET_AT)
47 (FIRST_CHARSET_AT) (SAME_CHARSET_P) (MAKE_NON_ASCII_CHAR)
48 (PARSE_MULTIBYTE_SEQ) (SPLIT_NON_ASCII_CHAR) (CHAR_PRINTABLE_P):
49 Modified.
50 (SPLIT_STRING): Call split_string, not split_non_ascii_string.
51 (CHAR_STRING): Delete WORKBUF argument. Call char_string, not
52 non_ascii_char_to_string.
53 (STRING_CHAR): Call string_to_char, not string_to_non_ascii_char.
54 (STRING_CHAR_AND_LENGTH): Likewise.
55 (FETCH_CHAR_ADVANCE): New macro.
56 (MAX_COMPONENT_COUNT) (struct cmpchar_info): Deleted.
57 (MAX_MULTIBYTE_LENGTH): New macro.
58 (MAX_LENGTH_OF_MULTI_BYTE_FORM): Deleted.
59 (find_charset_in_str): Argument adjusted.
60 (CHAR_LEN): Modified.
61
62 * charset.c: In this entry, just `Modified' means that codes for a
63 composite character is deleted.
64 (Qcomposition) (leading_code_composition)
65 (charset_composition) (min_composite_char) (cmpchar_table)
66 (cmpchar_table_size) (n_cmpchars): Deleted.
67 (SPLIT_COMPOSITE_SEQ): Deleted.
68 (SPLIT_MULTIBYTE_SEQ): Modified.
69 (char_to_string): Renamed from non_ascii_char_to_string.
70 Modified.
71 (string_to_char): Renamed from string_to_non_ascii_char.
72 (split_string): Renamed from split_non_ascii_string.
73 (char_printable_p) (Fsplit_char)
74 (Ffind_charset_region) (Ffind_charset_string) (char_valid_p)
75 (char_bytes) (Fchar_width) (strwidth): Modified.
76 (find_charset_in_str): Argument CMPCHARP deleted. Modified.
77 (Fstring): Adjusted for the change of CHAR_STRING. Modified.
78 (hash_string) (CMPCHAR_HASH_TABLE_SIZE) (cmpchar_hash_table)
79 (CMPCHAR_HASH_SIZE) (CMPCHAR_HASH_USED) (CMPCHAR_HASH_CMPCHAR_ID)
80 (str_cmpchar_id) (cmpchar_component) (Fcmpcharp)
81 (Fcmpchar_component) (Fcmpchar_cmp_rule) (Fcmpchar_cmp_rule_p)
82 (Fcmpchar_cmp_count): Deleted.
83 (Fcompose_string): Implemented by Emacs Lisp in composite.el.
84 (init_charset_once): Modified.
85 (syms_of_charset): Modified.
86
87 * cmds.c (internal_self_insert): Adjusted for the change of
88 CHAR_STRING.
89
90 * coding.h (emacs_code_class_type): Delete the member
91 EMACS_leading_code_composition.
92 (COMPOSING_NO) (COMPOSING_WITH_RULE_HEAD) (COMPOSING_NO_RULE_HEAD)
93 (COMPOSING_WITH_RULE_TAIL) (COMPOSING_NO_RULE_TAIL)
94 (COMPOSING_WITH_RULE_RULE) (COMPOSING_HEAD_P)
95 (COMPOSING_WITH_RULE_P): Macros deleted.
96 (COMPOSITION_DATA_SIZE) (COMPOSITION_DATA_MAX_BUNCH_LENGTH): New
97 macros.
98 (struct composition_data): New structure.
99 (CODING_FINISH_INSUFFICIENT_CMP): New macro.
100 (struct coding_system): New members composition_rule_follows,
101 cmp_data, cmp_data_start, cmp_data_index.
102 (coding_save_composition) (coding_free_composition_data)
103 (coding_adjust_composition_offset): Extern them.
104
105 * coding.c: Include composite.h.
106 (DECODE_CHARACTER_ASCII): Don't handle composition here.
107 (DECODE_CHARACTER_DIMENSION1): Likewise. Don't check the validity
108 of multibyte code here.
109 (DECODE_CHARACTER_DIMENSION2): Likewise.
110 (detect_coding_emacs_mule): Change the case label from
111 EMACS_leading_code_composition to 0x80.
112 (detect_coding_iso2022): Handle new composition sequence.
113 (DECODE_ISO_CHARACTER): Likewise.
114 (check_composing_code): Deleted.
115 (coding_allocate_composition_data): New function.
116 (CODING_ADD_COMPOSITION_START) (CODING_ADD_COMPOSITION_END)
117 (CODING_ADD_COMPOSITION_COMPONENT) (DECODE_COMPOSITION_START)
118 (DECODE_COMPOSITION_END) (DECODE_COMPOSITION_RULE): New macros.
119 (decode_coding_iso2022): Handle new composition sequence.
120 (ENCODE_ISO_CHARACTER): Don't check composition here.
121 (ENCODE_COMPOSITION_RULE) (ENCODE_COMPOSITION_START): New macros.
122 (ENCODE_COMPOSITION_NO_RULE_START)
123 (ENCODE_COMPOSITION_WITH_RULE_START): Deleted.
124 (ENCODE_COMPOSITION_END): Handle new composition sequence.
125 (ENCODE_COMPOSITION_FAKE_START): New macro.
126 (encode_coding_iso2022): Handle new composition sequence.
127 (ENCODE_SJIS_BIG5_CHARACTER): Delete superfluous `;' at the tail.
128 (encode_coding_sjis_big5): Ignore composition.
129 (setup_coding_system): Initialize new members of struct
130 coding_system. Enable composition only when the coding system has
131 `composition' property t.
132 (coding_free_composition_data) (coding_adjust_composition_offset)
133 (coding_save_composition) (coding_restore_composition): New
134 functions.
135 (code_convert_region): Call coding_save_composition for encoding
136 and coding_allocate_composition_data for decoding. Don't skip
137 ASCII characters if we handle composition on encoding. Call
138 signal_after_change with Check_BORDER.
139 (code_convert_string): Call coding_save_composition for encoding
140 and coding_allocate_composition_data for decoding. Don't skip
141 ASCII characters if we handle composition on encoding.
142 (code_convert_string1): Set Vlast_coding_system_used after calling
143 code_convert_string.
144 (code_convert_string_norecord): Disable composition.
145 (Fset_terminal_coding_system_internal): Likewise.
146 (Fset_safe_terminal_coding_system_internal): Likewise.
147 (Fset_keyboard_coding_system_internal): Likewise.
148 (init_coding_once): Set emacs_code_class[0x80] to
149 EMACS_invalid_code.
150
151 * composite.h: New file.
152
153 * composite.c: New file.
154
155 * data.c (Faref): Delete codes for a composite character..
156 (Faset): Likewise. Adjusted for the change of CHAR_STRING.
157
158 * dispextern.h (enum glyph_type): New member COMPOSITE_GLYPH.
159 (struct glyph): Add new sub-structure cmp to the union `u'.
160 (enum display_element_type): New member IT_COMPOSITION.
161 (enum prop_idx): New member COMPOSITION_PROP_IDX.
162 (struct it): New members cmp_id, cmp_len.
163
164 * dispnew.c (direct_output_forward_char): Check point moving into
165 or out of a composition. If so, give up direct method.
166
167 * doprnt.c (doprnt1): Adjusted for the change of CHAR_STRING.
168
169 * editfns.c (Fchar_to_string): Adjusted for the change of
170 CHAR_STRING.
171 (general_insert_function): Likewise.
172 (Finsert_char): Likewise.
173 (Fsubst_char_in_region): Likewise. Call update_compositions.
174 (Ftranslate_region): Call update_compositions.
175 (Ftranspose_regions): Call update_compositions.
176
177 * emacs.c (main): Call syms_of_composite.
178
179 * fileio.c (Fsubstitute_in_file_name): Adjusted for the change of
180 CHAR_STRING.
181 (Finsert_file_contents): Set Vlast_coding_system_used before
182 calling signal_after_change. Call update_compositions if some
183 texts are inserted..
184 (Fwrite_region): Adjusted for the change of a_write and e_write.
185 (a_write): Argument changed. Work based on character position,
186 not byte position.
187 (e_write): Argument changed. Handle new way of composition.
188
189 * fns.c (Flength): The length of char-table is MAX_CHAR.
190 (concat): Adjusted for the change of CHAR_STRING.
191 (Ffillarray): Adjusted for the change of CHAR_STRING.
192 (Fset_char_table_default): Delete codes for a composite character.
193 (hash_put): Return hash index.
194
195 * fontset.h (struct font_info): New member vertical_centering.
196 (Vvertical_centering_font_regexp): Extern it.
197
198 * fontset.c (Vvertical_centering_font_regexp): New variable.
199 (syms_of_fontset): Declare it as a Lisp variable and initialize.
200 Set Vignore_relative_composition to nil.
201 (fs_load_font): Initialize `vertical_centering' of struct
202 font_info.
203
204 * indent.c (check_composition): New function.
205 (MULTIBYTE_BYTES_WIDTH): Call STRING_CHAR_AND_LENGTH with
206 MAX_MULTIBYTE_LENGTH, not MAX_LENGTH_OF_MULTI_BYTE_FORM.
207 (current_column_1): Handle new way of composition.
208 (Fmove_to_column): Likewise.
209 (compute_motion): Likewise.
210
211 * insdel.c (copy_text): Adjusted for the change of CHAR_STRING.
212 (insert_char): Likewise.
213 (insert): Call update_compositions.
214 (insert_and_inherit): Likewise.
215 (insert_before_markers): Likewise.
216 (insert_before_markers_and_inherit): Likewise.
217 (insert_from_string): Likewise.
218 (insert_from_string_before_markers): Likewise.
219 (insert_from_buffer): Likewise.
220 (replace_range): Likewise.
221 (count_combining_composition): Deleted.
222 (count_combining_before): Delete codes for a composite character.
223 (count_combining_after): Likewise.
224 (del_range_1): Call update_compositions.
225 (del_range_byte): Likewise.
226 (del_range_both): Likewise.
227 (Fcombine_after_change_execute): Likewise.
228
229 * intervals.h: Include composite.h.
230 (get_property_and_range): Extern it.
231 (Vtext_property_default_nonsticky): Extern it.
232
233 * intervals.c (adjust_intervals_for_insertion): To check stickines
234 of properties, pay attention to text-property-default-nonsticky.
235 (merge_properties_sticky): Likewise.
236 (get_property_and_range): New function.
237
238 * keyboard.c (Vdisable_point_adjustment): New variable.
239 (Vglobal_disable_point_adjustment): New variable.
240 (syms_of_keyboard): Declare them as Lisp variables.
241 (command_loop_1): Check them and call adjust_point_for_property if
242 necessary.
243 (adjust_point_for_property): New function.
244
245 * keymap.c (push_key_description): Adjusted for the change of
246 CHAR_STRING.
247 (Ftext_char_description): Likewise.
248
249 * lisp.h (QCtest, QCweakness, Qequal): Extern them.
250 (hash_put): Adjusted for the change of the definition.
251 (signal_after_change): Likewise.
252 (check_point_in_composition): Extern it.
253
254 * lread.c (readchar): Adjusted for the change of CHAR_STRING.
255 Delete a code that handles an invalid too-long multibyte sequence
256 because we are now sure that we never encounter with such a
257 sequence.
258 (read_multibyte): Use macro MAX_MULTIBYTE_LENGTH, not
259 MAX_LENGTH_OF_MULTI_BYTE_FORM.
260 (init_obarray): Likewise.
261 (read1): Likewise. Adjusted for the change of CHAR_STRING.
262
263 * print.c (printchar): Adjusted for the change of CHAR_STRING.
264
265 * process.c: Include composite.h.
266 (read_process_output): Call update_compositions.
267
268 * regex.c (regex_compile): Adjusted for the change of CHAR_STRING.
269
270 * search.c (search_buffer): Adjusted for the change of CHAR_STRING.
271
272 * syntax.h (SYNTAX_ENTRY_INT): Delete codes for a composite
273 character.
274
275 * term.c (encode_terminal_code): Delete codes for a composite
276 character. Adjusted for the change of CHAR_STRING.
277 (produce_glyphs): When called, it->what can be IT_COMPOSITION.
278 Delete codes for a composite character.
279
280 * textprop.c (Vtext_property_default_nonsticky): New variable
281 (syms_of_textprop): Declare it as a Lisp variable.
282
283 * window.c (Frecenter): Clear all caches of compositions.
284
285 * xdisp.c (it_props): Add an entry for composition.
286 (face_before_or_after_it_pos): For composition, check face of a
287 character after the composition.
288 (handle_composition_prop): New function.
289 (get_next_display_element): Adjusted for the change of
290 CHAR_STRING.
291 (set_iterator_to_next): Handle the case that it->method ==
292 next_element_from_composition.
293 (next_element_from_composition): New function.
294 (message_dolog): Adjusted for the change of CHAR_STRING.
295 (set_message_1): Likewise.
296 (check_point_in_composition): New function.
297 (reconsider_clip_changes): If point moved into or out of
298 composition, set b->clip_changed to 1 to force updating of the
299 screen.
300 (disp_char_vector): Delete codes for a composite character.
301 (decode_mode_spec_coding): Adjusted for the change of CHAR_STRING.
302
303 * xfaces.c (choose_face_fontset_font): Delete codes for a
304 composite character.
305 (realize_x_face): Likewise. Change a place to set local variable
306 `f' to avoid a bug of GCC 2.8.1 on Solaris.
307
308 * xfns.c: Include intervals.h.
309 (syms_of_xfns): Make `display' property nonsticky by default.
310
311 * xselect.c (lisp_data_to_selection_data): Adjusted for the change
312 for find_charset_in_str.
313
314 * xterm.h (struct x_output): Change member font_baseline to
315 baseline_offset.
316
317 * xterm.c (x_append_glyph): Setup members of struct glyph properly
318 for composition.
319 (x_append_composite_glyph): New function.
320 (VCENTER_BASELINE_OFFSET): New macro.
321 (x_produce_glyphs): If it->what == IT_COMPOSITION, setup members
322 of struct it for the composition. Cache pixel offsets in the
323 struct composition. Delete codes for a composite character.
324 Handle Vignore_relative_composition in composition code.
325 (struct glyph_string): Delete member cmpcharp, add new member cmp.
326 (x_set_cursor_gc): Check s->cmp, not s->cmpcharp.
327 (x_compute_glyph_string_overhangs): Likewise.
328 (x_get_glyph_overhangs): Delete codes for a composite character.
329 (x_right_overwritten): Check s->cmp, not s->cmpcharp.
330 (x_draw_glyph_string_background): Likewise. Delete codes for
331 checking s->gidx for a composition.
332 (x_draw_glyph_string_foreground): Delete code for a composite
333 character.
334 (x_draw_composite_glyph_string_foreground): New function.
335 (x_draw_glyph_string_box): Check s->cmp, not s->cmpcharp.
336 (x_draw_glyph_string): Handle the case of COMPOSITE_GLYPH.
337 (struct work): Deleted.
338 (x_fill_composite_glyph_string): Argument changed. Mostly
339 rewritten for that.
340 (x_fill_glyph_string): Don't check CHARSET_COMPOSITION.
341 (BUILD_CHAR_GLYPH_STRINGS): Don't handle composition here.
342 (BUILD_COMPOSITE_GLYPH_STRING): New macro.
343 (BUILD_GLYPH_STRINGS): For composition, call
344 BUILD_COMPOSITE_GLYPH_STRING.
345 (x_new_font): Initialize f->output_data.x->baseline_offset, not
346 f->output_data.x->font_baseline.
347
11999-12-14 Gerd Moellmann <gerd@gnu.org> 3481999-12-14 Gerd Moellmann <gerd@gnu.org>
2 349
3 * xterm.c (show_mouse_face): Don't use updated_area, use 350 * xterm.c (show_mouse_face): Don't use updated_area, use