diff options
| author | Kenichi Handa | 1999-12-15 00:53:45 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1999-12-15 00:53:45 +0000 |
| commit | 5ec14d3c002d4634b885c13ae63a371a5670a5d7 (patch) | |
| tree | f7c97d1de758c8a97e676cbe8838a490f6d5a3eb /src | |
| parent | 34a500b327474ca1a70839cf767cd1071719bf8f (diff) | |
| download | emacs-5ec14d3c002d4634b885c13ae63a371a5670a5d7.tar.gz emacs-5ec14d3c002d4634b885c13ae63a371a5670a5d7.zip | |
*** empty log message ***
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 347 |
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 @@ | |||
| 1 | 1999-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 | |||
| 1 | 1999-12-14 Gerd Moellmann <gerd@gnu.org> | 348 | 1999-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 |