aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog380
1 files changed, 161 insertions, 219 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 437cc1c7924..d3298550ed1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -83,8 +83,7 @@
83 (Finternal_char_font): Return nil if the found font doesn't 83 (Finternal_char_font): Return nil if the found font doesn't
84 contain the character ch. 84 contain the character ch.
85 85
86 * Makefile.in (lisp): Add cham.el. 86 * Makefile.in (lisp, shortlisp): Add cham.el.
87 (shortlisp): Likewise.
88 87
892008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
90 89
@@ -124,9 +123,8 @@
124 123
1252008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 1242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
126 125
127 * coding.c (decode_coding_object): Adjust marker positions after 126 * coding.c (decode_coding_object, encode_coding_object): Adjust
128 conversion. 127 marker positions after conversion.
129 (encode_coding_object): Likewise.
130 128
131 * lisp.h (struct Lisp_Marker): New member need_adjustment. 129 * lisp.h (struct Lisp_Marker): New member need_adjustment.
132 130
@@ -198,8 +196,8 @@
198 196
199 * fontset.c (Vfont_encoding_charset_alist): New variable. 197 * fontset.c (Vfont_encoding_charset_alist): New variable.
200 (syms_of_fontset): DEFVAR it. 198 (syms_of_fontset): DEFVAR it.
201 (reorder_font_vector): Optimize for the case of no need of reordring. 199 (reorder_font_vector, fontset_find_font): Optimize for the case of
202 (fontset_find_font): Likewise. 200 no need of reordering.
203 (face_for_char): Map the charset property by 201 (face_for_char): Map the charset property by
204 Vfont_encoding_charset_alist. 202 Vfont_encoding_charset_alist.
205 203
@@ -245,8 +243,7 @@
245 * font.c (Ffont_get): Fix arguments to Fassoc. 243 * font.c (Ffont_get): Fix arguments to Fassoc.
246 (font_prepare_cache, font_finish_cache, font_get_cache): New functions. 244 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
247 (font_clear_cache): New function. 245 (font_clear_cache): New function.
248 (font_list_entities): Use font_get_cache. 246 (font_list_entities, font_matching_entity): Use font_get_cache.
249 (font_matching_entity): Likewise.
250 (font_update_drivers): Call font_clear_cache when finishing a driver. 247 (font_update_drivers): Call font_clear_cache when finishing a driver.
251 248
252 * fontset.c (fontset_find_font): Fix previous change. 249 * fontset.c (fontset_find_font): Fix previous change.
@@ -270,9 +267,8 @@
270 267
271 * fontset.c (fontset_add): New args charset_id and family. 268 * fontset.c (fontset_add): New args charset_id and family.
272 Change caller. 269 Change caller.
273 (load_font_get_repertory): Assume that font_spec is always a 270 (load_font_get_repertory, fontset_find_font): Assume that
274 font-spec object. 271 font_spec is always a font-spec object.
275 (fontset_find_font): Likewise.
276 (Fset_fontset_font): Always store a font-spec object in a fontset. 272 (Fset_fontset_font): Always store a font-spec object in a fontset.
277 273
278 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property 274 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
@@ -283,8 +279,7 @@
283 * xftfont.c (struct xftfont_info): Delete the member ft_face. 279 * xftfont.c (struct xftfont_info): Delete the member ft_face.
284 (xftfont_open): Don't keep locking face. 280 (xftfont_open): Don't keep locking face.
285 (xftfont_close): Don't unlock face. 281 (xftfont_close): Don't unlock face.
286 (xftfont_anchor_point): Lock and unlock face. 282 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
287 (xftfont_shape): Likewise.
288 283
289 * fontset.c (fontset_find_font): Don't prefer a font of 284 * fontset.c (fontset_find_font): Don't prefer a font of
290 supplementary charset. 285 supplementary charset.
@@ -414,13 +409,12 @@
414 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring. 409 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
415 (struct font_driver): New member shape. 410 (struct font_driver): New member shape.
416 (font_registry_charsets): Extern it. 411 (font_registry_charsets): Extern it.
417 (font_find_for_lface): Adjust prototype. 412 (font_find_for_lface, font_prepare_composition): Adjust prototype.
418 (font_prepare_composition): Likewise.
419 (font_otf_capability, font_drive_otf): Delete their externs. 413 (font_otf_capability, font_drive_otf): Delete their externs.
420 414
421 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>. 415 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
422 (font_charset_alist): Move from xfont.c and rename. 416 (font_charset_alist, font_registry_charsets): Move from xfont.c
423 (font_registry_charsets): Likewise. 417 and rename.
424 (font_prop_validate_otf): New function. 418 (font_prop_validate_otf): New function.
425 (font_property_table): Register it for QCotf. 419 (font_property_table): Register it for QCotf.
426 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER) 420 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
@@ -429,8 +423,8 @@
429 lispy gstring. 423 lispy gstring.
430 (font_find_for_lface): New arg C. 424 (font_find_for_lface): New arg C.
431 (font_load_for_face): Adjust for the change of font_find_for_lface. 425 (font_load_for_face): Adjust for the change of font_find_for_lface.
432 (Ffont_make_gstring): Adjust for the change of lispy gstring. 426 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
433 (Ffont_fill_gstring): Likewise. 427 lispy gstring.
434 (Ffont_shape_text): New function. 428 (Ffont_shape_text): New function.
435 (Fopen_font): If the font size is not given, use 12-pixel. 429 (Fopen_font): If the font size is not given, use 12-pixel.
436 (Ffont_at): New arg STRING. 430 (Ffont_at): New arg STRING.
@@ -440,9 +434,8 @@
440 434
441 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple 435 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
442 fonts of the same font-spec. Change the format of RFONT-DEF. 436 fonts of the same font-spec. Change the format of RFONT-DEF.
443 (face_for_char): Adjust for the change of RFONT-DEF. 437 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
444 (make_fontset_for_ascii_face): Likewise. 438 Adjust for the change of RFONT-DEF.
445 (Finternal_char_font): Likewise.
446 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec. 439 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
447 440
448 * ftfont.h: New file. 441 * ftfont.h: New file.
@@ -539,8 +532,7 @@
539 (Fdelete_frame): Call font_update_drivers. 532 (Fdelete_frame): Call font_update_drivers.
540 533
541 * xftfont.c (struct xftface_info): Delete the member xft_draw. 534 * xftfont.c (struct xftface_info): Delete the member xft_draw.
542 (xftfont_prepare_face): Adjust for the above change. 535 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
543 (xftfont_done_face): Likewise.
544 (xftfont_get_xft_draw): New function. 536 (xftfont_get_xft_draw): New function.
545 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw. 537 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
546 (xftfont_end_for_frame): New function. 538 (xftfont_end_for_frame): New function.
@@ -595,9 +587,9 @@
595 587
5962008-02-01 Kenichi Handa <handa@m17n.org> 5882008-02-01 Kenichi Handa <handa@m17n.org>
597 589
598 * font.c (font_prop_validate_symbol): Delete argument prop_index. 590 * font.c (font_prop_validate_symbol, font_prop_validate_style)
599 (font_prop_validate_style, font_prop_validate_non_neg) 591 (font_prop_validate_non_neg, font_prop_validate_spacing):
600 (font_prop_validate_spacing): Likewise. 592 Delete argument prop_index.
601 (font_property_table): Change arguments to validater. Change Callers. 593 (font_property_table): Change arguments to validater. Change Callers.
602 (font_lispy_object): Delete. 594 (font_lispy_object): Delete.
603 (font_at): Use font_find_object instead fo font_lispy_object. 595 (font_at): Use font_find_object instead fo font_lispy_object.
@@ -686,10 +678,9 @@
686 * keymap.c (where_is_internal_1): If key is a cons, store the copy 678 * keymap.c (where_is_internal_1): If key is a cons, store the copy
687 in sequence. 679 in sequence.
688 680
689 * chartab.c (map_sub_char_table): If the range contains just one 681 * chartab.c (map_sub_char_table, map_char_table): If the range
690 character, call the function with that character even if the depth 682 contains just one character, call the function with that character
691 is not 3. 683 even if the depth is not 3.
692 (map_char_table): Likewise.
693 684
6942008-02-01 Jason Rumney <jasonr@gnu.org> 6852008-02-01 Jason Rumney <jasonr@gnu.org>
695 686
@@ -704,9 +695,8 @@
704 695
705 * w32term.c (x_set_glyph_string_clipping): Use 696 * w32term.c (x_set_glyph_string_clipping): Use
706 get_glyph_string_clip_rects. 697 get_glyph_string_clip_rects.
707 (x_set_glyph_string_clipping_exactly): Adjust for the change of 698 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
708 struct glyph_string. 699 Adjust for the change of struct glyph_string.
709 (x_draw_glyph_string): Likewise.
710 700
711 * w32font.c (w32font_draw): Do clipping here. 701 * w32font.c (w32font_draw): Do clipping here.
712 702
@@ -717,9 +707,8 @@
717 707
718 * xterm.c (x_set_glyph_string_clipping): Use 708 * xterm.c (x_set_glyph_string_clipping): Use
719 get_glyph_string_clip_rects. 709 get_glyph_string_clip_rects.
720 (x_set_glyph_string_clipping_exactly): Adjust for the change of 710 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
721 struct glyph_string. 711 Adjust for the change of struct glyph_string.
722 (x_draw_glyph_string): Likewise.
723 712
724 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to 713 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
725 the resulting clip(s}. 714 the resulting clip(s}.
@@ -1051,9 +1040,8 @@
1051 * font.c (font_at): If the window W is not on a window system, 1040 * font.c (font_at): If the window W is not on a window system,
1052 return Qnil. 1041 return Qnil.
1053 1042
1054 * coding.c (produce_chars): Don't call insert_from_gap if no 1043 * coding.c (produce_chars, encode_coding): Don't call
1055 characters to produce. 1044 insert_from_gap if no characters to produce.
1056 (encode_coding): Likewise.
1057 1045
10582008-02-01 Kenichi Handa <handa@m17n.org> 10462008-02-01 Kenichi Handa <handa@m17n.org>
1059 1047
@@ -1087,8 +1075,8 @@
1087 * character.c (char_string): Type of arg C changed to unsigned. 1075 * character.c (char_string): Type of arg C changed to unsigned.
1088 Signal an error if C is an invalid character code. 1076 Signal an error if C is an invalid character code.
1089 1077
1090 * editfns.c (general_insert_function): Use CHARACTERP, not INTEGERP. 1078 * editfns.c (general_insert_function, Fchar_to_string):
1091 (Fchar_to_string): Likewise. 1079 Use CHARACTERP, not INTEGERP.
1092 1080
10932008-02-01 Kenichi Handa <handa@m17n.org> 10812008-02-01 Kenichi Handa <handa@m17n.org>
1094 1082
@@ -1221,9 +1209,8 @@
1221 1209
12222008-02-01 Kenichi Handa <handa@m17n.org> 12102008-02-01 Kenichi Handa <handa@m17n.org>
1223 1211
1224 * ftfont.c (ftfont_pattern_entity): Check if FC_FONTFORMAT is defined. 1212 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
1225 (ftfont_list_generic_family, ftfont_list, ftfont_font_format): 1213 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
1226 Likewise.
1227 1214
12282008-02-01 Kenichi Handa <handa@m17n.org> 12152008-02-01 Kenichi Handa <handa@m17n.org>
1229 1216
@@ -1362,8 +1349,8 @@
1362 * font.h (struct font_driver): New member `match'. 1349 * font.h (struct font_driver): New member `match'.
1363 (font_update_drivers): Adjust prototype. 1350 (font_update_drivers): Adjust prototype.
1364 1351
1365 * font.c (font_parse_fcname): Don't change :name property of FONT. 1352 * font.c (font_parse_fcname, font_parse_name): Don't change :name
1366 (font_parse_name): Likewise. 1353 property of FONT.
1367 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define 1354 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
1368 them unconditionally. 1355 them unconditionally.
1369 (font_matching_entity): New function. 1356 (font_matching_entity): New function.
@@ -1517,8 +1504,8 @@
1517 1504
1518 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card. 1505 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
1519 (DEVICE_DELTA): Fix typo. 1506 (DEVICE_DELTA): Fix typo.
1520 (font_otf_gpos): Adjust for the change of LGLYPH format. 1507 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
1521 (font_prepare_composition): Likewise. 1508 LGLYPH format.
1522 1509
1523 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for 1510 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
1524 the change of LGLYPH format. 1511 the change of LGLYPH format.
@@ -1648,11 +1635,8 @@
1648 unknown properties. 1635 unknown properties.
1649 (font_score): Change argument. Change caller. Pay attention to 1636 (font_score): Change argument. Change caller. Pay attention to
1650 FONT_PIXEL_SIZE_QUANTUM. 1637 FONT_PIXEL_SIZE_QUANTUM.
1651 (font_sort_entites): Fix handling of font size. 1638 (font_sort_entites, font_list_entities, font_find_for_lface)
1652 (font_list_entities): Likewise. 1639 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1653 (font_find_for_lface): Likewise.
1654 (font_open_for_lface): Likewise.
1655 (font_open_by_name): Likewise.
1656 (Ffont_spec): Add QCname property that contains only unknown properties. 1640 (Ffont_spec): Add QCname property that contains only unknown properties.
1657 1641
1658 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't 1642 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
@@ -1988,8 +1972,9 @@
1988 detect_coding. 1972 detect_coding.
1989 (emacs_mule_char): Handle old style (Emacs 20) component character 1973 (emacs_mule_char): Handle old style (Emacs 20) component character
1990 of a composition. 1974 of a composition.
1991 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Fix parsing a composition rule. 1975 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
1992 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise. 1976 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
1977 composition rule.
1993 (decode_coding_emacs_mule): Handle invalid bytes correctly. 1978 (decode_coding_emacs_mule): Handle invalid bytes correctly.
1994 1979
19952008-02-01 Kenichi Handa <handa@m17n.org> 19802008-02-01 Kenichi Handa <handa@m17n.org>
@@ -2054,9 +2039,9 @@
2054 2039
20552008-02-01 Kenichi Handa <handa@m17n.org> 20402008-02-01 Kenichi Handa <handa@m17n.org>
2056 2041
2057 * coding.c (Fdefine_coding_system_internal): Avoid a duplicated 2042 * coding.c (Fdefine_coding_system_internal)
2058 element in Vcoding_system_alist. 2043 (Fdefine_coding_system_alias): Avoid a duplicated element in
2059 (Fdefine_coding_system_alias): Likewise. 2044 Vcoding_system_alist.
2060 2045
20612008-02-01 Kenichi Handa <handa@m17n.org> 20462008-02-01 Kenichi Handa <handa@m17n.org>
2062 2047
@@ -2071,8 +2056,8 @@
2071 Fcoding_system_p. 2056 Fcoding_system_p.
2072 (CHECK_CODING_SYSTEM): If ID is not available, call 2057 (CHECK_CODING_SYSTEM): If ID is not available, call
2073 Fcheck_coding_system. 2058 Fcheck_coding_system.
2074 (CHECK_CODING_SYSTEM_GET_SPEC): Try also Fcheck_coding_system. 2059 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
2075 (CHECK_CODING_SYSTEM_GET_ID): Likewise. 2060 Try also Fcheck_coding_system.
2076 2061
20772008-02-01 Kenichi Handa <handa@m17n.org> 20622008-02-01 Kenichi Handa <handa@m17n.org>
2078 2063
@@ -2117,8 +2102,8 @@
2117 2102
2118 * coding.c (QCascii_compatible_p): New variable. 2103 * coding.c (QCascii_compatible_p): New variable.
2119 (syms_of_coding): Initialize it. 2104 (syms_of_coding): Initialize it.
2120 (ONE_MORE_BYTE): Decrement `src' before calling string_char. 2105 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
2121 (ONE_MORE_BYTE_NO_CHECK): Likewise. 2106 calling string_char.
2122 (record_conversion_result): Add `default:' case. 2107 (record_conversion_result): Add `default:' case.
2123 (coding_charset_list): Delete unused variable `coding_type'. 2108 (coding_charset_list): Delete unused variable `coding_type'.
2124 (Fdefine_coding_system_internal): Add `ascii-compatible-p' 2109 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
@@ -2300,8 +2285,8 @@
2300 2285
2301 * coding.c (detect_coding_utf_16): Don't set detect_info->found if 2286 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
2302 BOM is not found. 2287 BOM is not found.
2303 (detect_coding): Optimization for ISO-2022 when no 8-bit data is found. 2288 (detect_coding, detect_coding_system): Optimization for ISO-2022
2304 (detect_coding_system): Likewise. 2289 when no 8-bit data is found.
2305 2290
23062008-02-01 Jason Rumney <jasonr@gnu.org> 22912008-02-01 Jason Rumney <jasonr@gnu.org>
2307 2292
@@ -2309,8 +2294,8 @@
2309 2294
23102008-02-01 Kenichi Handa <handa@m17n.org> 22952008-02-01 Kenichi Handa <handa@m17n.org>
2311 2296
2312 * charset.c (Fdeclare_equiv_charset): Fix handing of CHARS. 2297 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
2313 (Fiso_charset): Likewise. 2298 CHARS.
2314 2299
23152008-02-01 Steven Tamm <steventamm@mac.com> 23002008-02-01 Steven Tamm <steventamm@mac.com>
2316 2301
@@ -2361,8 +2346,8 @@
2361 2346
23622008-02-01 Kenichi Handa <handa@m17n.org> 23472008-02-01 Kenichi Handa <handa@m17n.org>
2363 2348
2364 * coding.c (detect_coding): Delete unused variables. 2349 * coding.c (detect_coding, detect_coding_system): Delete unused
2365 (detect_coding_system): Likewise. 2350 variables.
2366 2351
23672008-02-01 Kenichi Handa <handa@m17n.org> 23522008-02-01 Kenichi Handa <handa@m17n.org>
2368 2353
@@ -2389,8 +2374,8 @@
2389 2374
2390 * fontset.c (fontset_font): Rename from fontset_face. Change return 2375 * fontset.c (fontset_font): Rename from fontset_face. Change return
2391 value. 2376 value.
2392 (face_suitable_for_char_p): Adjust for the change of fontset_font. 2377 (face_suitable_for_char_p, face_for_char): Adjust for the change
2393 (face_for_char): Likewise. 2378 of fontset_font.
2394 (make_fontset_for_ascii_face): Fix setting of the fontset element 2379 (make_fontset_for_ascii_face): Fix setting of the fontset element
2395 for ASCII. 2380 for ASCII.
2396 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR 2381 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
@@ -2428,23 +2413,23 @@
2428 2413
2429 * fontset.c: Include "intervals.h". 2414 * fontset.c: Include "intervals.h".
2430 (fontset_face): Fix comparing of Lisp_Objects. 2415 (fontset_face): Fix comparing of Lisp_Objects.
2431 (free_face_fontset): Fix Lisp_Object/int mixup. 2416 (free_face_fontset, new_fontset_from_font_name): Fix
2432 (new_fontset_from_font_name): Likewise. 2417 Lisp_Object/int mixup.
2433 2418
2434 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup. 2419 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
2435 2420
2436 * coding.c: Add many prototypes for static functions. 2421 * coding.c: Add many prototypes for static functions.
2437 (get_translation_table): Allow max_lookup to be NULL. 2422 (get_translation_table): Allow max_lookup to be NULL.
2438 (decode_coding): Call get_translation_table with max_lookup NULL. 2423 (decode_coding,Ffind_coding_systems_region_internal)
2439 (Ffind_coding_systems_region_internal): Likewise. 2424 (Funencodable_char_position, Fcheck_coding_systems_region): Call
2440 (Funencodable_char_position, Fcheck_coding_systems_region): Likewise. 2425 get_translation_table with max_lookup NULL.
2441 2426
24422008-02-01 Kenichi Handa <handa@m17n.org> 24272008-02-01 Kenichi Handa <handa@m17n.org>
2443 2428
2444 * coding.c (get_translation_table): Declare it as Lisp_Object. 2429 * coding.c (get_translation_table): Declare it as Lisp_Object.
2445 (LOOKUP_TRANSLATION_TABLE): New macro. 2430 (LOOKUP_TRANSLATION_TABLE): New macro.
2446 (produce_chars): Use LOOKUP_TRANSLATION_TABLE instead of CHAR_TABLE_REF. 2431 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
2447 (consume_chars): Likewise. 2432 instead of CHAR_TABLE_REF.
2448 2433
24492008-02-01 Kenichi Handa <handa@m17n.org> 24342008-02-01 Kenichi Handa <handa@m17n.org>
2450 2435
@@ -2452,10 +2437,10 @@
2452 annotation data format. 2437 annotation data format.
2453 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA): 2438 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
2454 Change arguments FROM and TO to single argument NCHARS. Change caller. 2439 Change arguments FROM and TO to single argument NCHARS. Change caller.
2455 (decode_coding_utf_8): Pay attention to coding->charbuf_used. 2440 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
2456 (decode_coding_utf_16, decode_coding_emacs_mule)
2457 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) 2441 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2458 (decode_coding_ccl, decode_coding_charset): Likewise. 2442 (decode_coding_ccl, decode_coding_charset): Pay attention to
2443 coding->charbuf_used.
2459 (get_translation): New function. 2444 (get_translation): New function.
2460 (produce_chars): New arguments translation_table and last_block. 2445 (produce_chars): New arguments translation_table and last_block.
2461 Translate characters here. Return number of carryover chars. 2446 Translate characters here. Return number of carryover chars.
@@ -2521,8 +2506,7 @@
25212008-02-01 Kenichi Handa <handa@m17n.org> 25062008-02-01 Kenichi Handa <handa@m17n.org>
2522 2507
2523 * fontset.c (FONTSET_DEFAULT): New macro. 2508 * fontset.c (FONTSET_DEFAULT): New macro.
2524 (FONTSET_ADD): Handle the case that range is nil. 2509 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
2525 (fontset_add): Likewise.
2526 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle 2510 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
2527 the case that it is nil. 2511 the case that it is nil.
2528 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK. 2512 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
@@ -2544,14 +2528,13 @@
2544 2528
25452008-02-01 Kenichi Handa <handa@m17n.org> 25292008-02-01 Kenichi Handa <handa@m17n.org>
2546 2530
2547 * fns.c (string_char_to_byte): Optimize for ASCII only string. 2531 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
2548 (string_byte_to_char): Likewise. 2532 ASCII only string.
2549 2533
2550 * fileio.c (Finsert_file_contents): Avoid detecting a code twice. 2534 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
2551 2535
2552 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3. 2536 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
2553 (detect_coding): Treat '\0' as normal ASCII byte.. 2537 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte..
2554 (detect_coding_system): Likewise.
2555 2538
25562008-02-01 Kenichi Handa <handa@m17n.org> 25392008-02-01 Kenichi Handa <handa@m17n.org>
2557 2540
@@ -2570,8 +2553,8 @@
2570 (Fcoding_system_put): New function. 2553 (Fcoding_system_put): New function.
2571 (syms_of_coding): Declare new symbols. Defsubr 2554 (syms_of_coding): Declare new symbols. Defsubr
2572 Scoding_system_put. 2555 Scoding_system_put.
2573 (decode_coding_sjis): Handle 4th charset (typically JISX0212). 2556 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
2574 (encode_coding_sjis): Likewise. 2557 typically JISX0212.
2575 2558
2576 * charset.c (map_charset_chars): Fix arg to map_charset_chars in 2559 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
2577 when the charset is superset type. 2560 when the charset is superset type.
@@ -2585,13 +2568,12 @@
2585 2568
2586 * coding.c (get_translation_table): New function. 2569 * coding.c (get_translation_table): New function.
2587 (translate_chars): Fix the bug of skipping annotation data. 2570 (translate_chars): Fix the bug of skipping annotation data.
2588 (decode_coding): Utilize get_translation_table. 2571 (decode_coding, encode_coding): Utilize get_translation_table.
2589 (encode_coding): Likewise. 2572 (char_encodable_p, Funencodable_char_position): Translate char if
2590 (char_encodable_p): Translate char if necessary. 2573 necessary.
2591 (Funencodable_char_position): Likewise. 2574 (Ffind_coding_systems_region_internal)
2592 (Ffind_coding_systems_region_internal): Setup translation table 2575 (Fcheck_coding_systems_region): Setup translation table for encode
2593 for encode in a coding system attribute vector in advance. 2576 in a coding system attribute vector in advance.
2594 (Fcheck_coding_systems_region): Likewise.
2595 (Fdefine_coding_system_internal): Allow a symbol as translation 2577 (Fdefine_coding_system_internal): Allow a symbol as translation
2596 table. For shift-jis type coding system, allow 4th charset. 2578 table. For shift-jis type coding system, allow 4th charset.
2597 2579
@@ -2664,14 +2646,10 @@
2664 2646
2665 * fontset.h (face_for_char): Adjust prototype. 2647 * fontset.h (face_for_char): Adjust prototype.
2666 2648
2667 * xdisp.c (face_before_or_after_it_pos): Call FACE_FOR_CHAR with 2649 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
2668 POS and OBJECT args. 2650 (append_space, extend_face_to_end_of_line)
2669 (get_next_display_element): Likewise. 2651 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
2670 (append_space): Likewise. 2652 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
2671 (extend_face_to_end_of_line): Likewise.
2672 (get_char_face_and_encoding): Likewise.
2673 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
2674 (x_produce_glyphs): Likewise.
2675 2653
2676 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with 2654 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
2677 POS and OBJECT args. 2655 POS and OBJECT args.
@@ -2709,12 +2687,10 @@
2709 (ONE_MORE_BYTE_NO_CHECK): Likewise. 2687 (ONE_MORE_BYTE_NO_CHECK): Likewise.
2710 (record_conversion_result): New function. Change all codes setting 2688 (record_conversion_result): New function. Change all codes setting
2711 coding->result to call this function. 2689 coding->result to call this function.
2712 (detect_coding_utf_8): Don't use the local variable incomplete. 2690 (detect_coding_utf_8, decode_coding_utf_8)
2713 (decode_coding_utf_8): Likewise. 2691 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
2692 Don't use the local variable incomplete.
2714 (emacs_mule_char): Change the second arg to `const'. 2693 (emacs_mule_char): Change the second arg to `const'.
2715 (detect_coding_emacs_mule): Don't use the local variable incomplete.
2716 (detect_coding_sjis): Likewise.
2717 (detect_coding_big5): Likewise.
2718 (decode_coding): Fix of flushing out unprocessed data. 2694 (decode_coding): Fix of flushing out unprocessed data.
2719 (make_conversion_work_buffer): Fix making of a work buffer. 2695 (make_conversion_work_buffer): Fix making of a work buffer.
2720 (decode_coding_object): Return coding->dst_object; 2696 (decode_coding_object): Return coding->dst_object;
@@ -2755,11 +2731,9 @@
2755 (decode_coding_utf_8): Don't do eol converion. 2731 (decode_coding_utf_8): Don't do eol converion.
2756 (detect_coding_utf_16): Check coding->src_chars, not 2732 (detect_coding_utf_16): Check coding->src_chars, not
2757 coding->src_bytes. Add heuristics for those that have no signature. 2733 coding->src_bytes. Add heuristics for those that have no signature.
2758 (decode_coding_emacs_mule): Don't do eol converion. 2734 (decode_coding_emacs_mule, decode_coding_iso_2022)
2759 (decode_coding_iso_2022): Likewise. 2735 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
2760 (decode_coding_sjis): Likewise. 2736 Don't do eol converion.
2761 (decode_coding_big5): Likewise.
2762 (decode_coding_charset): Likewise.
2763 (adjust_coding_eol_type): Return a new coding system. 2737 (adjust_coding_eol_type): Return a new coding system.
2764 (detect_coding): Don't detect eol. Fix for utf-16 detection. 2738 (detect_coding): Don't detect eol. Fix for utf-16 detection.
2765 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on 2739 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
@@ -2772,7 +2746,7 @@
2772 (Vcode_conversion_workbuf_name): New variable. 2746 (Vcode_conversion_workbuf_name): New variable.
2773 (reused_workbuf_in_use): New variable. 2747 (reused_workbuf_in_use): New variable.
2774 (make_conversion_work_buffer): Delete the arg DEPTH. 2748 (make_conversion_work_buffer): Delete the arg DEPTH.
2775 (code_conversion_restore): Argument changed to cons. 2749 (code_conversion_restore): Change argument to cons.
2776 (code_conversion_save): Delete the argument BUFFER. Change callers. 2750 (code_conversion_save): Delete the argument BUFFER. Change callers.
2777 (detect_coding_system): New argument src_chars. Change callers. 2751 (detect_coding_system): New argument src_chars. Change callers.
2778 Fix for utf-16 detection. 2752 Fix for utf-16 detection.
@@ -2815,9 +2789,8 @@
2815 2789
2816 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list. 2790 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
2817 2791
2818 * fns.c (Fmapconcat): Signal an error if SEQUENCE is a char table. 2792 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
2819 (Fmapcar): Likewise. 2793 is a char table.
2820 (Fmapc): Likewise.
2821 2794
28222008-02-01 Kenichi Handa <handa@m17n.org> 27952008-02-01 Kenichi Handa <handa@m17n.org>
2823 2796
@@ -2971,8 +2944,8 @@
2971 (encode_terminal_code): Change argument. Encode multiple 2944 (encode_terminal_code): Change argument. Encode multiple
2972 characters at once. Store the result of encoding in 2945 characters at once. Store the result of encoding in
2973 terminal_encode_buffer. 2946 terminal_encode_buffer.
2974 (write_glyphs): Adjust for the change of encode_terminal_code. 2947 (write_glyphs, insert_glyphs): Adjust for the change of
2975 (insert_glyphs): Likewise. 2948 encode_terminal_code.
2976 (term_init): Initialize terminal_encode_buffer and 2949 (term_init): Initialize terminal_encode_buffer and
2977 terminal_encode_buf_size. 2950 terminal_encode_buf_size.
2978 2951
@@ -3099,8 +3072,8 @@
3099 3072
31002008-02-01 Andreas Schwab <schwab@suse.de> 30732008-02-01 Andreas Schwab <schwab@suse.de>
3101 3074
3102 * chartab.c (map_char_table): Protect `range' from GC. 3075 * chartab.c (map_char_table, map_char_table_for_charset): Protect
3103 (map_char_table_for_charset): Likewise. 3076 `range' from GC.
3104 3077
31052008-02-01 Kenichi Handa <handa@m17n.org> 30782008-02-01 Kenichi Handa <handa@m17n.org>
3106 3079
@@ -3178,9 +3151,8 @@
3178 * lread.c (read1): While reading a string, set force_singlebyte 3151 * lread.c (read1): While reading a string, set force_singlebyte
3179 and force_multibyte correctly. 3152 and force_multibyte correctly.
3180 3153
3181 * charset.c (Fset_unibyte_charset): Fix setting up of 3154 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
3182 unibyte_to_multibyte_table. 3155 up of unibyte_to_multibyte_table.
3183 (init_charset_once): Likewise.
3184 3156
31852008-02-01 Kenichi Handa <handa@m17n.org> 31572008-02-01 Kenichi Handa <handa@m17n.org>
3186 3158
@@ -3350,8 +3322,8 @@
3350 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros. 3322 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
3351 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead 3323 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
3352 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET. 3324 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
3353 (Fccl_execute): Call ccl_driver with the last arg Qnil. 3325 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
3354 (Fccl_execute_on_string): Likewise. 3326 last arg Qnil.
3355 3327
33562008-02-01 Kenichi Handa <handa@m17n.org> 33282008-02-01 Kenichi Handa <handa@m17n.org>
3357 3329
@@ -3432,8 +3404,8 @@
3432 3404
3433 * chartab.c (char_table_ascii): Check if the char table contents 3405 * chartab.c (char_table_ascii): Check if the char table contents
3434 is sub-char-table or not. 3406 is sub-char-table or not.
3435 (char_table_set): Fix argument to char_table_ascii. 3407 (char_table_set, char_table_set_range): Fix argument to
3436 (char_table_set_range): Likewise. 3408 char_table_ascii.
3437 3409
3438 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro. 3410 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
3439 (detect_coding_utf_8, detect_coding_utf_16) 3411 (detect_coding_utf_8, detect_coding_utf_16)
@@ -3533,14 +3505,10 @@
3533 3505
35342008-02-01 Kenichi Handa <handa@m17n.org> 35062008-02-01 Kenichi Handa <handa@m17n.org>
3535 3507
3536 * coding.c (decode_coding_utf_8): When eol_type is Qdos, handle 3508 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
3509 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
3510 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
3537 the case that the last byte is '\r' correctly. 3511 the case that the last byte is '\r' correctly.
3538 (decode_coding_emacs_mule): Likewise.
3539 (decode_coding_iso_2022): Likewise.
3540 (decode_coding_sjis): Likewise.
3541 (decode_coding_big5): Likewise.
3542 (decode_coding_charset): Likewise.
3543 (produce_chars): Likewise.
3544 (decode_coding): Flush out the unprocessed data correctly. 3512 (decode_coding): Flush out the unprocessed data correctly.
3545 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode. 3513 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
3546 3514
@@ -3640,18 +3608,13 @@
3640 3608
36412008-02-01 Kenichi Handa <handa@m17n.org> 36092008-02-01 Kenichi Handa <handa@m17n.org>
3642 3610
3643 * coding.c (detect_coding_utf_8): Check incomplete byte sequence. 3611 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
3644 Don't update *mask when correctly detected. 3612 (detect_coding_emacs_mule, detect_coding_iso_2022)
3645 (detect_coding_utf_16): Likewise. 3613 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
3646 (detect_coding_emacs_mule): Likewise. 3614 incomplete byte sequence. Don't update *mask when correctly detected.
3647 (detect_coding_iso_2022): Likewise.
3648 (detect_coding_sjis): Likewise.
3649 (detect_coding_big5): Likewise.
3650 (detect_coding_ccl): Likewise.
3651 (decode_coding_sjis): Fix decoding of katakana-jisx0201. 3615 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
3652 (detect_eol): Delete the argument CODING, and add the argument CATEGORY. 3616 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
3653 (detect_coding): Adjust for the changes above. 3617 (detect_coding, detect_coding_system): Adjust for the changes above.
3654 (detect_coding_system): Likewise.
3655 3618
36562008-02-01 Kenichi Handa <handa@m17n.org> 36192008-02-01 Kenichi Handa <handa@m17n.org>
3657 3620
@@ -3659,13 +3622,10 @@
3659 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK. 3622 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
3660 (string_char): Rename from string_char. 3623 (string_char): Rename from string_char.
3661 3624
3662 * character.h (CHAR_STRING): Call char_string if C is greater than 3625 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
3663 MAX_3_BYTE_CHAR. 3626 if C is greater than MAX_3_BYTE_CHAR.
3664 (CHAR_STRING_ADVANCE): Likewise. 3627 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
3665 (STRING_CHAR): Call string_char instead of 3628 string_char instead of string_char_with_unification.
3666 string_char_with_unification.
3667 (STRING_CHAR_AND_LENGTH): Likewise.
3668 (STRING_CHAR_ADVANCE): Likewise.
3669 3629
36702008-02-01 Dave Love <fx@gnu.org> 36302008-02-01 Dave Love <fx@gnu.org>
3671 3631
@@ -3818,10 +3778,10 @@
3818 FETCH_STRING_CHAR_ADVANCE. 3778 FETCH_STRING_CHAR_ADVANCE.
3819 (Freplace_match): Convert unibyte chars to multibyte. 3779 (Freplace_match): Convert unibyte chars to multibyte.
3820 3780
3821 * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert 3781 * syntax.c (char_quoted, back_comment, scan_words)
3782 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
3783 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
3822 unibyte chars to multibyte. 3784 unibyte chars to multibyte.
3823 (back_comment): Likewise.
3824 (scan_words): Likewise.
3825 (skip_chars): Delete the arg syntaxp, and move the code for 3785 (skip_chars): Delete the arg syntaxp, and move the code for
3826 handling syntaxes to skip_syntaxes. Change callers. 3786 handling syntaxes to skip_syntaxes. Change callers.
3827 Fix the case that the multibyteness of STRING and the current 3787 Fix the case that the multibyteness of STRING and the current
@@ -3829,11 +3789,6 @@
3829 (skip_syntaxes): New function. 3789 (skip_syntaxes): New function.
3830 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by 3790 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
3831 SINGLE_BYTE_CHAR_P. 3791 SINGLE_BYTE_CHAR_P.
3832 (Fforward_comment): Use FETCH_CHAR_AS_MULTIBYTE to convert unibyte
3833 chars to multibyte.
3834 (scan_lists): Likewise.
3835 (Fbackward_prefix_chars): Likewise.
3836 (scan_sexps_forward): Likewise.
3837 3792
38382008-02-01 Kenichi Handa <handa@m17n.org> 37932008-02-01 Kenichi Handa <handa@m17n.org>
3839 3794
@@ -3841,8 +3796,8 @@
3841 (LFACE_FONTSET): New macro. 3796 (LFACE_FONTSET): New macro.
3842 (check_lface_attrs): Check also LFACE_FONTSET_INDEX. 3797 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
3843 (set_lface_from_font_name): Setup LFACE_FONTSET (lface). 3798 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
3844 (Finternal_set_lisp_face_attribute): Handle QCfontset. 3799 (Finternal_set_lisp_face_attribute)
3845 (Finternal_get_lisp_face_attribute): Likewise. 3800 (Finternal_get_lisp_face_attribute): Handle QCfontset.
3846 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX, 3801 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
3847 check also LFACE_FONTSET_INDEX. 3802 check also LFACE_FONTSET_INDEX.
3848 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not 3803 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
@@ -3876,8 +3831,8 @@
3876 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. 3831 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
3877 3832
3878 * buffer.h (_fetch_multibyte_char_len): Delete extern. 3833 * buffer.h (_fetch_multibyte_char_len): Delete extern.
3879 (FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len. 3834 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
3880 (BUF_FETCH_MULTIBYTE_CHAR): Likewise. 3835 _fetch_multibyte_char_len.
3881 (FETCH_CHAR_AS_MULTIBYTE): New macro. 3836 (FETCH_CHAR_AS_MULTIBYTE): New macro.
3882 3837
3883 * casetab.c (set_canon, set_identity, shuffle): Simplify. 3838 * casetab.c (set_canon, set_identity, shuffle): Simplify.
@@ -3930,10 +3885,9 @@
3930 * fontset.c (fontset_add): Make the type `int'. 3885 * fontset.c (fontset_add): Make the type `int'.
3931 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined. 3886 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
3932 3887
3933 * character.c (unibyte_char_to_multibyte): Refer to 3888 * character.c (unibyte_char_to_multibyte)
3889 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
3934 charset_unibyte, not charset_primary. 3890 charset_unibyte, not charset_primary.
3935 (multibyte_char_to_unibyte): Likewise.
3936 (Funibyte_char_to_multibyte): Likewise.
3937 3891
3938 * charset.h (charset_unibyte): Extern it instead of charset_primary. 3892 * charset.h (charset_unibyte): Extern it instead of charset_primary.
3939 3893
@@ -4083,8 +4037,8 @@
4083 have property char-table-extra-slots, make no extra slot. 4037 have property char-table-extra-slots, make no extra slot.
4084 4038
4085 * dispextern.h (struct face): Delete member `charset'. 4039 * dispextern.h (struct face): Delete member `charset'.
4086 (FACE_SUITABLE_FOR_CHAR_P): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. 4040 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
4087 (FACE_FOR_CHAR): Likewise. 4041 SINGLE_BYTE_CHAR_P.
4088 (choose_face_font, lookup_non_ascii_face, font_name_registry): 4042 (choose_face_font, lookup_non_ascii_face, font_name_registry):
4089 Add prototypes. 4043 Add prototypes.
4090 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype. 4044 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
@@ -4142,8 +4096,8 @@
4142 a string, just call font_list with it. 4096 a string, just call font_list with it.
4143 (choose_face_font): Delete arguments FACE and C. New arg 4097 (choose_face_font): Delete arguments FACE and C. New arg
4144 FONT_SPEC. Change caller. 4098 FONT_SPEC. Change caller.
4145 (realize_face): Delete arguments C and BASE_FACE. Change caller. 4099 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
4146 (realize_x_face): Likewise. 4100 Change caller.
4147 (realize_non_ascii_face): New function. 4101 (realize_non_ascii_face): New function.
4148 (realize_x_face): Call load_face_font here. 4102 (realize_x_face): Call load_face_font here.
4149 (realize_tty_face): Delete argument C. Change caller. 4103 (realize_tty_face): Delete argument C. Change caller.
@@ -4217,9 +4171,8 @@
4217 (Vscript_alist): Extern it. 4171 (Vscript_alist): Extern it.
4218 4172
4219 * character.c (Vscript_alist): New variable. 4173 * character.c (Vscript_alist): New variable.
4220 (string_char_with_unification): Add `const' to local variables. 4174 (string_char_with_unification, str_as_unibyte)
4221 (str_as_unibyte): Likewise. 4175 (string_escape_byte8): Add `const' to local variables.
4222 (string_escape_byte8): Likewise.
4223 (syms_of_character): Declare script-alist as a Lisp variable. 4176 (syms_of_character): Declare script-alist as a Lisp variable.
4224 4177
4225 * charset.h (Vcharset_ordered_list): Extern it. 4178 * charset.h (Vcharset_ordered_list): Extern it.
@@ -4245,10 +4198,9 @@
4245 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12) 4198 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
4246 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros. 4199 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
4247 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc. 4200 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4248 (decode_coding_ccl): Add `const' to local variables. 4201 (decode_coding_ccl, consume_chars)
4249 (consume_chars): Likewise. 4202 (Ffind_coding_systems_region_internal)
4250 (Ffind_coding_systems_region_internal): Likewise. 4203 (Fcheck_coding_systems_region): Add `const' to local variables.
4251 (Fcheck_coding_systems_region): Likewise.
4252 4204
4253 * print.c (print_object): Use octal form for printing the 4205 * print.c (print_object): Use octal form for printing the
4254 contents of a bool vector. 4206 contents of a bool vector.
@@ -4379,8 +4331,8 @@
4379 (Fdefine_charset_internal): Adjust for the change of 4331 (Fdefine_charset_internal): Adjust for the change of
4380 `define-charset' (:parents -> :subset or :superset). 4332 `define-charset' (:parents -> :subset or :superset).
4381 (charset_work): New variable. 4333 (charset_work): New variable.
4382 (encode_char): Adjust for the change of Fdefine_charset_internal. 4334 (encode_char, syms_of_charset): Adjust for the change of
4383 (syms_of_charset): Likewise. 4335 Fdefine_charset_internal.
4384 (Ffind_charset_string): Setup the vector `charsets' correctly. 4336 (Ffind_charset_string): Setup the vector `charsets' correctly.
4385 4337
4386 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix 4338 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
@@ -4421,17 +4373,14 @@
4421 * charset.c (load_charset_map): Handle the case that from < to 4373 * charset.c (load_charset_map): Handle the case that from < to
4422 correctly. 4374 correctly.
4423 4375
4424 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit chars. 4376 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
4425 (encode_coding_iso_2022): Likewise. 4377 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
4426 (encode_coding_sjis): Likewise. 4378 Pay attention to raw-8-bit chars.
4427 (encode_coding_big5): Likewise.
4428 (encode_coding_charset): Likewise.
4429 4379
44302008-02-01 Kenichi Handa <handa@m17n.org> 43802008-02-01 Kenichi Handa <handa@m17n.org>
4431 4381
4432 * Makefile.in (lisp): Change chinese.elc to chinese.el. They are 4382 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
4433 not bytecompiled now. 4383 It is not bytecompiled now.
4434 (shortlisp): Likewise.
4435 4384
4436 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978) 4385 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
4437 (charset_jisx0208): New variables. 4386 (charset_jisx0208): New variables.
@@ -4445,10 +4394,9 @@
4445 (CODING_ISO_FLAG_USE_OLDJIS): New macro. 4394 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
4446 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition. 4395 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
4447 (setup_iso_safe_charsets): Fix arguments to Fassq. 4396 (setup_iso_safe_charsets): Fix arguments to Fassq.
4448 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN 4397 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
4449 and CODING_ISO_FLAG_USE_OLDJIS. 4398 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
4450 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise. 4399 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
4451 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
4452 (encode_coding_iso_2022): Change the 1st arg to 4400 (encode_coding_iso_2022): Change the 1st arg to
4453 ENCODE_ISO_CHARACTER to a variable. 4401 ENCODE_ISO_CHARACTER to a variable.
4454 4402
@@ -4458,9 +4406,8 @@
4458 charset_arg_min_code and charset_arg_max_code. 4406 charset_arg_min_code and charset_arg_max_code.
4459 (struct charset): New member char_index_offset. 4407 (struct charset): New member char_index_offset.
4460 4408
4461 * charset.c (CODE_POINT_TO_INDEX): Take charset->char_index_offset 4409 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
4462 into account. 4410 Take charset->char_index_offset into account.
4463 (INDEX_TO_CODE_POINT): Likewise.
4464 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and 4411 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
4465 args[charset_arg_max_code]. Setup charset.char_index_offset. 4412 args[charset_arg_max_code]. Setup charset.char_index_offset.
4466 (syms_of_charset): Fix args to Fdefine_charset_internal. 4413 (syms_of_charset): Fix args to Fdefine_charset_internal.
@@ -4519,9 +4466,8 @@
4519 4466
45202008-02-01 Kenichi Handa <handa@m17n.org> 44672008-02-01 Kenichi Handa <handa@m17n.org>
4521 4468
4522 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el, 4469 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
4523 vietnamese.elc to vietnamese.el. They are not bytecompiled now. 4470 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
4524 (shortlisp): Likewise.
4525 4471
45262008-02-01 Kenichi Handa <handa@m17n.org> 44722008-02-01 Kenichi Handa <handa@m17n.org>
4527 4473
@@ -4556,12 +4502,10 @@
4556 4502
45572008-02-01 Kenichi Handa <handa@m17n.org> 45032008-02-01 Kenichi Handa <handa@m17n.org>
4558 4504
4559 * coding.c (encode_coding_iso_2022): If coding requires safe 4505 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
4506 (encode_coding_big5, encode_coding_charset): If coding requires safe
4560 encoding, produce a character specified by 4507 encoding, produce a character specified by
4561 CODING_INHIBIT_CHARACTER_SUBSTITUTION. 4508 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
4562 (encode_coding_sjis): Likewise.
4563 (encode_coding_big5): Likewise.
4564 (encode_coding_charset): Likewise.
4565 4509
45662008-02-01 Dave Love <fx@gnu.org> 45102008-02-01 Dave Love <fx@gnu.org>
4567 4511
@@ -4652,8 +4596,8 @@
4652 * charset.h (struct charset): New member `code_space_mask'. 4596 * charset.h (struct charset): New member `code_space_mask'.
4653 4597
4654 * coding.c (coding_set_source): Delete the local variable beg_byte. 4598 * coding.c (coding_set_source): Delete the local variable beg_byte.
4655 (encode_coding_charset): Delete the local variable charset. 4599 (encode_coding_charset, Fdefine_coding_system_internal):
4656 (Fdefine_coding_system_internal): Likewise. 4600 Delete the local variable charset.
4657 (Fdefine_coding_system_internal): Setup 4601 (Fdefine_coding_system_internal): Setup
4658 attrs[coding_attr_charset_valids] correctly. 4602 attrs[coding_attr_charset_valids] correctly.
4659 4603
@@ -4804,8 +4748,7 @@
4804 * dired.c, filelock.c: Include "character.h". 4748 * dired.c, filelock.c: Include "character.h".
4805 4749
4806 * alloc.c: Include "character.h" instead of "charset.h". 4750 * alloc.c: Include "character.h" instead of "charset.h".
4807 (Fmake_char_table): Move to chartab.c. 4751 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
4808 (make_sub_char_table): Likewise.
4809 (syms_of_alloc): Remove defsubr for Smake_char_table. 4752 (syms_of_alloc): Remove defsubr for Smake_char_table.
4810 4753
4811 * buffer.c: Include "character.h" instead of "charset.h", don't 4754 * buffer.c: Include "character.h" instead of "charset.h", don't
@@ -4891,8 +4834,7 @@
4891 4834
4892 * fileio.c: Include "character.h" instead of "charset.h". 4835 * fileio.c: Include "character.h" instead of "charset.h".
4893 (Finsert_file_contents): Big change for the new code-conversion API. 4836 (Finsert_file_contents): Big change for the new code-conversion API.
4894 (choose_write_coding_system): Likewise. 4837 (choose_write_coding_system, Fwrite_region): Likewise.
4895 (Fwrite_region): Likewise.
4896 (build_annotations_2): Delete. 4838 (build_annotations_2): Delete.
4897 (e_write): Big change for the new code-conversion API. 4839 (e_write): Big change for the new code-conversion API.
4898 4840
@@ -4900,8 +4842,8 @@
4900 (copy_sub_char_table): Move to chartab.c. 4842 (copy_sub_char_table): Move to chartab.c.
4901 (Fcopy_sequence): Call copy_char_table for a char table. 4843 (Fcopy_sequence): Call copy_char_table for a char table.
4902 (concat): Delete codes calling count_multibyte. 4844 (concat): Delete codes calling count_multibyte.
4903 (string_char_to_byte): Adjust for the new multibyte form. 4845 (string_char_to_byte, string_byte_to_char): Adjust for the new
4904 (string_byte_to_char): Likewise. 4846 multibyte form.
4905 (internal_equal): Adjust for the change of char table structure. 4847 (internal_equal): Adjust for the change of char table structure.
4906 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent) 4848 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
4907 (Fchar_table_extra_slot, Fset_char_table_extra_slot) 4849 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
@@ -4982,8 +4924,8 @@
4982 raw bytes always in octal form. Handle sub char table correctly. 4924 raw bytes always in octal form. Handle sub char table correctly.
4983 4925
4984 * process.c: Include "character.h" instead of "charset.h". 4926 * process.c: Include "character.h" instead of "charset.h".
4985 (read_process_output): Adjust for the new code-conversion API. 4927 (read_process_output, send_process): Adjust for the new
4986 (send_process): Likewise. 4928 code-conversion API.
4987 4929
4988 * puresize.h (BASE_PURESIZE): Increase. 4930 * puresize.h (BASE_PURESIZE): Increase.
4989 4931
@@ -5010,8 +4952,8 @@
5010 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF. 4952 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
5011 4953
5012 * term.c: Include "buffer.h" and "character.h". 4954 * term.c: Include "buffer.h" and "character.h".
5013 (encode_terminal_code): Adjust for the new code-conversion API. 4955 (encode_terminal_code, write_glyphs): Adjust for the new
5014 (write_glyphs): Likewise. 4956 code-conversion API.
5015 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH. 4957 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
5016 4958
5017 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT. 4959 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
@@ -5043,8 +4985,8 @@
5043 4985
5044 * xterm.c: Include "character.h". 4986 * xterm.c: Include "character.h".
5045 (x_encode_char): New argument CHARSET. Change caller. 4987 (x_encode_char): New argument CHARSET. Change caller.
5046 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of SPLIT_CHAR. 4988 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
5047 (x_get_glyph_face_and_encoding): Likewise. 4989 Call ENCODE_CHAR instead of SPLIT_CHAR.
5048 (x_produce_glyphs): Don't check Vnonascii_translation_table Call 4990 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
5049 CHAR_WIDTH instead of CHARSET_WIDTH. 4991 CHAR_WIDTH instead of CHARSET_WIDTH.
5050 (XTread_socket): Adjust for the new code-conversion API. 4992 (XTread_socket): Adjust for the new code-conversion API.
@@ -5057,8 +4999,8 @@
5057 4999
50582008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 50002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5059 5001
5060 * ccl.c (CCL_WRITE_CHAR): Fix overflow checking. 5002 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
5061 (CCL_WRITE_MULTIBYTE_CHAR): Likewise. 5003 Fix overflow checking.
5062 5004
50632008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 50052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
5064 5006