aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2008-02-06 09:33:39 +0000
committerGlenn Morris2008-02-06 09:33:39 +0000
commit1f45f6274f28ec67bb32779d646df69e29f07bf2 (patch)
tree98c125fb32e3e11df4b508f13293b6282a6dc2b0 /src
parent429db227650a6c9706ab3b64954d5ae690d34f74 (diff)
downloademacs-1f45f6274f28ec67bb32779d646df69e29f07bf2.tar.gz
emacs-1f45f6274f28ec67bb32779d646df69e29f07bf2.zip
Tidying:
Fix typos and tense. Avoid single words on line where possible. Simplify unicode-merge entries of the form "fix previous change".
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog1127
1 files changed, 460 insertions, 667 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7f63cfa31b8..437cc1c7924 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -60,13 +60,12 @@
60 60
612008-02-01 Andreas Schwab <schwab@suse.de> 612008-02-01 Andreas Schwab <schwab@suse.de>
62 62
63 * Makefile.in (shortlisp): Update for rename of 63 * Makefile.in (shortlisp, lisp): Update for rename of
64 ../lisp/language/myanmar.el. 64 ../lisp/language/myanmar.el.
65 (lisp): Likewise.
66 65
672008-02-01 Chong Yidong <cyd@stupidchicken.com> 662008-02-01 Chong Yidong <cyd@stupidchicken.com>
68 67
69 * xfaces.c (get_lface_attributes): Function deleted. 68 * xfaces.c (get_lface_attributes): Delete function.
70 (merge_named_face, lookup_named_face, lookup_derived_face) 69 (merge_named_face, lookup_named_face, lookup_derived_face)
71 (realize_named_face): Call lface_from_face_name directly, and use 70 (realize_named_face): Call lface_from_face_name directly, and use
72 the fact that merge_face_vectors does not alter its FROM argument. 71 the fact that merge_face_vectors does not alter its FROM argument.
@@ -74,7 +73,7 @@
742008-02-01 Jason Rumney <jasonr@gnu.org> 732008-02-01 Jason Rumney <jasonr@gnu.org>
75 74
76 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode 75 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
77 input in the default locale. Handle non-Unicode multibyte input. 76 input in the default locale. Handle non-Unicode multibyte input.
78 77
792008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
80 79
@@ -115,8 +114,7 @@
115 114
1162008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 1152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
117 116
118 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in 117 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
119 lface.
120 118
1212008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 1192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
122 120
@@ -126,7 +124,7 @@
126 124
1272008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 1252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
128 126
129 * coding.c (decode_coding_object): Adjuste marker positions after 127 * coding.c (decode_coding_object): Adjust marker positions after
130 conversion. 128 conversion.
131 (encode_coding_object): Likewise. 129 (encode_coding_object): Likewise.
132 130
@@ -154,8 +152,7 @@
154 152
1552008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 1532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
156 154
157 * Makefile.in (lisp): Add kherm.el and myanmar.el. 155 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
158 (shortlisp): Likewise.
159 156
160 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only 157 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
161 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined. 158 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
@@ -169,7 +166,7 @@
169 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of 166 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
170 glyphs. 167 glyphs.
171 168
172 * font.h (struct font_driver): Docstring of member `shape' is improved. 169 * font.h (struct font_driver): Improve docstring of member `shape'.
173 170
1742008-02-01 Kenichi Handa <handa@m17n.org> 1712008-02-01 Kenichi Handa <handa@m17n.org>
175 172
@@ -272,7 +269,7 @@
2722008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 2692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
273 270
274 * fontset.c (fontset_add): New args charset_id and family. 271 * fontset.c (fontset_add): New args charset_id and family.
275 Caller changed. 272 Change caller.
276 (load_font_get_repertory): Assume that font_spec is always a 273 (load_font_get_repertory): Assume that font_spec is always a
277 font-spec object. 274 font-spec object.
278 (fontset_find_font): Likewise. 275 (fontset_find_font): Likewise.
@@ -294,8 +291,8 @@
294 291
2952008-02-01 Kenichi Handa <handa@m17n.org> 2922008-02-01 Kenichi Handa <handa@m17n.org>
296 293
297 * ftfont.c (struct OpenTypeSpec): Members script_tag renamed to 294 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
298 script, langsys_tag renamed to langsys, new member script. 295 script, langsys_tag to langsys, new member script.
299 (OTF_TAG_STR): Terminate by '\0'. 296 (OTF_TAG_STR): Terminate by '\0'.
300 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the 297 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
301 listing to the script specified in that property. Fix arg to 298 listing to the script specified in that property. Fix arg to
@@ -416,19 +413,19 @@
416 (FONT_ENTITY_SET_NOT_LOADABLE): New macros. 413 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
417 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring. 414 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
418 (struct font_driver): New member shape. 415 (struct font_driver): New member shape.
419 (font_registry_charsets): Extern. it. 416 (font_registry_charsets): Extern it.
420 (font_find_for_lface): Prototype adjusted. 417 (font_find_for_lface): Adjust prototype.
421 (font_prepare_composition): Likewise. 418 (font_prepare_composition): Likewise.
422 (font_otf_capability, font_drive_otf): Delete their externs. 419 (font_otf_capability, font_drive_otf): Delete their externs.
423 420
424 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>. 421 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
425 (font_charset_alist): Move from xfont.c and renamed. 422 (font_charset_alist): Move from xfont.c and rename.
426 (font_registry_charsets): Likewise. 423 (font_registry_charsets): Likewise.
427 (font_prop_validate_otf): New function. 424 (font_prop_validate_otf): New function.
428 (font_property_table): Register it for QCotf. 425 (font_property_table): Register it for QCotf.
429 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER) 426 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
430 (font_drive_otf): Delete. 427 (font_drive_otf): Delete.
431 (font_prepare_composition): New arg F. Adjusted for the change of 428 (font_prepare_composition): New arg F. Adjust for the change of
432 lispy gstring. 429 lispy gstring.
433 (font_find_for_lface): New arg C. 430 (font_find_for_lface): New arg C.
434 (font_load_for_face): Adjust for the change of font_find_for_lface. 431 (font_load_for_face): Adjust for the change of font_find_for_lface.
@@ -475,8 +472,8 @@
475 * xfaces.c (set_font_frame_param): Adjust for the change of 472 * xfaces.c (set_font_frame_param): Adjust for the change of
476 font_find_for_lface. 473 font_find_for_lface.
477 474
478 * xfont.c (x_font_charset_alist): Move to font.c and renamed. 475 * xfont.c (x_font_charset_alist): Move to font.c and rename.
479 (xfont_registry_charsets): Likewise. Caller changed. 476 (xfont_registry_charsets): Likewise. Change caller.
480 (syms_of_xfont): Don't handle x_font_charset_alist. 477 (syms_of_xfont): Don't handle x_font_charset_alist.
481 478
482 * xftfont.c: Include "ftfont.h". 479 * xftfont.c: Include "ftfont.h".
@@ -509,7 +506,7 @@
509 Define if not already. 506 Define if not already.
510 (QCfamily): Share with xfaces.c. 507 (QCfamily): Share with xfaces.c.
511 (Qstandard, Qsubpixel, Qnatural): New symbols. 508 (Qstandard, Qsubpixel, Qnatural): New symbols.
512 (syms_of_w32font): Define them. Don't define QCfamily here. 509 (syms_of_w32font): Define them. Don't define QCfamily here.
513 (w32_antialias_type, lispy_antialias_type): New functions. 510 (w32_antialias_type, lispy_antialias_type): New functions.
514 (w32_enumfont_pattern_entity): New arg requested_font. 511 (w32_enumfont_pattern_entity): New arg requested_font.
515 Set antialias parameter if non-default was requested. 512 Set antialias parameter if non-default was requested.
@@ -550,7 +547,7 @@
550 (syms_of_xftfont): Set xftfont_driver.end_for_frame. 547 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
551 548
552 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs. 549 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
553 Argument changed. Cache GCs in the per-frame data. 550 Change argument. Cache GCs in the per-frame data.
554 (struct ftxfont_frame_data): New struct. 551 (struct ftxfont_frame_data): New struct.
555 (ftxfont_draw_bitmap): New arg gc_fore and flush. 552 (ftxfont_draw_bitmap): New arg gc_fore and flush.
556 (ftxfont_prepare_face, ftxfont_done_face): Delete them. 553 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
@@ -707,7 +704,7 @@
707 704
708 * w32term.c (x_set_glyph_string_clipping): Use 705 * w32term.c (x_set_glyph_string_clipping): Use
709 get_glyph_string_clip_rects. 706 get_glyph_string_clip_rects.
710 (x_set_glyph_string_clipping_exactly): Adjusted for the change of 707 (x_set_glyph_string_clipping_exactly): Adjust for the change of
711 struct glyph_string. 708 struct glyph_string.
712 (x_draw_glyph_string): Likewise. 709 (x_draw_glyph_string): Likewise.
713 710
@@ -715,18 +712,18 @@
715 712
7162008-02-01 Kenichi Handa <handa@m17n.org> 7132008-02-01 Kenichi Handa <handa@m17n.org>
717 714
718 * xftfont.c (xftfont_draw): Adjusted for the change of struct 715 * xftfont.c (xftfont_draw): Adjust for the change of struct
719 glyph_string. 716 glyph_string.
720 717
721 * xterm.c (x_set_glyph_string_clipping): Use 718 * xterm.c (x_set_glyph_string_clipping): Use
722 get_glyph_string_clip_rects. 719 get_glyph_string_clip_rects.
723 (x_set_glyph_string_clipping_exactly): Adjusted for the change of 720 (x_set_glyph_string_clipping_exactly): Adjust for the change of
724 struct glyph_string. 721 struct glyph_string.
725 (x_draw_glyph_string): Likewise. 722 (x_draw_glyph_string): Likewise.
726 723
727 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to 724 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
728 the resulting clip(s}. 725 the resulting clip(s}.
729 (expose_overlaps): Add arg r. Callers changed. Set it ot 726 (expose_overlaps): Add arg r. Change callers. Set it to
730 row->clip temporarily. 727 row->clip temporarily.
731 (expose_window): Redraw rows overlapping the exposed area. 728 (expose_window): Redraw rows overlapping the exposed area.
732 729
@@ -825,7 +822,7 @@
825 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el. 822 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
826 (shortlisp): Add ../lisp/language/tai-viet.el. 823 (shortlisp): Add ../lisp/language/tai-viet.el.
827 824
8282008-02-01 Ulrich Mueller <ulm@gentoo.org> (tiny change) 8252008-02-01 Ulrich Mueller <ulm@gentoo.org>
829 826
830 * Makefile.in (${lispsource}international/charprop.el): Depend on 827 * Makefile.in (${lispsource}international/charprop.el): Depend on
831 temacs${EXEEXT}. 828 temacs${EXEEXT}.
@@ -887,23 +884,23 @@
887 (w32font_has_char): Use script Lisp symbols, not subrange bitmask. 884 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
888 (w32font_encode_char): Always return unicode code-point as-is. 885 (w32font_encode_char): Always return unicode code-point as-is.
889 (w32font_text_extents): Supply a tranformation matrix to 886 (w32font_text_extents): Supply a tranformation matrix to
890 GetGlyphOutline. Never look up by glyph index. Avoid looping 887 GetGlyphOutline. Never look up by glyph index. Avoid looping
891 twice. Use unicode version of GetTexExtentPoint32 instead of 888 twice. Use unicode version of GetTexExtentPoint32 instead of
892 glyph index version. 889 glyph index version.
893 (set_fonts_frame): Remove 890 (set_fonts_frame): Remove
894 (w32_enumfont_pattern_entity): Add frame parameter, use it to 891 (w32_enumfont_pattern_entity): Add frame parameter, use it to
895 set frame parameter. Use backward compatible fake foundries. 892 set frame parameter. Use backward compatible fake foundries.
896 Save generic family in extra slot under QCfamily. Make width slot 893 Save generic family in extra slot under QCfamily. Make width slot
897 constant. Save QCspacing value. Save list of scripts instead of 894 constant. Save QCspacing value. Save list of scripts instead of
898 binary subranges. 895 binary subranges.
899 (w32_generic_family, logfonts_match, font_matches_spec): New functions. 896 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
900 (add_font_entity_to_list): Use font_callback_data struct. Filter 897 (add_font_entity_to_list): Use font_callback_data struct. Filter
901 unwanted fonts. 898 unwanted fonts.
902 (add_one_font_entity_to_list): Use font_callback_data struct. 899 (add_one_font_entity_to_list): Use font_callback_data struct.
903 (w32_registry): Default to iso10646_1; 900 (w32_registry): Default to iso10646_1.
904 (fill_in_logfont): Use dpi from extra slot. Don't bother with 901 (fill_in_logfont): Use dpi from extra slot. Don't bother with
905 string font registries. Don't fill in font name if it is a generic 902 string font registries. Don't fill in font name if it is a generic
906 family name, fill family instead. Use spacing, family and script 903 family name, fill family instead. Use spacing, family and script
907 extra info to fill pitch, family and charset fields. 904 extra info to fill pitch, family and charset fields.
908 (list_all_matching_fonts): Use font_callback_data struct. 905 (list_all_matching_fonts): Use font_callback_data struct.
909 (unicode_range_for_char): Remove. 906 (unicode_range_for_char): Remove.
@@ -944,7 +941,7 @@
944 941
945 * font.c (font_put_extra): Expose externally. 942 * font.c (font_put_extra): Expose externally.
946 943
947 * font.h (font_put_extra): Moved declaration from font.c. 944 * font.h (font_put_extra): Move declaration from font.c.
948 945
949 * font.c (Ffont_get): Use font driver to determine otf capability. 946 * font.c (Ffont_get): Use font driver to determine otf capability.
950 (adjust_anchor): Check if driver defines anchor_point before using. 947 (adjust_anchor): Check if driver defines anchor_point before using.
@@ -957,7 +954,7 @@
957 expressed as lisp symbols. 954 expressed as lisp symbols.
958 (w32_registry): Express charset as lisp symbol. 955 (w32_registry): Express charset as lisp symbol.
959 (fill_in_logfont): Reverse pixel and point height logic. 956 (fill_in_logfont): Reverse pixel and point height logic.
960 Don't set width here. Set quality to default. 957 Don't set width here. Set quality to default.
961 958
962 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts. 959 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
963 (x_to_w32_font): Fill in lfPitchAndFamily correctly. 960 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
@@ -1027,21 +1024,20 @@
1027 * font.c (struct otf_list): Delete it. 1024 * font.c (struct otf_list): Delete it.
1028 (otf_list): Make it a lisp variable.. 1025 (otf_list): Make it a lisp variable..
1029 (otf_open): Use lispy otf_list. 1026 (otf_open): Use lispy otf_list.
1030 (generate_otf_features): Renamed from parse_gsub_gpos_spec. 1027 (generate_otf_features): Rename from parse_gsub_gpos_spec.
1031 (check_otf_features): New function. 1028 (check_otf_features): New function.
1032 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New 1029 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New
1033 functinos. 1030 functinos.
1034 (font_drive_otf): New function merging font_otf_gsub and 1031 (font_drive_otf): New function merging font_otf_gsub and
1035 font_otf_gpos. 1032 font_otf_gpos.
1036 (font_open_for_lface): New arg spec. Change argument order. 1033 (font_open_for_lface): New arg spec. Change argument order.
1037 (font_load_for_face): Adjusted for the change of 1034 (font_load_for_face): Adjust for the change of font_open_for_lface.
1038 font_open_for_lface.
1039 (Ffont_drive_otf): New function merging Ffont_otf_gsub and 1035 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
1040 Ffont_otf_gpos. 1036 Ffont_otf_gpos.
1041 (syms_of_font): Staticpro otf_list. Delete defsubr of 1037 (syms_of_font): Staticpro otf_list. Delete defsubr of
1042 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf. 1038 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
1043 1039
1044 * xfaces.c (set_font_frame_param): Adjusted for the change of 1040 * xfaces.c (set_font_frame_param): Adjust for the change of
1045 font_open_for_lface. 1041 font_open_for_lface.
1046 1042
1047 * font.h (font_open_for_lface): Adjust prototype. 1043 * font.h (font_open_for_lface): Adjust prototype.
@@ -1158,18 +1154,17 @@
1158 * regex.h (struct re_pattern_buffer): New member charset_unibyte. 1154 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
1159 1155
1160 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg 1156 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1161 multibyte. Callers changed. 1157 multibyte. Change callers.
1162 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros. 1158 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1163 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Deleted. Callers 1159 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
1164 changed to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE 1160 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
1165 respectively.
1166 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros. 1161 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
1167 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table. 1162 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
1168 (regex_compile): Make the compiled pattern usable both for 1163 (regex_compile): Make the compiled pattern usable both for
1169 multibyte and unibyte targets. 1164 multibyte and unibyte targets.
1170 (analyse_first): Make the fastmap usable both for multibyte and 1165 (analyse_first): Make the fastmap usable both for multibyte and
1171 unibyte targets. 1166 unibyte targets.
1172 (TRANSLATE_VIA_MULTIBYTE): Deleted. 1167 (TRANSLATE_VIA_MULTIBYTE): Delete.
1173 (re_match_2_internal): Pay attention to the case that the 1168 (re_match_2_internal): Pay attention to the case that the
1174 multibyteness of bufp and target may be different. 1169 multibyteness of bufp and target may be different.
1175 1170
@@ -1188,10 +1183,6 @@
1188 1183
11892008-02-01 Kenichi Handa <handa@m17n.org> 11842008-02-01 Kenichi Handa <handa@m17n.org>
1190 1185
1191 * fontset.c (Finternal_char_font): Fix previous change.
1192
11932008-02-01 Kenichi Handa <handa@m17n.org>
1194
1195 * fontset.c (Finternal_char_font): Fix for the case of POSITION 1186 * fontset.c (Finternal_char_font): Fix for the case of POSITION
1196 being nil. 1187 being nil.
1197 1188
@@ -1230,8 +1221,7 @@
1230 1221
12312008-02-01 Kenichi Handa <handa@m17n.org> 12222008-02-01 Kenichi Handa <handa@m17n.org>
1232 1223
1233 * ftfont.c (ftfont_pattern_entity): Check if FC_FONTFORMAT is 1224 * ftfont.c (ftfont_pattern_entity): Check if FC_FONTFORMAT is defined.
1234 defined.
1235 (ftfont_list_generic_family, ftfont_list, ftfont_font_format): 1225 (ftfont_list_generic_family, ftfont_list, ftfont_font_format):
1236 Likewise. 1226 Likewise.
1237 1227
@@ -1271,22 +1261,19 @@
1271 1261
1272 * xdisp.c (get_next_display_element): Set it->face_id for the 1262 * xdisp.c (get_next_display_element): Set it->face_id for the
1273 first component of a composition. 1263 first component of a composition.
1274 (x_produce_glyphs): Check if the font is changed or not for 1264 (x_produce_glyphs): Check if the font is changed or not for composition.
1275 composition.
1276 1265
12772008-02-01 Kenichi Handa <handa@m17n.org> 12662008-02-01 Kenichi Handa <handa@m17n.org>
1278 1267
1279 (get_next_display_element): Set it->face_id for the 1268 (get_next_display_element): Set it->face_id for the
1280 first component of a composition. 1269 first component of a composition.
1281 (x_produce_glyphs): Check if the font is changed or not for 1270 (x_produce_glyphs): Check if the font is changed or not for composition.
1282 composition.
1283 1271
12842008-02-01 Kenichi Handa <handa@m17n.org> 12722008-02-01 Kenichi Handa <handa@m17n.org>
1285 1273
1286 * fontset.c (Qlatin): New variable. 1274 * fontset.c (Qlatin): New variable.
1287 (syms_of_fontset): Define it as a lisp symbol. 1275 (syms_of_fontset): Define it as a lisp symbol.
1288 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for 1276 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
1289 ASCII.
1290 1277
12912008-02-01 Kenichi Handa <handa@m17n.org> 12782008-02-01 Kenichi Handa <handa@m17n.org>
1292 1279
@@ -1323,20 +1310,18 @@
1323 1310
13242008-02-01 Kenichi Handa <handa@m17n.org> 13112008-02-01 Kenichi Handa <handa@m17n.org>
1325 1312
1326 * composite.c (get_composition_id): Pay attention to TAB 1313 * composite.c (get_composition_id): Pay attention to TAB component.
1327 component.
1328 1314
1329 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw 1315 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1330 TAB. Adjusted for the change of s->char2b which always points to 1316 TAB. Adjust for the change of s->char2b which always points to
1331 the first elememnt of allocated memory. 1317 the first elememnt of allocated memory.
1332 1318
1333 * xftfont.c (xftfont_text_extents): Fix calculation of descent 1319 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
1334 value.
1335 1320
1336 * xdisp.c (handle_composition_prop): Set it->c to the first 1321 * xdisp.c (handle_composition_prop): Set it->c to the first
1337 non-TAB component. 1322 non-TAB component.
1338 (fill_composite_glyph_string): Argument changed. 1323 (fill_composite_glyph_string): Change argument.
1339 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the above change. 1324 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
1340 (x_produce_glyphs): Fix handling of left/right padding. 1325 (x_produce_glyphs): Fix handling of left/right padding.
1341 1326
13422008-02-01 Kenichi Handa <handa@m17n.org> 13272008-02-01 Kenichi Handa <handa@m17n.org>
@@ -1347,7 +1332,7 @@
1347 1332
13482008-02-01 Kenichi Handa <handa@m17n.org> 13332008-02-01 Kenichi Handa <handa@m17n.org>
1349 1334
1350 * font.c (font_matching_entity): Dolete unused local var. 1335 * font.c (font_matching_entity): Delete unused local var.
1351 1336
1352 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before 1337 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
1353 opening a font. 1338 opening a font.
@@ -1364,19 +1349,18 @@
1364 1349
13652008-02-01 Kenichi Handa <handa@m17n.org> 13502008-02-01 Kenichi Handa <handa@m17n.org>
1366 1351
1367 * alloc.c (NSTATICS): Increased to 0x600. 1352 * alloc.c (NSTATICS): Increas to 0x600.
1368 1353
13692008-02-01 Kenichi Handa <handa@m17n.org> 13542008-02-01 Kenichi Handa <handa@m17n.org>
1370 1355
1371 * ftfont.c (ftfont_driver): Set ftfont_driver.match to 1356 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
1372 ftfont_match.
1373 (ftfont_list): Don't check :name property. 1357 (ftfont_list): Don't check :name property.
1374 (ftfont_match): New function. 1358 (ftfont_match): New function.
1375 (ftfont_pattern_entity): If the pattern doesn't contain 1359 (ftfont_pattern_entity): If the pattern doesn't contain
1376 FC_SPACING, don't assuce FC_MONO. 1360 FC_SPACING, don't assuce FC_MONO.
1377 1361
1378 * font.h (struct font_driver): New member `match'. 1362 * font.h (struct font_driver): New member `match'.
1379 (font_update_drivers): Prototype adjusted. 1363 (font_update_drivers): Adjust prototype.
1380 1364
1381 * font.c (font_parse_fcname): Don't change :name property of FONT. 1365 * font.c (font_parse_fcname): Don't change :name property of FONT.
1382 (font_parse_name): Likewise. 1366 (font_parse_name): Likewise.
@@ -1390,10 +1374,8 @@
1390 Don't store data in frame parameters. Don't call x_set_font. 1374 Don't store data in frame parameters. Don't call x_set_font.
1391 (Ffont_spec): Store :name property as is. 1375 (Ffont_spec): Store :name property as is.
1392 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability. 1376 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1393 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of 1377 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
1394 font_otf_gsub. 1378 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
1395 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of
1396 font_otf_gpos.
1397 (Ffont_otf_alternates): Check if the driver has otf_gsub function. 1379 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
1398 Call font->driver->otf_gsub instead of font_otf_gsub. 1380 Call font->driver->otf_gsub instead of font_otf_gsub.
1399 1381
@@ -1414,11 +1396,10 @@
1414 1396
1415 * font.h (struct font): New member scalable. 1397 * font.h (struct font): New member scalable.
1416 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub. 1398 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1417 (font_otf_gsub): Prototype adjusted. 1399 (font_otf_gsub): Adjust prototype.
1418 1400
1419 * font.c (font_otf_capability): Fix handling of the default 1401 * font.c (font_otf_capability): Fix handling of the default langsys.
1420 langsys. 1402 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
1421 (parse_gsub_gpos_spec): Type changed to void. New arg nbytes.
1422 Check the contents of SPEC. 1403 Check the contents of SPEC.
1423 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros. 1404 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
1424 (check_gstring): New function. 1405 (check_gstring): New function.
@@ -1506,8 +1487,7 @@
1506 1487
1507 * xdisp.c (it_props): Move the entry for Qauto_composed to just 1488 * xdisp.c (it_props): Move the entry for Qauto_composed to just
1508 before the entry for Qcompostion. 1489 before the entry for Qcompostion.
1509 (handle_auto_composed_prop): Call auto-composition-function with 4 1490 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
1510 args.
1511 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from 1491 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
1512 the font in gstring. 1492 the font in gstring.
1513 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check 1493 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
@@ -1535,20 +1515,18 @@
1535 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format. 1515 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
1536 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros. 1516 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
1537 1517
1538 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild 1518 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
1539 card.
1540 (DEVICE_DELTA): Fix typo. 1519 (DEVICE_DELTA): Fix typo.
1541 (font_otf_gpos): Adjusted for the change of LGLYPH format. 1520 (font_otf_gpos): Adjust for the change of LGLYPH format.
1542 (font_prepare_composition): Likewise. 1521 (font_prepare_composition): Likewise.
1543 1522
1544 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for 1523 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
1545 the change of LGLYPH format. 1524 the change of LGLYPH format.
1546 1525
15472008-02-01 Kenichi Handa <handa@m17n.org> 15262008-02-01 Kenichi Handa <handa@m17n.org>
1548 1527
1549 * ftfont.c (ftfont_list): Fix typo. 1528 * ftfont.c (ftfont_list): Fix typo.
1550 (ftfont_build_basic_charsets): Don't include letters with 1529 (ftfont_build_basic_charsets): Don't include letters with diacritics.
1551 diactrics.
1552 1530
15532008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 15312008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
1554 1532
@@ -1560,12 +1538,11 @@
15602008-02-01 Kenichi Handa <handa@m17n.org> 15382008-02-01 Kenichi Handa <handa@m17n.org>
1561 1539
1562 * ftfont.c (ftfont_list): Fix typo. 1540 * ftfont.c (ftfont_list): Fix typo.
1563 (ftfont_build_basic_charsets): Don't include letters with 1541 (ftfont_build_basic_charsets): Don't include letters with diactrics.
1564 diactrics.
1565 1542
15662008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 15432008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
1567 1544
1568 * ftfont.c (ftfont_list): Move misplaced #endif 1545 * ftfont.c (ftfont_list): Move misplaced #endif.
1569 1546
15702008-02-01 Kenichi Handa <handa@m17n.org> 15472008-02-01 Kenichi Handa <handa@m17n.org>
1571 1548
@@ -1576,8 +1553,8 @@
1576 1553
1577 * xftfont.c (xftfont_open): Set charset related members to -1. 1554 * xftfont.c (xftfont_open): Set charset related members to -1.
1578 1555
1579 * ftfont.c (ftfont_list): Handle QCotf property. Handling of 1556 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
1580 QCname fixed. 1557 QCname.
1581 (ftfont_open): Set charset related members to -1. 1558 (ftfont_open): Set charset related members to -1.
1582 1559
1583 * fontset.c (Votf_script_alist): New variable. 1560 * fontset.c (Votf_script_alist): New variable.
@@ -1586,7 +1563,7 @@
1586 1563
1587 * fontset.h (Votf_script_alist): Extern it. 1564 * fontset.h (Votf_script_alist): Extern it.
1588 1565
1589 * font.c (font_find_for_lface): Code optimized. 1566 * font.c (font_find_for_lface): Optimize code.
1590 1567
1591 * font.h (font_close_object, font_merge_old_spec): Extern them. 1568 * font.h (font_close_object, font_merge_old_spec): Extern them.
1592 1569
@@ -1595,46 +1572,39 @@
1595 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables. 1572 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
1596 (syms_of_font): Initialize them. 1573 (syms_of_font): Initialize them.
1597 (font_pixel_size): Allow float value in dpi. 1574 (font_pixel_size): Allow float value in dpi.
1598 (font_prop_validate_type): Deleted. 1575 (font_prop_validate_type): Delete.
1599 (font_prop_validate_symbol, font_prop_validate_style): Argument 1576 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
1600 changed. Caller changed. 1577 Change caller.
1601 (font_prop_validate_non_neg): Renamed from 1578 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
1602 font_prop_validate_size. 1579 (font_prop_validate_extra): Delete.
1603 (font_prop_validate_extra): Deleted.
1604 (font_prop_validate_spacing): New function. 1580 (font_prop_validate_spacing): New function.
1605 (font_property_table): Add elements for all known properties. 1581 (font_property_table): Add elements for all known properties.
1606 (get_font_prop_index): Renamed from check_font_prop_name. New 1582 (get_font_prop_index): Rename from check_font_prop_name. New
1607 argument FROM. Caller changed. 1583 argument FROM. Change caller.
1608 (font_prop_validate): Validate all known properties. 1584 (font_prop_validate): Validate all known properties.
1609 (font_put_extra): Argument force deleted. Caller changed. 1585 (font_put_extra): Delete argument force. Change caller.
1610 (font_expand_wildcards): Make it static. Fix the way of shrinking 1586 (font_expand_wildcards): Make it static. Fix the way of shrinking
1611 the possible range. 1587 the possible range.
1612 (font_parse_xlfd): Arguemnt merge deleted. Fix handling of RESX, 1588 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
1613 RESY, SPACING, and AVGWIDTH. Don't validate property values here. 1589 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1614 Caller changed. 1590 Change caller.
1615 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties. 1591 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1616 (font_parse_fcname): Arguemnt merge deleted. Fix parsing of point 1592 (font_parse_fcname): Delete argument merge. Fix parsing of point
1617 size. Don't validate properties values here. Caller changed. 1593 size. Don't validate properties values here. Change caller.
1618 (font_unparse_fcname): Handle dpi, spacing, and scalable 1594 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
1619 properties.
1620 (font_open_by_name): Delete unused variable. 1595 (font_open_by_name): Delete unused variable.
1621 (Ffont_spec): Likewise. Validate property values. 1596 (Ffont_spec): Likewise. Validate property values.
1622 (Ffont_match_p): New function. 1597 (Ffont_match_p): New function.
1623 1598
1624 * font.h (QCscalable): Extern it. 1599 * font.h (QCscalable): Extern it.
1625 (font_parse_xlfd, font_parse_fcname): Prototype adjusted. 1600 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
1626 1601
1627 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and 1602 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
1628 scalable.
1629 1603
1630 * xfont.c (xfont_query_font): Adjusted for the change of 1604 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
1631 font_parse_xlfd.
1632 (xfont_list_pattern): New function. 1605 (xfont_list_pattern): New function.
1633 (xfont_list): Use xfont_list_pattern. 1606 (xfont_list): Use xfont_list_pattern.
1634 1607
1635 * xftfont.c (xftfont_prepare_face): Cancel previous change.
1636 (xftfont_done_face): Likewise.
1637
16382008-02-01 Kenichi Handa <handa@m17n.org> 16082008-02-01 Kenichi Handa <handa@m17n.org>
1639 1609
1640 * font.h (Flist_fonts): EXFUN it. 1610 * font.h (Flist_fonts): EXFUN it.
@@ -1655,10 +1625,6 @@
1655 (font_has_char): Accept font-object too. 1625 (font_has_char): Accept font-object too.
1656 (font_find_for_lface): Try at first with a size specified in face. 1626 (font_find_for_lface): Try at first with a size specified in face.
1657 1627
1658 * xftfont.c (xftfont_prepare_face): Make non-ascii face share
1659 face->extra with ascii face.
1660 (xftfont_done_face): Don't free face->extra of non-ascii face.
1661
16622008-02-01 Kenichi Handa <handa@m17n.org> 16282008-02-01 Kenichi Handa <handa@m17n.org>
1663 1629
1664 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to 1630 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
@@ -1680,15 +1646,14 @@
1680 (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix 1646 (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix
1681 handling font size. Add QCname property that contains only 1647 handling font size. Add QCname property that contains only
1682 unknown properties. 1648 unknown properties.
1683 (font_score): Change argument. Caller changed. Pay attention to 1649 (font_score): Change argument. Change caller. Pay attention to
1684 FONT_PIXEL_SIZE_QUANTUM. 1650 FONT_PIXEL_SIZE_QUANTUM.
1685 (font_sort_entites): Fix handling of font size. 1651 (font_sort_entites): Fix handling of font size.
1686 (font_list_entities): Likewise. 1652 (font_list_entities): Likewise.
1687 (font_find_for_lface): Likewise. 1653 (font_find_for_lface): Likewise.
1688 (font_open_for_lface): Likewise. 1654 (font_open_for_lface): Likewise.
1689 (font_open_by_name): Likewise. 1655 (font_open_by_name): Likewise.
1690 (Ffont_spec): Add QCname property that contains only unknown 1656 (Ffont_spec): Add QCname property that contains only unknown properties.
1691 properties.
1692 1657
1693 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't 1658 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
1694 include weight in listing pattern, instead check weight of each 1659 include weight in listing pattern, instead check weight of each
@@ -1698,8 +1663,7 @@
16982008-02-01 Kenichi Handa <handa@m17n.org> 16632008-02-01 Kenichi Handa <handa@m17n.org>
1699 1664
1700 * font.c (font_parse_fcname): Fix parsing of point-size. 1665 * font.c (font_parse_fcname): Fix parsing of point-size.
1701 (font_unparse_fcname): Produce symbolic names for style 1666 (font_unparse_fcname): Produce symbolic names for style properties.
1702 properties.
1703 (font_list_entities): Handle float size correctly. 1667 (font_list_entities): Handle float size correctly.
1704 (font_open_by_name): Prefer `normal' property values if the name 1668 (font_open_by_name): Prefer `normal' property values if the name
1705 doesn't specify them. 1669 doesn't specify them.
@@ -1720,10 +1684,10 @@
1720 1684
17212008-02-01 Kenichi Handa <handa@m17n.org> 16852008-02-01 Kenichi Handa <handa@m17n.org>
1722 1686
1723 * font.h (struct font_driver): Member parse_name deleted. 1687 * font.h (struct font_driver): Delete member parse_name.
1724 (font_match_p, font_get_spec, font_parse_fcname) 1688 (font_match_p, font_get_spec, font_parse_fcname)
1725 (font_unparse_fcname): Extern them. 1689 (font_unparse_fcname): Extern them.
1726 (font_get_name): Prototype adjusted. 1690 (font_get_name): Adjust prototype.
1727 1691
1728 * font.c (XLFD_SMALLNUM_MASK): Delete this macro. 1692 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
1729 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it. 1693 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
@@ -1733,7 +1697,7 @@
1733 (font_unparse_fcname): New function. 1697 (font_unparse_fcname): New function.
1734 (font_parse_name): New function. 1698 (font_parse_name): New function.
1735 (font_match_p): New function. 1699 (font_match_p): New function.
1736 (font_get_name): Return value changed to Lisp string. 1700 (font_get_name): Change return value to Lisp string.
1737 (font_get_spec): New function. 1701 (font_get_spec): New function.
1738 (Qunspecified, Qignore_defface): Don't extern them. 1702 (Qunspecified, Qignore_defface): Don't extern them.
1739 (font_find_for_lface): Assume that LFACE is fully specified. 1703 (font_find_for_lface): Assume that LFACE is fully specified.
@@ -1743,27 +1707,26 @@
1743 driver->parse_name. 1707 driver->parse_name.
1744 (Ffont_spec): Call font_parse_name, not font_parse_xlfd. 1708 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
1745 1709
1746 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Prototype 1710 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
1747 adjusted. 1711 prototype.
1748 1712
1749 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Argument F 1713 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
1750 deleted. Don't call Fnew_fontset. Instead, directly call 1714 argument F. Don't call Fnew_fontset. Instead, directly call
1751 make_fontset. 1715 make_fontset.
1752 1716
1753 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Prototype adjusted. 1717 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
1754 1718
1755 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjusted for the change 1719 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
1756 of x_new_fontset2. 1720 of x_new_fontset2.
1757 1721
1758 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans) 1722 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
1759 (Qsans__serif): New variables. 1723 (Qsans__serif): New variables.
1760 (ftfont_generic_family_list): New variable. 1724 (ftfont_generic_family_list): New variable.
1761 (syms_of_ftfont): Initialize the above variables. 1725 (syms_of_ftfont): Initialize the above variables.
1762 (ftfont_pattern_entity): Argument NAME deleted. 1726 (ftfont_pattern_entity): Delete argument NAME.
1763 (ftfont_list_generic_family): New function. 1727 (ftfont_list_generic_family): New function.
1764 (ftfont_parse_name): Delete this function. 1728 (ftfont_parse_name): Delete this function.
1765 (ftfont_list): Try generic family only when FcFontList found no 1729 (ftfont_list): Try generic family only when FcFontList found no font.
1766 font.
1767 (ftfont_list_family): Fix args to FcObjectSetBuild. 1730 (ftfont_list_family): Fix args to FcObjectSetBuild.
1768 1731
1769 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font 1732 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
@@ -1804,7 +1767,7 @@
1804 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to 1767 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
1805 XLFD_XXX_INDEX. 1768 XLFD_XXX_INDEX.
1806 (enum xlfd_field_mask): New enum. 1769 (enum xlfd_field_mask): New enum.
1807 (intern_font_field): Argument changed. Caller changed. If digits 1770 (intern_font_field): Changed argument. Change caller. If digits
1808 are followed by non-digits, return a symbol. 1771 are followed by non-digits, return a symbol.
1809 (font_expand_wildcards): New function. 1772 (font_expand_wildcards): New function.
1810 (font_parse_xlfd): Fix wildcard handling. 1773 (font_parse_xlfd): Fix wildcard handling.
@@ -1819,8 +1782,7 @@
1819 1782
1820 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them. 1783 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
1821 1784
1822 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved from 1785 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
1823 ftfont.c.
1824 (font_unparse_xlfd): Fix argument type declaration. Append "*" if 1786 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
1825 registry doesn't specify encoding part. 1787 registry doesn't specify encoding part.
1826 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX. 1788 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
@@ -1837,8 +1799,7 @@
1837 font name. 1799 font name.
1838 (fontset_ascii_font): If a font can't be opened, return nil. 1800 (fontset_ascii_font): If a font can't be opened, return nil.
1839 1801
1840 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Moved to 1802 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
1841 font.c.
1842 (ftfont_pattern_entity): New function. 1803 (ftfont_pattern_entity): New function.
1843 (ftfont_get_cache): Assume that freetype_font_cache is already 1804 (ftfont_get_cache): Assume that freetype_font_cache is already
1844 initialized. 1805 initialized.
@@ -1863,8 +1824,7 @@
1863 1824
18642008-02-01 Kenichi Handa <handa@m17n.org> 18252008-02-01 Kenichi Handa <handa@m17n.org>
1865 1826
1866 * emacs.c (main): Check -enable-font-backend arg after the check 1827 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
1867 of -nl.
1868 (standard_args): Add "-enable-font-backend". 1828 (standard_args): Add "-enable-font-backend".
1869 1829
18702008-02-01 Kenichi Handa <handa@m17n.org> 18302008-02-01 Kenichi Handa <handa@m17n.org>
@@ -1892,11 +1852,9 @@
1892 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and 1852 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
1893 @LIBOTF_LIBS@. 1853 @LIBOTF_LIBS@.
1894 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets. 1854 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1895 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depends on 1855 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
1896 $(FONTSRC).
1897 1856
1898 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New 1857 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
1899 files.
1900 1858
1901 * character.h (Vscript_representative_chars): Extern it. 1859 * character.h (Vscript_representative_chars): Extern it.
1902 1860
@@ -1937,8 +1895,7 @@
1937 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it. 1895 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
1938 1896
1939 * frame.c [USE_FONT_BACKEND]: Include "font.h". 1897 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1940 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend 1898 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
1941 mechanism.
1942 1899
1943 * lisp.h (assoc_no_quit): Extern it. 1900 * lisp.h (assoc_no_quit): Extern it.
1944 1901
@@ -1961,12 +1918,10 @@
1961 (Finternal_set_font_selection_order, realize_x_face) 1918 (Finternal_set_font_selection_order, realize_x_face)
1962 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use 1919 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
1963 font-backend mechanism. 1920 font-backend mechanism.
1964 (clear_face_cache) [USE_FONT_BACKEND]: Don't call 1921 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
1965 clear_font_table.
1966 (load_face_font) [USE_FONT_BACKEND]: Abort. 1922 (load_face_font) [USE_FONT_BACKEND]: Abort.
1967 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant) 1923 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1968 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New 1924 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
1969 functions.
1970 1925
1971 * xfns.c [USE_FONT_BACKEND]: Include "font.h". 1926 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
1972 (x_default_font_parameter) [USE_FONT_BACKEND]: New function. 1927 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
@@ -2033,8 +1988,7 @@
2033 detect_coding. 1988 detect_coding.
2034 (emacs_mule_char): Handle old style (Emacs 20) component character 1989 (emacs_mule_char): Handle old style (Emacs 20) component character
2035 of a composition. 1990 of a composition.
2036 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Fix parsing a composition 1991 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Fix parsing a composition rule.
2037 rule.
2038 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise. 1992 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
2039 (decode_coding_emacs_mule): Handle invalid bytes correctly. 1993 (decode_coding_emacs_mule): Handle invalid bytes correctly.
2040 1994
@@ -2050,8 +2004,6 @@
2050 2004
20512008-02-01 Kenichi Handa <handa@m17n.org> 20052008-02-01 Kenichi Handa <handa@m17n.org>
2052 2006
2053 * coding.c (decode_coding): Fix previous change.
2054
2055 * xterm.c (x_set_glyph_string_clipping_exactly): Set 2007 * xterm.c (x_set_glyph_string_clipping_exactly): Set
2056 src->clip_head and src->clip_tail temporarily instead of src->hl. 2008 src->clip_head and src->clip_tail temporarily instead of src->hl.
2057 2009
@@ -2061,8 +2013,7 @@
2061 2013
20622008-02-01 Kenichi Handa <handa@m17n.org> 20142008-02-01 Kenichi Handa <handa@m17n.org>
2063 2015
2064 * search.c (search_buffer): Fix handling of "\\" in a trivial 2016 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
2065 regexp.
2066 2017
20672008-02-01 Kenichi Handa <handa@m17n.org> 20182008-02-01 Kenichi Handa <handa@m17n.org>
2068 2019
@@ -2072,8 +2023,7 @@
20722008-02-01 Kenichi Handa <handa@m17n.org> 20232008-02-01 Kenichi Handa <handa@m17n.org>
2073 2024
2074 * data.c (Faset): On setting a character bigger than 255 in a 2025 * data.c (Faset): On setting a character bigger than 255 in a
2075 unibyte string, signal an error instead of make the string 2026 unibyte string, signal an error instead of make the string multibyte.
2076 multibyte.
2077 2027
20782008-02-01 Kenichi Handa <handa@m17n.org> 20282008-02-01 Kenichi Handa <handa@m17n.org>
2079 2029
@@ -2096,8 +2046,7 @@
2096 (x_draw_glyph_string): Fix drawing of right_overhang and 2046 (x_draw_glyph_string): Fix drawing of right_overhang and
2097 left_overhang around/on cursor. 2047 left_overhang around/on cursor.
2098 2048
2099 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting 2049 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
2100 glyphs.
2101 2050
21022008-02-01 Kenichi Handa <handa@m17n.org> 20512008-02-01 Kenichi Handa <handa@m17n.org>
2103 2052
@@ -2116,8 +2065,7 @@
2116 * coding.c (Qcoding_system_define_form): New variable. 2065 * coding.c (Qcoding_system_define_form): New variable.
2117 (syms_of_coding): Intern and staticpro it. 2066 (syms_of_coding): Intern and staticpro it.
2118 (Fcoding_system_p): Check Qcoding_system_define_form. 2067 (Fcoding_system_p): Check Qcoding_system_define_form.
2119 (Fcheck_coding_system): Try to autoload the definition of 2068 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
2120 CODING-SYSTEM.
2121 2069
2122 * coding.h (CODING_SYSTEM_P): If ID is not available, call 2070 * coding.h (CODING_SYSTEM_P): If ID is not available, call
2123 Fcoding_system_p. 2071 Fcoding_system_p.
@@ -2148,9 +2096,8 @@
2148 * search.c (search_buffer): Give up BM search on case-fold-search 2096 * search.c (search_buffer): Give up BM search on case-fold-search
2149 if one of a target character has a case-equivalence of different 2097 if one of a target character has a case-equivalence of different
2150 byte length even if that target charcter is an ASCII. 2098 byte length even if that target charcter is an ASCII.
2151 (simple_search): Fix culculation of byte length of matched text. 2099 (simple_search): Fix calculation of byte length of matched text.
2152 (boyer_moore): Fix handling of case-equivalent multibyte 2100 (boyer_moore): Fix handling of case-equivalent multibyte characters.
2153 characters.
2154 2101
21552008-02-01 Kenichi Handa <handa@m17n.org> 21022008-02-01 Kenichi Handa <handa@m17n.org>
2156 2103
@@ -2185,8 +2132,7 @@
2185 2132
21862008-02-01 Kenichi Handa <handa@m17n.org> 21332008-02-01 Kenichi Handa <handa@m17n.org>
2187 2134
2188 * Makefile.in (shortlisp): Cancel previous change. 2135 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
2189 (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
2190 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally. 2136 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
2191 (UNIDATA): New variable. 2137 (UNIDATA): New variable.
2192 (${lispsource}international/charprop.el): Depends on ${UNIDATA}. 2138 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
@@ -2195,14 +2141,13 @@
2195 2141
21962008-02-01 Kenichi Handa <handa@m17n.org> 21422008-02-01 Kenichi Handa <handa@m17n.org>
2197 2143
2198 * Makefile.in (shortlisp): Add ../lisp/international/charprop.el. 2144 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
2199 (temacs${EXEEXT}): Build charprop.el if necessary.
2200 (admindir): New variable. 2145 (admindir): New variable.
2201 ($(lispsource)international/charprop.el): New target. 2146 ($(lispsource)international/charprop.el): New target.
2202 2147
22032008-02-01 Miles Bader <miles@gnu.org> 21482008-02-01 Miles Bader <miles@gnu.org>
2204 2149
2205 * character.c (chars-in-region): Obsolete function removed. 2150 * character.c (chars-in-region): Remove obsolete function.
2206 (syms_of_character): Remove its initialization. 2151 (syms_of_character): Remove its initialization.
2207 2152
22082008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net> 21532008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
@@ -2214,15 +2159,14 @@
2214 (setup_config, Fw32_get_clipboard_data): Use 2159 (setup_config, Fw32_get_clipboard_data): Use
2215 validate_coding_system. 2160 validate_coding_system.
2216 (Fx_selection_exists): Move call to setup_config to a place 2161 (Fx_selection_exists): Move call to setup_config to a place
2217 were signals are allowed. 2162 where signals are allowed.
2218 2163
2219 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type) 2164 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
2220 (Fcheck_coding_system): Add declarations. 2165 (Fcheck_coding_system): Add declarations.
2221 2166
22222008-02-01 Kenichi Handa <handa@m17n.org> 21672008-02-01 Kenichi Handa <handa@m17n.org>
2223 2168
2224 * charset.c (load_charset_map_from_vector): Fix for the first 2169 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
2225 iteration.
2226 2170
22272008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 21712008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2228 2172
@@ -2236,8 +2180,7 @@
2236 2180
22372008-02-01 Kenichi Handa <handa@m17n.org> 21812008-02-01 Kenichi Handa <handa@m17n.org>
2238 2182
2239 * fontset.c (Fset_fontset_font): Check family element of a given 2183 * fontset.c (Fset_fontset_font): Check family element of a given vector.
2240 vector.
2241 2184
2242 * Makefile.in (lisp): Include charprop.el. 2185 * Makefile.in (lisp): Include charprop.el.
2243 2186
@@ -2250,7 +2193,7 @@
2250 2193
2251 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out 2194 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
2252 some possibly unnecessary fontset checking code that crashed 2195 some possibly unnecessary fontset checking code that crashed
2253 when creating a new frame 2196 when creating a new frame.
2254 2197
22552008-02-01 Kenichi Handa <handa@m17n.org> 21982008-02-01 Kenichi Handa <handa@m17n.org>
2256 2199
@@ -2259,8 +2202,7 @@
2259 2202
2260 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face. 2203 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
2261 2204
2262 * fringe.c (draw_fringe_bitmap_1): Fix argument to 2205 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
2263 lookup_named_face.
2264 2206
22652008-02-01 Kenichi Handa <handa@m17n.org> 22072008-02-01 Kenichi Handa <handa@m17n.org>
2266 2208
@@ -2297,9 +2239,9 @@
2297 2239
2298 * fontset.c (fs_load_font): Use fast_string_match_ignore_case 2240 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
2299 instead of fast_c_string_match_ignore_case. 2241 instead of fast_c_string_match_ignore_case.
2300 (find_font_encoding): Argument changed to Lisp_Object. Use 2242 (find_font_encoding): Change argument to Lisp_Object. Use
2301 fast_string_match_ignore_case instead of 2243 fast_string_match_ignore_case instead of
2302 fast_c_string_match_ignore_case. Caller changed. 2244 fast_c_string_match_ignore_case. Change caller.
2303 2245
23042008-02-01 Kenichi Handa <handa@m17n.org> 22462008-02-01 Kenichi Handa <handa@m17n.org>
2305 2247
@@ -2307,8 +2249,7 @@
2307 display in octal form by checking a chacter by 2249 display in octal form by checking a chacter by
2308 UNIBYTE_CHAR_HAS_MULTIBYTE_P. 2250 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
2309 2251
2310 * charset.c (Fset_unibyte_charset): Setup 2252 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
2311 unibyte_has_multibyte_table.
2312 2253
2313 * character.c (unibyte_has_multibyte_table): New variable. 2254 * character.c (unibyte_has_multibyte_table): New variable.
2314 2255
@@ -2317,10 +2258,6 @@
2317 2258
23182008-02-01 Kenichi Handa <handa@m17n.org> 22592008-02-01 Kenichi Handa <handa@m17n.org>
2319 2260
2320 * callproc.c (Fcall_process): Fix merging of 2008-02-01 change.
2321
23222008-02-01 Kenichi Handa <handa@m17n.org>
2323
2324 * coding.c (encode_coding_iso_2022): Fix handling of charset 2261 * coding.c (encode_coding_iso_2022): Fix handling of charset
2325 annotation. 2262 annotation.
2326 2263
@@ -2338,8 +2275,6 @@
2338 * xdisp.c (message_dolog, set_message_1): Call 2275 * xdisp.c (message_dolog, set_message_1): Call
2339 unibyte_char_to_multibyte with arg type int. 2276 unibyte_char_to_multibyte with arg type int.
2340 2277
2341 * fileio.c (Fsubstitute_in_file_name): Fix previous change.
2342
2343 * lread.c (read1): Fix reading of a char-table. 2278 * lread.c (read1): Fix reading of a char-table.
2344 2279
2345 * print.c (print_object): Include sub char-table in cicularities 2280 * print.c (print_object): Include sub char-table in cicularities
@@ -2348,8 +2283,7 @@
23482008-02-01 Kenichi Handa <handa@m17n.org> 22832008-02-01 Kenichi Handa <handa@m17n.org>
2349 2284
2350 * keymap.c (where_is_internal_2): Fix for the case that KEY is a 2285 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
2351 cons. Append the found sequences in car of ARGS instead of 2286 cons. Append the found sequences in car of ARGS instead of prepending.
2352 prepending.
2353 2287
23542008-02-01 Kenichi Handa <handa@m17n.org> 22882008-02-01 Kenichi Handa <handa@m17n.org>
2355 2289
@@ -2364,14 +2298,9 @@
2364 2298
23652008-02-01 Kenichi Handa <handa@m17n.org> 22992008-02-01 Kenichi Handa <handa@m17n.org>
2366 2300
2367 * coding.c (detect_coding): Fix previous change.
2368
23692008-02-01 Kenichi Handa <handa@m17n.org>
2370
2371 * coding.c (detect_coding_utf_16): Don't set detect_info->found if 2301 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
2372 BOM is not found. 2302 BOM is not found.
2373 (detect_coding): Optimization for ISO-2022 when no 8-bit data is 2303 (detect_coding): Optimization for ISO-2022 when no 8-bit data is found.
2374 found.
2375 (detect_coding_system): Likewise. 2304 (detect_coding_system): Likewise.
2376 2305
23772008-02-01 Jason Rumney <jasonr@gnu.org> 23062008-02-01 Jason Rumney <jasonr@gnu.org>
@@ -2388,10 +2317,10 @@
2388 * macterm.c (mac_encode_char): Add charset argument and update 2317 * macterm.c (mac_encode_char): Add charset argument and update
2389 to use encoding_type. 2318 to use encoding_type.
2390 (x_new_font,x_new_fontset): Merge in changes from xterm.c; 2319 (x_new_font,x_new_fontset): Merge in changes from xterm.c;
2391 switch to pure fontset 2320 switch to pure fontset.
2392 (decode_mac_font_name): Temporarily remove decoding 2321 (decode_mac_font_name): Temporarily remove decoding.
2393 (x_font_name_to_mac_font_name): Temporarily remove encoding 2322 (x_font_name_to_mac_font_name): Temporarily remove encoding.
2394 (x_load_font): Temporarily remove encoding 2323 (x_load_font): Temporarily remove encoding.
2395 2324
23962008-02-01 Kenichi Handa <handa@m17n.org> 23252008-02-01 Kenichi Handa <handa@m17n.org>
2397 2326
@@ -2406,9 +2335,9 @@
2406 2335
2407 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL. 2336 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
2408 (x_produce_glyphs): Fix setting of members of cmp in case 2337 (x_produce_glyphs): Fix setting of members of cmp in case
2409 cmp->glyph_len is zero, 2338 cmp->glyph_len is zero.
2410 2339
2411 * fontset.c (Fset_fontset_font): Docstring fixed. 2340 * fontset.c (Fset_fontset_font): Fix docstring.
2412 (Ffontset_info): Make it backward compatible. New arg ALL. 2341 (Ffontset_info): Make it backward compatible. New arg ALL.
2413 2342
24142008-02-01 Kim F. Storm <storm@cua.dk> 23432008-02-01 Kim F. Storm <storm@cua.dk>
@@ -2418,8 +2347,7 @@
2418 2347
24192008-02-01 Kenichi Handa <handa@m17n.org> 23482008-02-01 Kenichi Handa <handa@m17n.org>
2420 2349
2421 * fileio.c (WRITE_BUF_SIZE): This macro deleted. 2350 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
2422 (e_write): Fix previous change.
2423 2351
24242008-02-01 Kenichi Handa <handa@m17n.org> 23522008-02-01 Kenichi Handa <handa@m17n.org>
2425 2353
@@ -2427,8 +2355,7 @@
2427 correctly for raw-text. 2355 correctly for raw-text.
2428 (consume_chars): On encoding unibyte text by raw-text, don't check 2356 (consume_chars): On encoding unibyte text by raw-text, don't check
2429 multibyte form. 2357 multibyte form.
2430 (encode_coding): On encoding by raw-text, never use translation 2358 (encode_coding): On encoding by raw-text, never use translation tables.
2431 tables.
2432 2359
2433 * fileio.c (e_write): Short cut for the case of no encoding. 2360 * fileio.c (e_write): Short cut for the case of no encoding.
2434 2361
@@ -2449,28 +2376,26 @@
2449 2376
24502008-02-01 Kenichi Handa <handa@m17n.org> 23772008-02-01 Kenichi Handa <handa@m17n.org>
2451 2378
2452 * fontset.c (find_font_encoding): Return `ascii' for unknown 2379 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
2453 encoding.
2454 (load_font_get_repertory): Delete unnecessary check of ENCODING of 2380 (load_font_get_repertory): Delete unnecessary check of ENCODING of
2455 FONT_DEF. 2381 FONT_DEF.
2456 (font_def_arg, add_arg, from_arg, to_arg): New args. 2382 (font_def_arg, add_arg, from_arg, to_arg): New args.
2457 (set_fontset_font): Argument changed. 2383 (set_fontset_font): Change argument.
2458 (Fset_fontset_font): Fix for the case that TARGET is a script 2384 (Fset_fontset_font): Fix for the case that TARGET is a script
2459 name and charset name. 2385 name and charset name.
2460 (new_fontset_from_font_name): Fix argument to Fnew_fontset. 2386 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
2461 2387
24622008-02-01 Kenichi Handa <handa@m17n.org> 23882008-02-01 Kenichi Handa <handa@m17n.org>
2463 2389
2464 * fontset.c (fontset_font): Renamed from fontset_face. Return 2390 * fontset.c (fontset_font): Rename from fontset_face. Change return
2465 value changed. 2391 value.
2466 (face_suitable_for_char_p): Adjusted for the change of 2392 (face_suitable_for_char_p): Adjust for the change of fontset_font.
2467 fontset_font.
2468 (face_for_char): Likewise. 2393 (face_for_char): Likewise.
2469 (make_fontset_for_ascii_face): Fix setting of the fontset element 2394 (make_fontset_for_ascii_face): Fix setting of the fontset element
2470 for ASCII. 2395 for ASCII.
2471 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR 2396 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
2472 to get a font name. 2397 to get a font name.
2473 (Ffontset_info): Adjusted for the change of fontset_font. 2398 (Ffontset_info): Adjust for the change of fontset_font.
2474 2399
2475 * coding.c (emacs_mule_char): Check invalid code more regidly. 2400 * coding.c (emacs_mule_char): Check invalid code more regidly.
2476 2401
@@ -2512,24 +2437,21 @@
2512 (get_translation_table): Allow max_lookup to be NULL. 2437 (get_translation_table): Allow max_lookup to be NULL.
2513 (decode_coding): Call get_translation_table with max_lookup NULL. 2438 (decode_coding): Call get_translation_table with max_lookup NULL.
2514 (Ffind_coding_systems_region_internal): Likewise. 2439 (Ffind_coding_systems_region_internal): Likewise.
2515 (Funencodable_char_position, Fcheck_coding_systems_region): 2440 (Funencodable_char_position, Fcheck_coding_systems_region): Likewise.
2516 Likewise.
2517 2441
25182008-02-01 Kenichi Handa <handa@m17n.org> 24422008-02-01 Kenichi Handa <handa@m17n.org>
2519 2443
2520 * coding.c (get_translation_table): Declare it as Lisp_Object. 2444 * coding.c (get_translation_table): Declare it as Lisp_Object.
2521 (LOOKUP_TRANSLATION_TABLE): New macro. 2445 (LOOKUP_TRANSLATION_TABLE): New macro.
2522 (produce_chars): Use LOOKUP_TRANSLATION_TABLE instead of 2446 (produce_chars): Use LOOKUP_TRANSLATION_TABLE instead of CHAR_TABLE_REF.
2523 CHAR_TABLE_REF.
2524 (consume_chars): Likewise. 2447 (consume_chars): Likewise.
2525 2448
25262008-02-01 Kenichi Handa <handa@m17n.org> 24492008-02-01 Kenichi Handa <handa@m17n.org>
2527 2450
2528 * coding.c (MAX_ANNOTATION_LENGTH): Adjusted for the change of 2451 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
2529 annotation data format. 2452 annotation data format.
2530 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA): 2453 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
2531 Change arguments FROM and TO to single argument NCHARS. Caller 2454 Change arguments FROM and TO to single argument NCHARS. Change caller.
2532 changed.
2533 (decode_coding_utf_8): Pay attention to coding->charbuf_used. 2455 (decode_coding_utf_8): Pay attention to coding->charbuf_used.
2534 (decode_coding_utf_16, decode_coding_emacs_mule) 2456 (decode_coding_utf_16, decode_coding_emacs_mule)
2535 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) 2457 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
@@ -2537,15 +2459,14 @@
2537 (get_translation): New function. 2459 (get_translation): New function.
2538 (produce_chars): New arguments translation_table and last_block. 2460 (produce_chars): New arguments translation_table and last_block.
2539 Translate characters here. Return number of carryover chars. 2461 Translate characters here. Return number of carryover chars.
2540 Caller changed. 2462 Change caller.
2541 (produce_composition): New argument pos. Caller changed. 2463 (produce_composition): New argument pos. Change caller.
2542 Adjusted for the change of annotation data format. 2464 Adjust for the change of annotation data format.
2543 (produce_charset, produce_annotation): Likewise. 2465 (produce_charset, produce_annotation): Likewise.
2544 (decode_coding, encode_coding): Don't call translate_chars. 2466 (decode_coding, encode_coding): Don't call translate_chars.
2545 (consume_chars): New arg translation_table. Caller changed. 2467 (consume_chars): New arg translation_table. Change caller.
2546 (translate_chars): Deleted. 2468 (translate_chars): Delete.
2547 (syms_of_coding): Make translation-table's number of extra slots 2469 (syms_of_coding): Make translation-table's number of extra slots 2.
2548 2.
2549 2470
25502008-02-01 Kenichi Handa <handa@m17n.org> 24712008-02-01 Kenichi Handa <handa@m17n.org>
2551 2472
@@ -2562,7 +2483,7 @@
2562 2483
2563 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair. 2484 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
2564 2485
2565 * editfns.c (Ftranslate_region_internal): Renamed from 2486 * editfns.c (Ftranslate_region_internal): Rename from
2566 Ftranslate_region. Accept a char-table in TABLE. 2487 Ftranslate_region. Accept a char-table in TABLE.
2567 (syms_of_editfns): Defsubr Stranslate_region_internal. 2488 (syms_of_editfns): Defsubr Stranslate_region_internal.
2568 2489
@@ -2571,8 +2492,7 @@
2571 (build_scalable_font_name): If the scalable font is requested for 2492 (build_scalable_font_name): If the scalable font is requested for
2572 a specific size, don't change that size. 2493 a specific size, don't change that size.
2573 (try_font_list): Try a scalable font also in the case that a 2494 (try_font_list): Try a scalable font also in the case that a
2574 pattern string is specified, 2495 pattern string is specified.
2575
2576 2496
25772008-02-01 Kenichi Handa <handa@m17n.org> 24972008-02-01 Kenichi Handa <handa@m17n.org>
2578 2498
@@ -2593,8 +2513,7 @@
2593 2513
25942008-02-01 Kenichi Handa <handa@m17n.org> 25142008-02-01 Kenichi Handa <handa@m17n.org>
2595 2515
2596 * keymap.c (describe_vector): Handle default value of a char 2516 * keymap.c (describe_vector): Handle default value of a char table.
2597 table.
2598 2517
2599 * fontset.c (fontset_face): Handle fallback fonts correctly. 2518 * fontset.c (fontset_face): Handle fallback fonts correctly.
2600 (Ffontset_info): Return infomation about fallback fonts. 2519 (Ffontset_info): Return infomation about fallback fonts.
@@ -2607,8 +2526,7 @@
2607 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle 2526 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
2608 the case that it is nil. 2527 the case that it is nil.
2609 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK. 2528 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
2610 (syms_of_fontset): Set char-table-extra-slots property of fontset 2529 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
2611 to 9.
2612 2530
2613 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is 2531 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
2614 subset or superset. 2532 subset or superset.
@@ -2617,7 +2535,7 @@
2617 2535
2618 * emacs.c (main): Call init_charset after syms_of_XXX. 2536 * emacs.c (main): Call init_charset after syms_of_XXX.
2619 2537
2620 * charset.c (Vcharset_map_directory): Deleted. 2538 * charset.c (Vcharset_map_directory): Delete.
2621 (Vcharset_map_path): New variable 2539 (Vcharset_map_path): New variable
2622 (load_charset_map_from_file): Use Vcharset_map_path instead. 2540 (load_charset_map_from_file): Use Vcharset_map_path instead.
2623 (init_charset): Initialize Vcharset_map_path. 2541 (init_charset): Initialize Vcharset_map_path.
@@ -2662,13 +2580,12 @@
2662 2580
26632008-02-01 Kenichi Handa <handa@m17n.org> 25812008-02-01 Kenichi Handa <handa@m17n.org>
2664 2582
2665 * coding.h (enum coding_attr_index): New member 2583 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
2666 coding_attr_trans_tbl.
2667 (CODING_ATTR_TRANS_TBL): New macro. 2584 (CODING_ATTR_TRANS_TBL): New macro.
2668 2585
2669 * coding.c (get_translation_table): New function. 2586 * coding.c (get_translation_table): New function.
2670 (translate_chars): Fix the bug of skipping annotation data. 2587 (translate_chars): Fix the bug of skipping annotation data.
2671 (decode_coding): Utilze get_translation_table. 2588 (decode_coding): Utilize get_translation_table.
2672 (encode_coding): Likewise. 2589 (encode_coding): Likewise.
2673 (char_encodable_p): Translate char if necessary. 2590 (char_encodable_p): Translate char if necessary.
2674 (Funencodable_char_position): Likewise. 2591 (Funencodable_char_position): Likewise.
@@ -2695,8 +2612,7 @@
2695 2612
2696 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y). 2613 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
2697 (x_get_glyph_overhangs): Handle a composition glyph. 2614 (x_get_glyph_overhangs): Handle a composition glyph.
2698 (x_produce_glyphs): Setup lbearing and rbreaing for a composition 2615 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
2699 glyph.
2700 2616
2701 * xterm.c (x_compute_glyph_string_overhangs): Handle also a 2617 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
2702 composition glyph. 2618 composition glyph.
@@ -2736,17 +2652,17 @@
2736 2652
2737 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT. 2653 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
2738 2654
2739 * fontset.c (reorder_font_vector): Adjusted for the change of 2655 * fontset.c (reorder_font_vector): Adjust for the change of
2740 FONT_DEF format. 2656 FONT_DEF format.
2741 (fontset_face): New arg id. Caller changed. 2657 (fontset_face): New arg id. Change caller.
2742 (face_for_char): New args pos and object. 2658 (face_for_char): New args pos and object.
2743 (make_fontset_for_ascii_face): Adjusted for the change of FONT_DEF 2659 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF
2744 format.n 2660 format.n
2745 (fs_query_fontset): Check NAME by Fassoc too. 2661 (fs_query_fontset): Check NAME by Fassoc too.
2746 (Fset_fontset_font): Allow non-XLFD font name. 2662 (Fset_fontset_font): Allow non-XLFD font name.
2747 (Ffontset_info): Adjusted for the change of FONT_DEF format. 2663 (Ffontset_info): Adjust for the change of FONT_DEF format.
2748 2664
2749 * fontset.h (face_for_char): Prototype adjusted. 2665 * fontset.h (face_for_char): Adjust prototype.
2750 2666
2751 * xdisp.c (face_before_or_after_it_pos): Call FACE_FOR_CHAR with 2667 * xdisp.c (face_before_or_after_it_pos): Call FACE_FOR_CHAR with
2752 POS and OBJECT args. 2668 POS and OBJECT args.
@@ -2784,21 +2700,19 @@
2784 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC. 2700 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
2785 2701
2786 * coding.c (Qinsufficient_source, Qinconsistent_eol) 2702 * coding.c (Qinsufficient_source, Qinconsistent_eol)
2787 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New 2703 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
2788 variables.
2789 (Vlast_code_conversion_error): New variables. 2704 (Vlast_code_conversion_error): New variables.
2790 (syms_of_coding): DEFSYM or DEFVAR_LISP them. 2705 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
2791 (ONE_MORE_BYTE): Record error if any instead of signaling an 2706 (ONE_MORE_BYTE): Record error if any instead of signaling an
2792 error. If non-ASCII multibyte char is found, return the negative 2707 error. If non-ASCII multibyte char is found, return the negative
2793 value of the code. All callers changed to check it. 2708 value of the code. All callers changed to check it.
2794 (ONE_MORE_BYTE_NO_CHECK): Likewise. 2709 (ONE_MORE_BYTE_NO_CHECK): Likewise.
2795 (record_conversion_result): New function. All codes setting 2710 (record_conversion_result): New function. Change all codes setting
2796 coding->result are changed to call this function. 2711 coding->result to call this function.
2797 (detect_coding_utf_8): Don't use the local variable incomplete. 2712 (detect_coding_utf_8): Don't use the local variable incomplete.
2798 (decode_coding_utf_8): Likewise. 2713 (decode_coding_utf_8): Likewise.
2799 (emacs_mule_char): Change the second arg to `const'. 2714 (emacs_mule_char): Change the second arg to `const'.
2800 (detect_coding_emacs_mule): Don't use the local variable 2715 (detect_coding_emacs_mule): Don't use the local variable incomplete.
2801 incomplete.
2802 (detect_coding_sjis): Likewise. 2716 (detect_coding_sjis): Likewise.
2803 (detect_coding_big5): Likewise. 2717 (detect_coding_big5): Likewise.
2804 (decode_coding): Fix of flushing out unprocessed data. 2718 (decode_coding): Fix of flushing out unprocessed data.
@@ -2820,13 +2734,8 @@
2820 2734
28212008-02-01 Kenichi Handa <handa@m17n.org> 27352008-02-01 Kenichi Handa <handa@m17n.org>
2822 2736
2823 * coding.c (detect_coding): Fix previous change.
2824 (detect_coding_system): Likewise.
2825
28262008-02-01 Kenichi Handa <handa@m17n.org>
2827
2828 * composite.c (syms_of_composite): Don't make the compostion hash 2737 * composite.c (syms_of_composite): Don't make the compostion hash
2829 table week. 2738 table weak.
2830 2739
2831 * fontset.c (Fset_fontset_font): Fix docstring. 2740 * fontset.c (Fset_fontset_font): Fix docstring.
2832 2741
@@ -2842,11 +2751,10 @@
2842 (code_conversion_save): Extern it. 2751 (code_conversion_save): Extern it.
2843 2752
2844 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return. 2753 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
2845 (CODING_GET_INFO): Delete argument eol_type. Callers changed. 2754 (CODING_GET_INFO): Delete argument eol_type. Change callers.
2846 (decode_coding_utf_8): Don't do eol converion. 2755 (decode_coding_utf_8): Don't do eol converion.
2847 (detect_coding_utf_16): Check coding->src_chars, not 2756 (detect_coding_utf_16): Check coding->src_chars, not
2848 coding->src_bytes. Add heuristics for those that have no 2757 coding->src_bytes. Add heuristics for those that have no signature.
2849 signature.
2850 (decode_coding_emacs_mule): Don't do eol converion. 2758 (decode_coding_emacs_mule): Don't do eol converion.
2851 (decode_coding_iso_2022): Likewise. 2759 (decode_coding_iso_2022): Likewise.
2852 (decode_coding_sjis): Likewise. 2760 (decode_coding_sjis): Likewise.
@@ -2859,18 +2767,17 @@
2859 (decode_coding): Pay attention to undo_list. Do eol convesion for 2767 (decode_coding): Pay attention to undo_list. Do eol convesion for
2860 all types of coding-systems (if necessary). 2768 all types of coding-systems (if necessary).
2861 (Vcode_conversion_work_buf_list): Delete it. 2769 (Vcode_conversion_work_buf_list): Delete it.
2862 (Vcode_conversion_reused_workbuf): Renamed from 2770 (Vcode_conversion_reused_workbuf): Rename from
2863 Vcode_conversion_reused_work_buf. 2771 Vcode_conversion_reused_work_buf.
2864 (Vcode_conversion_workbuf_name): New variable. 2772 (Vcode_conversion_workbuf_name): New variable.
2865 (reused_workbuf_in_use): New variable. 2773 (reused_workbuf_in_use): New variable.
2866 (make_conversion_work_buffer): Delete the arg DEPTH. 2774 (make_conversion_work_buffer): Delete the arg DEPTH.
2867 (code_conversion_restore): Argument changed to cons. 2775 (code_conversion_restore): Argument changed to cons.
2868 (code_conversion_save): Delete the argument BUFFER. Callers 2776 (code_conversion_save): Delete the argument BUFFER. Change callers.
2869 changed. 2777 (detect_coding_system): New argument src_chars. Change callers.
2870 (detect_coding_system): New argument src_chars. Callers changed.
2871 Fix for utf-16 detection. 2778 Fix for utf-16 detection.
2872 (init_coding_once): Don't use ISO_carriage_return. 2779 (init_coding_once): Don't use ISO_carriage_return.
2873 (syms_of_coding): Initialized Vcode_conversion_workbuf_name and 2780 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
2874 reused_workbuf_in_use. 2781 reused_workbuf_in_use.
2875 2782
28762008-02-01 Kenichi Handa <handa@m17n.org> 27832008-02-01 Kenichi Handa <handa@m17n.org>
@@ -2878,8 +2785,6 @@
2878 * keymap.c (store_in_keymap): Pay attention to the case that idx 2785 * keymap.c (store_in_keymap): Pay attention to the case that idx
2879 is a cons specifying a character range. 2786 is a cons specifying a character range.
2880 2787
2881 * coding.c (Fdefine_coding_system_internal): Fix previous change.
2882
28832008-02-01 Kenichi Handa <handa@m17n.org> 27882008-02-01 Kenichi Handa <handa@m17n.org>
2884 2789
2885 * xdisp.c (handle_auto_composed_prop): Fix the case of returning 2790 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
@@ -2890,8 +2795,7 @@
2890 2795
28912008-02-01 Kenichi Handa <handa@m17n.org> 27962008-02-01 Kenichi Handa <handa@m17n.org>
2892 2797
2893 * charset.c (find_charsets_in_text): Delete unused locale 2798 * charset.c (find_charsets_in_text): Delete unused locale variable.
2894 variable.
2895 (Fset_charset_priority): Update Vemacs_mule_charset_list too. 2799 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
2896 2800
2897 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB. 2801 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
@@ -2909,8 +2813,7 @@
2909 2813
29102008-02-01 Kenichi Handa <handa@m17n.org> 28142008-02-01 Kenichi Handa <handa@m17n.org>
2911 2815
2912 * keymap.c (Fdefine_key): Fix handling of Lucid style event type 2816 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
2913 list.
2914 2817
2915 * fns.c (Fmapconcat): Signal an error if SEQUENCE is a char table. 2818 * fns.c (Fmapconcat): Signal an error if SEQUENCE is a char table.
2916 (Fmapcar): Likewise. 2819 (Fmapcar): Likewise.
@@ -2918,8 +2821,7 @@
2918 2821
29192008-02-01 Kenichi Handa <handa@m17n.org> 28222008-02-01 Kenichi Handa <handa@m17n.org>
2920 2823
2921 * syntax.c (skip_chars): Be sure to alloca char_ranges when 2824 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
2922 necessary.
2923 2825
29242008-02-01 Kenichi Handa <handa@m17n.org> 28262008-02-01 Kenichi Handa <handa@m17n.org>
2925 2827
@@ -2975,7 +2877,7 @@
2975 2877
2976 * w32fns.c (w32_load_system_font): Default charset to -1. 2878 * w32fns.c (w32_load_system_font): Default charset to -1.
2977 (x_to_w32_charset): Match all fonts for unicode. 2879 (x_to_w32_charset): Match all fonts for unicode.
2978 (w32_to_x_charset): New parameter matching. Don't return partial 2880 (w32_to_x_charset): New parameter matching. Don't return partial
2979 or wildcard charsets. 2881 or wildcard charsets.
2980 (w32_to_all_x_charsets): Don't return partial or wildcard charsets. 2882 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
2981 (w32_codepage_for_font): Return CP_UNICODE for unicode. 2883 (w32_codepage_for_font): Return CP_UNICODE for unicode.
@@ -2988,16 +2890,16 @@
2988 2890
2989 * w32term.c (w32_encode_char): New charset parameter. 2891 * w32term.c (w32_encode_char): New charset parameter.
2990 font_info.encoding becomes encoding_type. 2892 font_info.encoding becomes encoding_type.
2991 (x_get_font_repertory): New function. Warning: stub only! 2893 (x_get_font_repertory): New function. Warning: stub only!
2992 (x_new_font): Return quickly if font already set. 2894 (x_new_font): Return quickly if font already set.
2993 (x_new_fontset): fontsetname parameter is Lisp_Object. 2895 (x_new_fontset): fontsetname parameter is Lisp_Object.
2994 Use new fs_query_fontset. Try new_fontset_from_font_name. Use 2896 Use new fs_query_fontset. Try new_fontset_from_font_name. Use
2995 fontset_name for return value. 2897 fontset_name for return value.
2996 2898
2997 * w32term.h: Declare x_get_font_repertory. 2899 * w32term.h: Declare x_get_font_repertory.
2998 2900
2999 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in 2901 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
3000 place of find_charset_in_text. Use encode_coding_object in place 2902 place of find_charset_in_text. Use encode_coding_object in place
3001 of encode_coding. 2903 of encode_coding.
3002 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of 2904 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
3003 decode_coding. 2905 decode_coding.
@@ -3006,15 +2908,13 @@
3006 of x_new_fontset. 2908 of x_new_fontset.
3007 (w32_load_system_font): Initialize charset as unicode. 2909 (w32_load_system_font): Initialize charset as unicode.
3008 font_info.encoding becomes encoding_type. 2910 font_info.encoding becomes encoding_type.
3009 (w32_to_x_font): Use decode_coding_c_string in place of 2911 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
3010 decode_coding. 2912 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
3011 (x_to_w32_font): Use encode_coding_object in place of
3012 encode_coding.
3013 (syms_of_w32fns): Set get_font_repertory_func. 2913 (syms_of_w32fns): Set get_font_repertory_func.
3014 2914
3015 * w32console.c: Include character.h. Use terminal_encode_buffer 2915 * w32console.c: Include character.h. Use terminal_encode_buffer
3016 from term.c. 2916 from term.c.
3017 (write_glyphs): Use new version of encode_terminal_code. Use 2917 (write_glyphs): Use new version of encode_terminal_code. Use
3018 encode_coding_object in place of encode_coding. 2918 encode_coding_object in place of encode_coding.
3019 2919
3020 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling. 2920 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
@@ -3028,7 +2928,7 @@
30282008-02-01 Kenichi Handa <handa@m17n.org> 29282008-02-01 Kenichi Handa <handa@m17n.org>
3029 2929
3030 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro 2930 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
3031 CODING_ID_EOL_TYPE.. 2931 CODING_ID_EOL_TYPE.
3032 2932
30332008-02-01 Andreas Schwab <schwab@suse.de> 29332008-02-01 Andreas Schwab <schwab@suse.de>
3034 2934
@@ -3039,9 +2939,9 @@
3039 * charset.h (charset_unicode): Extern it. 2939 * charset.h (charset_unicode): Extern it.
3040 2940
3041 * charset.c (string_xstring_p): Check by (C >= 0x100). 2941 * charset.c (string_xstring_p): Check by (C >= 0x100).
3042 (find_charsets_in_text): Format of the arc CHARSETS changed. New 2942 (find_charsets_in_text): Change format of the arc CHARSETS. New
3043 arg MULTIBYTE. 2943 arg MULTIBYTE.
3044 (Ffind_charset_region, Ffind_charset_string): Adjusted for the 2944 (Ffind_charset_region, Ffind_charset_string): Adjust for the
3045 change of find_charsets_in_text. 2945 change of find_charsets_in_text.
3046 (Fsplit_char): Fix doc. Never return unknown. 2946 (Fsplit_char): Fix doc. Never return unknown.
3047 2947
@@ -3068,10 +2968,10 @@
3068 2968
3069 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New 2969 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
3070 variables. 2970 variables.
3071 (encode_terminal_code): Argument changed. Encode multiple 2971 (encode_terminal_code): Change argument. Encode multiple
3072 characters at once. Store the result of encoding in 2972 characters at once. Store the result of encoding in
3073 terminal_encode_buffer. 2973 terminal_encode_buffer.
3074 (write_glyphs): Adjusted for the change of encode_terminal_code. 2974 (write_glyphs): Adjust for the change of encode_terminal_code.
3075 (insert_glyphs): Likewise. 2975 (insert_glyphs): Likewise.
3076 (term_init): Initialize terminal_encode_buffer and 2976 (term_init): Initialize terminal_encode_buffer and
3077 terminal_encode_buf_size. 2977 terminal_encode_buf_size.
@@ -3134,9 +3034,8 @@
3134 3034
3135 * composite.c (Fremove_list_of_text_properties): Declare. 3035 * composite.c (Fremove_list_of_text_properties): Declare.
3136 3036
3137 * coding.c (inhibit_pre_post_conversion): Removed (unused). 3037 * coding.c (inhibit_pre_post_conversion): Remove (unused).
3138 (alloc_destination, produce_chars): Use EMACS_INT for byte/char 3038 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
3139 counts.
3140 (coding_inherit_eol_type): Remove unused attrs. 3039 (coding_inherit_eol_type): Remove unused attrs.
3141 (detect_coding): Cast arg of detect_eol. 3040 (detect_coding): Cast arg of detect_eol.
3142 3041
@@ -3147,7 +3046,7 @@
3147 * casetab.c (set_case_table): Remove unused var. 3046 * casetab.c (set_case_table): Remove unused var.
3148 3047
3149 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove 3048 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
3150 unsued vars. 3049 unused vars.
3151 3050
31522008-02-01 Dave Love <fx@gnu.org> 30512008-02-01 Dave Love <fx@gnu.org>
3153 3052
@@ -3178,8 +3077,7 @@
3178 * composite.h (find_composition, update_compositions): Make 3077 * composite.h (find_composition, update_compositions): Make
3179 position args EMACS_INT. 3078 position args EMACS_INT.
3180 3079
3181 * keyboard.c (adjust_point_for_property): Make beg and end 3080 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
3182 EMACS_INT.
3183 3081
3184 * intervals.c (get_property_and_range): 3082 * intervals.c (get_property_and_range):
3185 * intervals.h (get_property_and_range): Make start and end EMACS_INT. 3083 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
@@ -3210,8 +3108,7 @@
3210 3108
32112008-02-01 Kenichi Handa <handa@m17n.org> 31092008-02-01 Kenichi Handa <handa@m17n.org>
3212 3110
3213 * fileio.c (choose_write_coding_system): Return a decided coding 3111 * fileio.c (choose_write_coding_system): Return a decided coding system.
3214 system.
3215 (Fwrite_region): Set Vlast_coding_system_used to the return value 3112 (Fwrite_region): Set Vlast_coding_system_used to the return value
3216 of choose_write_coding_system. 3113 of choose_write_coding_system.
3217 3114
@@ -3231,8 +3128,7 @@
3231 3128
3232 * callproc.c (Fcall_process): Handle carryover correctly. 3129 * callproc.c (Fcall_process): Handle carryover correctly.
3233 3130
3234 * coding.c (decode_coding_iso_2022): Fix handling of invalid 3131 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
3235 bytes.
3236 (raw_text_coding_system): Check NILP (coding_system). 3132 (raw_text_coding_system): Check NILP (coding_system).
3237 (coding_inherit_eol_type): Check NILP (coding_system) and 3133 (coding_inherit_eol_type): Check NILP (coding_system) and
3238 NILP (parent). 3134 NILP (parent).
@@ -3260,8 +3156,7 @@
3260 characters, don't check by BASE_LEADING_CODE_P. 3156 characters, don't check by BASE_LEADING_CODE_P.
3261 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is 3157 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
3262 the same as RE_MULTIBYTE_P (bufp) now. 3158 the same as RE_MULTIBYTE_P (bufp) now.
3263 (mutually_exclusive_p): Check by (! multibyte || 3159 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
3264 IS_REAL_ASCII (c)).
3265 (TARGET_CHAR_AND_LENGTH): Delete this macro. 3160 (TARGET_CHAR_AND_LENGTH): Delete this macro.
3266 (TRANSLATE_VIA_MULTIBYTE): New macro. 3161 (TRANSLATE_VIA_MULTIBYTE): New macro.
3267 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp). 3162 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
@@ -3305,7 +3200,7 @@
3305 3200
33062008-02-01 Kenichi Handa <handa@m17n.org> 32012008-02-01 Kenichi Handa <handa@m17n.org>
3307 3202
3308 * coding.h (make_conversion_work_buffer): Prototype adjusted. 3203 * coding.h (make_conversion_work_buffer): Adjust prototype.
3309 (code_conversion_restore): Don't extern it. 3204 (code_conversion_restore): Don't extern it.
3310 3205
3311 * coding.c (detected_mask): Delete unused variable. 3206 * coding.c (detected_mask): Delete unused variable.
@@ -3315,16 +3210,15 @@
3315 (setup_coding_system): Delete unused variable `category'. 3210 (setup_coding_system): Delete unused variable `category'.
3316 (consume_chars): Delete unused variable `category'. Make it work 3211 (consume_chars): Delete unused variable `category'. Make it work
3317 for non-multibyte case. 3212 for non-multibyte case.
3318 (make_conversion_work_buffer): Argument changed. 3213 (make_conversion_work_buffer): Change argument.
3319 (saved_coding): Delete unused variable. 3214 (saved_coding): Delete unused variable.
3320 (code_conversion_restore): Don't check saved_coding->destination. 3215 (code_conversion_restore): Don't check saved_coding->destination.
3321 (code_conversion_save): New function. 3216 (code_conversion_save): New function.
3322 (decode_coding_gap, encode_coding_gap): Call code_conversion_save 3217 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
3323 instead of record_unwind_protect. 3218 instead of record_unwind_protect.
3324 (decode_coding_object, encode_coding_object): Likewise. Recover 3219 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
3325 PT.
3326 (detect_coding_system): Delete unused variable `mask'. 3220 (detect_coding_system): Delete unused variable `mask'.
3327 (Fdefine_coding_system_internal): Delete unsed vaiable id; 3221 (Fdefine_coding_system_internal): Delete unused vaiable id.
3328 3222
3329 * fileio.c (kill_workbuf_unwind): New function. 3223 * fileio.c (kill_workbuf_unwind): New function.
3330 (Finsert_file_contents): On replacing, call 3224 (Finsert_file_contents): On replacing, call
@@ -3335,8 +3229,7 @@
3335 3229
33362008-02-01 Kenichi Handa <handa@m17n.org> 32302008-02-01 Kenichi Handa <handa@m17n.org>
3337 3231
3338 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not 3232 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
3339 FONTSET_NAME.
3340 (fontset_add): Fix for the case that TO is less than TO1. 3233 (fontset_add): Fix for the case that TO is less than TO1.
3341 (Ffontset_info): Don't use fallback fontset on checking the 3234 (Ffontset_info): Don't use fallback fontset on checking the
3342 default fontset. 3235 default fontset.
@@ -3349,7 +3242,7 @@
3349 3242
3350 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL. 3243 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
3351 (map_char_table): Don't inherit the value from the parent on 3244 (map_char_table): Don't inherit the value from the parent on
3352 initializing VAL. Adjusted for the above change. 3245 initializing VAL. Adjust for the above change.
3353 3246
33542008-02-01 Kenichi Handa <handa@m17n.org> 32472008-02-01 Kenichi Handa <handa@m17n.org>
3355 3248
@@ -3367,8 +3260,7 @@
3367 (detect_coding): If coding type is utf-16 and BOM detection is 3260 (detect_coding): If coding type is utf-16 and BOM detection is
3368 required, detect it. 3261 required, detect it.
3369 (Fdefine_coding_system_internal): For a coding system of type 3262 (Fdefine_coding_system_internal): For a coding system of type
3370 utf-16, check if the attribute :endian is Qbig or not (not nil or 3263 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
3371 not).
3372 3264
33732008-02-01 Kenichi Handa <handa@m17n.org> 32652008-02-01 Kenichi Handa <handa@m17n.org>
3374 3266
@@ -3386,7 +3278,7 @@
3386 3278
3387 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5) 3279 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
3388 (detect_coding_big5, decode_coding_big5, encode_coding_big5) 3280 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
3389 (Fdecode_big5_char, Fencode_big5_char): Deleted. (Big5 no longer 3281 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
3390 treated specially.) 3282 treated specially.)
3391 (setup_coding_system, coding_category, CATEGORY_MASK_ANY) 3283 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
3392 (detected_mask): Remove Big5 bits. 3284 (detected_mask): Remove Big5 bits.
@@ -3396,16 +3288,15 @@
3396 The following changes are to make the font rescaling facility 3288 The following changes are to make the font rescaling facility
3397 compatible with Emacs 21. 3289 compatible with Emacs 21.
3398 3290
3399 * xfaces.c (Vface_font_rescale_alist): Renamed from 3291 * xfaces.c (Vface_font_rescale_alist): Rename from
3400 Vface_resizing_fonts. 3292 Vface_resizing_fonts.
3401 (struct font_name): Rename member resizing_ratio to rescale_ratio. 3293 (struct font_name): Rename member resizing_ratio to rescale_ratio.
3402 (font_rescale_ratio): Renamed from font_resizing_ratio. 3294 (font_rescale_ratio): Rename from font_resizing_ratio.
3403 (split_font_name): Set font->rescale_ratio. 3295 (split_font_name): Set font->rescale_ratio.
3404 (better_font_p): Pay attention to font->rescale_ratio. 3296 (better_font_p): Pay attention to font->rescale_ratio.
3405 (build_scalable_font_name): Likewise. Change RESX, and RESY 3297 (build_scalable_font_name): Likewise. Change RESX, and RESY
3406 fields. 3298 fields.
3407 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp 3299 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
3408 variable.
3409 3300
34102008-02-01 Kenichi Handa <handa@m17n.org> 33012008-02-01 Kenichi Handa <handa@m17n.org>
3411 3302
@@ -3418,8 +3309,7 @@
34182008-02-01 Kenichi Handa <handa@m17n.org> 33092008-02-01 Kenichi Handa <handa@m17n.org>
3419 3310
3420 * fileio.c (Finsert_file_contents): On replacing, before decoding 3311 * fileio.c (Finsert_file_contents): On replacing, before decoding
3421 the file into the work buffer, set point of the work buffer to the 3312 the file into the work buffer, set point of the work buffer to the end.
3422 end.
3423 3313
34242008-02-01 Dave Love <fx@gnu.org> 33142008-02-01 Dave Love <fx@gnu.org>
3425 3315
@@ -3440,8 +3330,7 @@
3440 3330
3441 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil. 3331 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
3442 3332
3443 * w32term.c (w32_encode_char): Call ccl_driver with the last arg 3333 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
3444 Qnil.
3445 3334
34462008-02-01 Kenichi Handa <handa@m17n.org> 33352008-02-01 Kenichi Handa <handa@m17n.org>
3447 3336
@@ -3456,7 +3345,7 @@
3456 * coding.h (enum define_coding_ccl_arg_index): Set the first 3345 * coding.h (enum define_coding_ccl_arg_index): Set the first
3457 member coding_arg_ccl_decoder to coding_arg_max. 3346 member coding_arg_ccl_decoder to coding_arg_max.
3458 3347
3459 * ccl.h (ccl_driver): Prototype adjusted. 3348 * ccl.h (ccl_driver): Adjust prototype.
3460 3349
3461 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros. 3350 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
3462 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead 3351 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
@@ -3469,22 +3358,17 @@
3469 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET, 3358 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
3470 call encode_char. 3359 call encode_char.
3471 3360
3472 * charset.c (encode_char): Fix handling of methods SUBSET and 3361 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
3473 SUPERSET.
3474
3475 * xterm.c (x_new_fontset): Fix previous change.
3476 3362
34772008-02-01 Dave Love <fx@gnu.org> 33632008-02-01 Dave Love <fx@gnu.org>
3478 3364
3479 * composite.c (syms_of_composite): Make composition_hash_table 3365 * composite.c (syms_of_composite): Make composition_hash_table weak.
3480 weak.
3481 3366
34822008-02-01 Kenichi Handa <handa@m17n.org> 33672008-02-01 Kenichi Handa <handa@m17n.org>
3483 3368
3484 * dispextern.h (check_face_attributes, generate_ascii_font_name) 3369 * dispextern.h (check_face_attributes, generate_ascii_font_name)
3485 (font_name_registry): Don't extern them. 3370 (font_name_registry): Don't extern them.
3486 (split_font_name_into_vector, build_font_name_from_vector): Extern 3371 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
3487 them.
3488 3372
3489 * fontset.h (Qfontset): Don't extern it. 3373 * fontset.h (Qfontset): Don't extern it.
3490 (new_fontset_from_font_name): Extern it. 3374 (new_fontset_from_font_name): Extern it.
@@ -3494,9 +3378,8 @@
3494 (syms_of_fontset): Defsym it. 3378 (syms_of_fontset): Defsym it.
3495 (FONTSET_FALLBACK): New macro. 3379 (FONTSET_FALLBACK): New macro.
3496 (fontset_face): Try also the default fontset. 3380 (fontset_face): Try also the default fontset.
3497 (make_fontset): Realize a fallback fontset from the default 3381 (make_fontset): Realize a fallback fontset from the default fontset.
3498 fontset. 3382 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
3499 (generate_ascii_font_name): Moved from xfaces.c. Rewritten by
3500 using split_font_name_into_vector and build_font_name_from_vector. 3383 using split_font_name_into_vector and build_font_name_from_vector.
3501 (Fset_fontset_font): Access the elements of font_spec by enum 3384 (Fset_fontset_font): Access the elements of font_spec by enum
3502 FONT_SPEC_INDEX. If font_spec is a string, extract the registry 3385 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
@@ -3507,25 +3390,23 @@
3507 (n_auto_fontsets): New variable. 3390 (n_auto_fontsets): New variable.
3508 (new_fontset_from_font_name): New function. 3391 (new_fontset_from_font_name): New function.
3509 (Ffont_info): Store the information about fonts generated from the 3392 (Ffont_info): Store the information about fonts generated from the
3510 default fontset in the first extra slot of the returned 3393 default fontset in the first extra slot of the returned char-table.
3511 char-table.
3512 3394
3513 * xfaces.c (generate_ascii_font_name): Moved to fontset.c. 3395 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
3514 (font_name_registry): Function deleted. 3396 (font_name_registry): Delete function.
3515 (split_font_name_into_vector): New function. 3397 (split_font_name_into_vector): New function.
3516 (build_font_name_from_vector): New function. 3398 (build_font_name_from_vector): New function.
3517 (font_list): The argument REGISTRY is now a list of registry 3399 (font_list): The argument REGISTRY is now a list of registry names.
3518 names.
3519 (choose_face_font): If we are choosing an ASCII font, and ATTRS 3400 (choose_face_font): If we are choosing an ASCII font, and ATTRS
3520 specifies an explicit font name, return the name as is. Make a 3401 specifies an explicit font name, return the name as is. Make a
3521 list of registy names. 3402 list of registy names.
3522 3403
3523 * xfns.c (x_set_font, x_create_tip_frame): Adjusted to the change 3404 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
3524 of x_new_fontset. 3405 of x_new_fontset.
3525 (Fx_create_frame): Don't call x_new_fontset here. Just use 3406 (Fx_create_frame): Don't call x_new_fontset here. Just use
3526 x_list_fonts to check the existence of fonts. 3407 x_list_fonts to check the existence of fonts.
3527 3408
3528 * xterm.h (x_new_fontset): Prototype adjusted. 3409 * xterm.h (x_new_fontset): Adjust prototype.
3529 3410
3530 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp 3411 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
3531 string. Use new_fontset_from_font_name to create a fontset from a 3412 string. Use new_fontset_from_font_name to create a fontset from a
@@ -3560,13 +3441,13 @@
3560 (detect_coding_sjis, detect_coding_big5) 3441 (detect_coding_sjis, detect_coding_big5)
3561 (detect_coding_ccl, detect_coding_charset): Change argument MASK 3442 (detect_coding_ccl, detect_coding_charset): Change argument MASK
3562 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte 3443 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
3563 sequence is valid in this coding system. Callers changed. 3444 sequence is valid in this coding system. Change callers.
3564 (MAX_ANNOTATION_LENGTH): New macro. 3445 (MAX_ANNOTATION_LENGTH): New macro.
3565 (ADD_ANNOTATION_DATA): New macro. 3446 (ADD_ANNOTATION_DATA): New macro.
3566 (ADD_COMPOSITION_DATA): Argument changed. Callers changed. Call 3447 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
3567 ADD_ANNOTATION_DATA. The format of annotation data changed. 3448 ADD_ANNOTATION_DATA. Change the format of annotation data.
3568 (ADD_CHARSET_DATA): New macro. 3449 (ADD_CHARSET_DATA): New macro.
3569 (emacs_mule_char): New argument ID. Callers changed. 3450 (emacs_mule_char): New argument ID. Change callers.
3570 (decode_coding_emacs_mule, decode_coding_iso_2022) 3451 (decode_coding_emacs_mule, decode_coding_iso_2022)
3571 (decode_coding_sjis, decode_coding_big5, decode_coding_charset): 3452 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
3572 Produce charset annotation data in coding->charbuf. 3453 Produce charset annotation data in coding->charbuf.
@@ -3575,8 +3456,7 @@
3575 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK 3456 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
3576 coding->common_flags if the coding system is iso-2022 based and 3457 coding->common_flags if the coding system is iso-2022 based and
3577 uses designation. 3458 uses designation.
3578 (produce_composition): Adjusted for the new annotation data 3459 (produce_composition): Adjust for the new annotation data format.
3579 format.
3580 (produce_charset): New function. 3460 (produce_charset): New function.
3581 (produce_annotation): Handle charset annotation. 3461 (produce_annotation): Handle charset annotation.
3582 (handle_composition_annotation, handle_charset_annotation): New 3462 (handle_composition_annotation, handle_charset_annotation): New
@@ -3590,8 +3470,7 @@
3590 coding_detection_info. 3470 coding_detection_info.
3591 3471
3592 * coding.h (struct coding_detection_info): New structure. 3472 * coding.h (struct coding_detection_info): New structure.
3593 (struct coding_system): Prototype of the member `detector' 3473 (struct coding_system): Adjust prototype of the member `detector'.
3594 adjusted.
3595 (CODING_ANNOTATE_CHARSET_MASK): New macro. 3474 (CODING_ANNOTATE_CHARSET_MASK): New macro.
3596 3475
35972008-02-01 Kenichi Handa <handa@m17n.org> 34762008-02-01 Kenichi Handa <handa@m17n.org>
@@ -3600,8 +3479,7 @@
3600 3479
36012008-02-01 Dave Love <fx@gnu.org> 34802008-02-01 Dave Love <fx@gnu.org>
3602 3481
3603 * keymap.c (apropos_predicate, apropos_accumulate): Declare 3482 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
3604 static.
3605 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result 3483 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
3606 to new local and nullify apropos_accumulate before returning. 3484 to new local and nullify apropos_accumulate before returning.
3607 (syms_of_keymap): Staticpro and initialize apropos_accumulate. 3485 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
@@ -3622,13 +3500,13 @@
3622 3500
3623 * Makefile.in (lisp, shortlisp): Add composite.elc 3501 * Makefile.in (lisp, shortlisp): Add composite.elc
3624 3502
3625 * composite.h (Qauto_composed, Vauto_composition_function, 3503 * composite.h (Qauto_composed, Vauto_composition_function)
3626 Qauto_composition_function): Extern them. 3504 (Qauto_composition_function): Extern them.
3627 3505
3628 * composite.c (Vcomposition_function_table, 3506 * composite.c (Vcomposition_function_table)
3629 Qcomposition_function_table): Delete variables. 3507 (Qcomposition_function_table): Delete variables.
3630 (Qauto_composed, Vauto_composition_function, 3508 (Qauto_composed, Vauto_composition_function)
3631 Qauto_composition_function): New variables. 3509 (Qauto_composition_function): New variables.
3632 (run_composition_function): Don't call 3510 (run_composition_function): Don't call
3633 compose-chars-after-function. 3511 compose-chars-after-function.
3634 (update_compositions): Clear `auto-composed' text property. 3512 (update_compositions): Clear `auto-composed' text property.
@@ -3663,9 +3541,8 @@
3663 (decode_coding_big5): Likewise. 3541 (decode_coding_big5): Likewise.
3664 (decode_coding_charset): Likewise. 3542 (decode_coding_charset): Likewise.
3665 (produce_chars): Likewise. 3543 (produce_chars): Likewise.
3666 (decode_coding): Flushing out the unprocessed data correctly. 3544 (decode_coding): Flush out the unprocessed data correctly.
3667 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of 3545 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
3668 coding->mode.
3669 3546
36702008-02-01 Dave Love <fx@gnu.org> 35472008-02-01 Dave Love <fx@gnu.org>
3671 3548
@@ -3675,8 +3552,7 @@
3675 3552
36762008-02-01 Kenichi Handa <handa@m17n.org> 35532008-02-01 Kenichi Handa <handa@m17n.org>
3677 3554
3678 * charset.c (Fset_charset_priority): Update 3555 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
3679 Viso_2022_charset_list.
3680 3556
36812008-02-01 Kenichi Handa <handa@m17n.org> 35572008-02-01 Kenichi Handa <handa@m17n.org>
3682 3558
@@ -3716,9 +3592,8 @@
3716 3592
37172008-02-01 Kenichi Handa <handa@m17n.org> 35932008-02-01 Kenichi Handa <handa@m17n.org>
3718 3594
3719 * coding.c (detect_coding): Fix previous change. 3595 * coding.c (detect_coding_charset): If only ASCII bytes are found,
3720 (detect_coding_charset): If only ASCII bytes are found, return 0. 3596 return 0.
3721 (detect_coding_system): Fix previous change.
3722 (Fdefine_coding_system_internal): Setup 3597 (Fdefine_coding_system_internal): Setup
3723 CODING_ATTR_ASCII_COMPAT (attrs) correctly. 3598 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
3724 3599
@@ -3774,17 +3649,15 @@
3774 (detect_coding_big5): Likewise. 3649 (detect_coding_big5): Likewise.
3775 (detect_coding_ccl): Likewise. 3650 (detect_coding_ccl): Likewise.
3776 (decode_coding_sjis): Fix decoding of katakana-jisx0201. 3651 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
3777 (detect_eol): Delete the argument CODING, and add the argument 3652 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
3778 CATEGORY. 3653 (detect_coding): Adjust for the changes above.
3779 (detect_coding): Adjusted for the changes above.
3780 (detect_coding_system): Likewise. 3654 (detect_coding_system): Likewise.
3781 3655
37822008-02-01 Kenichi Handa <handa@m17n.org> 36562008-02-01 Kenichi Handa <handa@m17n.org>
3783 3657
3784 * character.c (char_string): Renamed from 3658 * character.c (char_string): Rename from
3785 char_string_with_unification. Pay attention to 3659 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
3786 CHAR_MODIFIER_MASK. 3660 (string_char): Rename from string_char.
3787 (string_char): Renamed from string_char.
3788 3661
3789 * character.h (CHAR_STRING): Call char_string if C is greater than 3662 * character.h (CHAR_STRING): Call char_string if C is greater than
3790 MAX_3_BYTE_CHAR. 3663 MAX_3_BYTE_CHAR.
@@ -3800,8 +3673,7 @@
3800 3673
38012008-02-01 Kenichi Handa <handa@m17n.org> 36742008-02-01 Kenichi Handa <handa@m17n.org>
3802 3675
3803 * keymap.c (push_key_description): Pay attention to 3676 * keymap.c (push_key_description): Pay attention to force_multibyte.
3804 force_multibyte.
3805 3677
3806 * regex.c (re_search_2): Fix for the case of unibyte buffer. 3678 * regex.c (re_search_2): Fix for the case of unibyte buffer.
3807 3679
@@ -3841,29 +3713,8 @@
3841 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default 3713 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
3842 fontset, return Qt. 3714 fontset, return Qt.
3843 3715
38442008-02-01 Kenichi Handa <handa@m17n.org>
3845
3846 * regex.c (re_search_2): Fix previous change.
3847
38482008-02-01 Kenichi Handa <handa@m17n.org>
3849
3850 * syntax.c (skip_syntaxes): Fix previous change.
3851
38522008-02-01 Kenichi Handa <handa@m17n.org>
3853
3854 * syntax.c (skip_chars): Fix previous change.
3855 (skip_syntaxes): Fix previous change.
3856
38572008-02-01 Dave Love <fx@gnu.org> 37162008-02-01 Dave Love <fx@gnu.org>
3858 3717
3859 * config.in: Restore it.
3860
38612008-02-01 Dave Love <fx@gnu.org>
3862
3863 * config.in: Removed (now auto-generated).
3864
3865 * s/usg5-4.h: Fix last change.
3866
3867 * unexelf.c (unexec): Make .got handling not SGI-specific. 3718 * unexelf.c (unexec): Make .got handling not SGI-specific.
3868 3719
3869 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix. 3720 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
@@ -3903,8 +3754,7 @@
3903 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro. 3754 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
3904 3755
3905 * character.c (unibyte_to_multibyte_table): New variable. 3756 * character.c (unibyte_to_multibyte_table): New variable.
3906 (unibyte_char_to_multibyte): Move to character.h and defined as 3757 (unibyte_char_to_multibyte): Move to character.h and define as macro.
3907 macro.
3908 (multibyte_char_to_unibyte): If C is an eight-bit character, 3758 (multibyte_char_to_unibyte): If C is an eight-bit character,
3909 convert it to the corresponding byte value. 3759 convert it to the corresponding byte value.
3910 3760
@@ -3914,13 +3764,11 @@
3914 (init_charset_once): Initialize unibyte_to_multibyte_table. 3764 (init_charset_once): Initialize unibyte_to_multibyte_table.
3915 (syms_of_charset): Define the charset `iso-8859-1'. 3765 (syms_of_charset): Define the charset `iso-8859-1'.
3916 3766
3917 * casefiddle.c (casify_object): Fix previous change.
3918
3919 * cmds.c (internal_self_insert): In a multibyte buffer, insert C 3767 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
3920 as is without converting it to unibyte. In a unibyte buffer, 3768 as is without converting it to unibyte. In a unibyte buffer,
3921 convert C to multibyte before checking the syntax. 3769 convert C to multibyte before checking the syntax.
3922 3770
3923 * lisp.h (unibyte_char_to_multibyte): Extern deleted. 3771 * lisp.h (unibyte_char_to_multibyte): Delete extern.
3924 3772
3925 * minibuf.c (Fminibuffer_complete_word): Use the macro 3773 * minibuf.c (Fminibuffer_complete_word): Use the macro
3926 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE. 3774 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
@@ -3939,12 +3787,11 @@
3939 instead of PATFETCH in many places. To handle `charset' 3787 instead of PATFETCH in many places. To handle `charset'
3940 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap 3788 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
3941 only for ASCII chars. 3789 only for ASCII chars.
3942 (analyse_first) <exactn>: Simplified because the compiled pattern 3790 (analyse_first) <exactn>: Simplify because the compiled pattern
3943 is multibyte. 3791 is multibyte.
3944 <charset_not>: Setup fastmap from bitmap only for ASCII chars. 3792 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
3945 <charset>: Use CHAR_LEADING_CODE to get leading codes. 3793 <charset>: Use CHAR_LEADING_CODE to get leading codes.
3946 <categoryspec>: If multibyte, setup fastmap only for ASCII chars 3794 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
3947 here.
3948 (re_compile_fastmap) [emacs]: Call analyse_first with the arg 3795 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
3949 multibyte always 1. 3796 multibyte always 1.
3950 (re_search_2): In emacs, set the locale variable multibyte to 1, 3797 (re_search_2): In emacs, set the locale variable multibyte to 1,
@@ -3966,8 +3813,7 @@
3966 * search.c (compile_pattern_1): Don't adjust the multibyteness of 3813 * search.c (compile_pattern_1): Don't adjust the multibyteness of
3967 the regexp pattern and the matching target. Set cp->buf.multibyte 3814 the regexp pattern and the matching target. Set cp->buf.multibyte
3968 to the multibyteness of the regexp pattern. Set 3815 to the multibyteness of the regexp pattern. Set
3969 cp->but.target_multibyte to the multibyteness of the matching 3816 cp->but.target_multibyte to the multibyteness of the matching target.
3970 target.
3971 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of 3817 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
3972 FETCH_STRING_CHAR_ADVANCE. 3818 FETCH_STRING_CHAR_ADVANCE.
3973 (Freplace_match): Convert unibyte chars to multibyte. 3819 (Freplace_match): Convert unibyte chars to multibyte.
@@ -3976,8 +3822,8 @@
3976 unibyte chars to multibyte. 3822 unibyte chars to multibyte.
3977 (back_comment): Likewise. 3823 (back_comment): Likewise.
3978 (scan_words): Likewise. 3824 (scan_words): Likewise.
3979 (skip_chars): The arg syntaxp is deleted, and the code for 3825 (skip_chars): Delete the arg syntaxp, and move the code for
3980 handling syntaxes is moved to skip_syntaxes. Callers changed. 3826 handling syntaxes to skip_syntaxes. Change callers.
3981 Fix the case that the multibyteness of STRING and the current 3827 Fix the case that the multibyteness of STRING and the current
3982 buffer doesn't match. 3828 buffer doesn't match.
3983 (skip_syntaxes): New function. 3829 (skip_syntaxes): New function.
@@ -4029,21 +3875,20 @@
4029 3875
4030 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. 3876 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
4031 3877
4032 * buffer.h (_fetch_multibyte_char_len): Extern deleted. 3878 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4033 (FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len. 3879 (FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len.
4034 (BUF_FETCH_MULTIBYTE_CHAR): Likewise. 3880 (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
4035 (FETCH_CHAR_AS_MULTIBYTE): New macro. 3881 (FETCH_CHAR_AS_MULTIBYTE): New macro.
4036 3882
4037 * casetab.c (set_canon, set_identity, shuffle): Simplified. 3883 * casetab.c (set_canon, set_identity, shuffle): Simplify.
4038 3884
4039 * casefiddle.c (casify_object): Simplified. Handle the case that 3885 * casefiddle.c (casify_object): Simplify. Handle the case that
4040 the case conversion change the byte length. 3886 the case conversion change the byte length.
4041 (casify_region): Likewise 3887 (casify_region): Likewise.
4042 3888
4043 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New 3889 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
4044 macros.
4045 3890
4046 * character.c (_fetch_multibyte_char_len): This variable deleted. 3891 * character.c (_fetch_multibyte_char_len): Delet this variable.
4047 (syms_of_character): Setup Vprintable_chars. 3892 (syms_of_character): Setup Vprintable_chars.
4048 3893
4049 * editfns.c (Fchar_equal): Fix for the unibyte case. 3894 * editfns.c (Fchar_equal): Fix for the unibyte case.
@@ -4064,8 +3909,7 @@
4064 3909
4065 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. 3910 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4066 3911
4067 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not 3912 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
4068 script.
4069 3913
4070 * emacs.c (main): In the case of --unibyte, instead of aborting on 3914 * emacs.c (main): In the case of --unibyte, instead of aborting on
4071 finding non-empty buffer, make it unibyte. 3915 finding non-empty buffer, make it unibyte.
@@ -4091,20 +3935,19 @@
4091 (multibyte_char_to_unibyte): Likewise. 3935 (multibyte_char_to_unibyte): Likewise.
4092 (Funibyte_char_to_multibyte): Likewise. 3936 (Funibyte_char_to_multibyte): Likewise.
4093 3937
4094 * charset.h: (charset_unibyte): Extern it instead of 3938 * charset.h (charset_unibyte): Extern it instead of charset_primary.
4095 charset_primary.
4096 3939
4097 * charset.c (charset_unibyte): Renamed from charset_primary. 3940 * charset.c (charset_unibyte): Rename from charset_primary.
4098 (Funibyte_charset): Renamed from Fprimary_charset. 3941 (Funibyte_charset): Rename from Fprimary_charset.
4099 (Fset_unibyte_charset): Renamed from Fset_primary_charset. 3942 (Fset_unibyte_charset): Rename from Fset_primary_charset.
4100 (syms_of_charset): Adjusted for the above changes. 3943 (syms_of_charset): Adjust for the above changes.
4101 3944
4102 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not 3945 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
4103 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when 3946 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
4104 it->multibyte_p is zero. 3947 it->multibyte_p is zero.
4105 3948
4106 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table): 3949 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
4107 Extern deleted. 3950 Delete extern.
4108 3951
41092008-02-01 Kenichi Handa <handa@m17n.org> 39522008-02-01 Kenichi Handa <handa@m17n.org>
4110 3953
@@ -4113,8 +3956,7 @@
4113 3956
41142008-02-01 Kenichi Handa <handa@m17n.org> 39572008-02-01 Kenichi Handa <handa@m17n.org>
4115 3958
4116 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET 3959 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
4117 -1.
4118 3960
41192008-02-01 Kenichi Handa <handa@m17n.org> 39612008-02-01 Kenichi Handa <handa@m17n.org>
4120 3962
@@ -4130,8 +3972,6 @@
4130 3972
41312008-02-01 Dave Love <fx@gnu.org> 39732008-02-01 Dave Love <fx@gnu.org>
4132 3974
4133 * config.in: Generated with autoheader.
4134
4135 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo). 3975 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
4136 3976
4137 * m/sparc.h (HAVE_ALLOCA): Delete. 3977 * m/sparc.h (HAVE_ALLOCA): Delete.
@@ -4148,7 +3988,7 @@
41482008-02-01 Kenichi Handa <handa@m17n.org> 39882008-02-01 Kenichi Handa <handa@m17n.org>
4149 3989
4150 * buffer.c (Qas, Qmake, Qto): New variables. 3990 * buffer.c (Qas, Qmake, Qto): New variables.
4151 (Fset_buffer_multibyte): New optional arg METHOD. Caller changed. 3991 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
4152 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto. 3992 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
4153 3993
4154 * callproc.c (Fcall_process): Don't call insert_1_both directly if 3994 * callproc.c (Fcall_process): Don't call insert_1_both directly if
@@ -4161,23 +4001,22 @@
4161 by the primary charset, make it eight-bit char. 4001 by the primary charset, make it eight-bit char.
4162 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8. 4002 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
4163 4003
4164 * charset.c: (charset_eight_bit, Qeight_bit_control): New 4004 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
4165 variables. 4005 (charset_8_bit__control, charset_8_bit_graphic)
4166 (charset_8_bit__control, charset_8_bit_graphic, 4006 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
4167 Qeight_bit_control, Qeight_bit_graphic): These variables deleted.
4168 (define_charset_internal): New function. 4007 (define_charset_internal): New function.
4169 (syms_of_charset): Call define_charset_internal for pre-defined 4008 (syms_of_charset): Call define_charset_internal for pre-defined
4170 charsets. 4009 charsets.
4171 4010
4172 * charset.h (charset_8_bit): Extern it. 4011 * charset.h (charset_8_bit): Extern it.
4173 4012
4174 * coding.c (make_conversion_work_buffer): Adjusted for the change 4013 * coding.c (make_conversion_work_buffer): Adjust for the change
4175 of Fset_buffer_multibyte. 4014 of Fset_buffer_multibyte.
4176 (encode_coding_raw_text): Increment p0 in the loop. 4015 (encode_coding_raw_text): Increment p0 in the loop.
4177 4016
4178 * lisp.h (Fset_buffer_multibyte): Prototype adjusted. 4017 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
4179 4018
4180 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjusted 4019 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
4181 for the change of Fset_buffer_multibyte. 4020 for the change of Fset_buffer_multibyte.
4182 4021
4183 * fns.c (Fstring_to_multibyte): New function. 4022 * fns.c (Fstring_to_multibyte): New function.
@@ -4187,8 +4026,7 @@
4187 4026
4188 * xfns.c (x_put_x_image): Declare args. 4027 * xfns.c (x_put_x_image): Declare args.
4189 4028
4190 * xfaces.c (font_name_registry, choose_face_font): Delete unused 4029 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
4191 vars.
4192 (try_font_list): Declare an arg. 4030 (try_font_list): Declare an arg.
4193 4031
4194 * xdisp.c (message2_nolog, set_message): Declare an arg. 4032 * xdisp.c (message2_nolog, set_message): Declare an arg.
@@ -4204,8 +4042,7 @@
4204 4042
4205 * keymap.c (push_key_description): Call CHARACTERP correctly. 4043 * keymap.c (push_key_description): Call CHARACTERP correctly.
4206 4044
4207 * fontset.c (fontset_add): Declare args. Call make_number 4045 * fontset.c (fontset_add): Declare args. Call make_number correctly.
4208 correctly.
4209 (face_for_char): Delete unused vars. 4046 (face_for_char): Delete unused vars.
4210 (Fset_fontset_font): Doc fix. Delete unused vars. 4047 (Fset_fontset_font): Doc fix. Delete unused vars.
4211 4048
@@ -4218,11 +4055,9 @@
4218 * charset.c: Remove `emacs' conditional. Doc fixes. 4055 * charset.c: Remove `emacs' conditional. Doc fixes.
4219 (map_char_table_for_charset): Declare. 4056 (map_char_table_for_charset): Declare.
4220 4057
4221 * character.c (syms_of_character) <translation-table-vector>: Doc 4058 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
4222 fix.
4223 4059
4224 * ccl.c: Remove `emacs' conditional. Include hash table stuff 4060 * ccl.c: Remove `emacs' conditional.
4225 from trunk.
4226 4061
42272008-02-01 Kenichi Handa <handa@m17n.org> 40622008-02-01 Kenichi Handa <handa@m17n.org>
4228 4063
@@ -4239,39 +4074,36 @@
4239 4074
4240 * character.h (Vchar_script_table): Extern it. 4075 * character.h (Vchar_script_table): Extern it.
4241 4076
4242 * character.c (Vscript_alist): This variable deleted. 4077 * character.c (Vscript_alist): Delete.
4243 (Vchar_script_table, Qchar_script_table): New variable. 4078 (Vchar_script_table, Qchar_script_table): New variable.
4244 (syms_of_character): Declare Vchar_script_table as a lisp variable 4079 (syms_of_character): Declare Vchar_script_table as a lisp variable
4245 and initialize it. 4080 and initialize it.
4246 4081
4247 * chartab.c (Fmake_char_table): Doc fixed. If PURPOSE doesn't 4082 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
4248 have property char-table-extra-slots, make no extra slot. 4083 have property char-table-extra-slots, make no extra slot.
4249 4084
4250 * dispextern.h (struct face): Member `charset' deleted. 4085 * dispextern.h (struct face): Delete member `charset'.
4251 (FACE_SUITABLE_FOR_CHAR_P): Use ASCII_CHAR_P, not 4086 (FACE_SUITABLE_FOR_CHAR_P): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4252 SINGLE_BYTE_CHAR_P.
4253 (FACE_FOR_CHAR): Likewise. 4087 (FACE_FOR_CHAR): Likewise.
4254 (choose_face_font, lookup_non_ascii_face, font_name_registry): Add 4088 (choose_face_font, lookup_non_ascii_face, font_name_registry):
4255 prototypes 4089 Add prototypes.
4256 (lookup_face, lookup_named_face, lookup_derived_face): Prototype 4090 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
4257 fixed. 4091 (generate_ascii_font_name): Rename from generate_ascii_font.
4258 (generate_ascii_font_name): Renamed from generate_ascii_font.
4259 4092
4260 * fontset.h (get_font_repertory_func): New prototype. 4093 * fontset.h (get_font_repertory_func): New prototype.
4261 (make_fontset_for_ascii_face, fs_load_font): Prototypes fixed. 4094 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
4262 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii. 4095 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
4263 4096
4264 * fontset.c (Qprepend, Qappend): New variables. 4097 * fontset.c (Qprepend, Qappend): New variables.
4265 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): These macros deleted. 4098 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
4266 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros. 4099 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
4267 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset. 4100 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
4268 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros. 4101 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
4269 (fontset_ref_and_range, fontset_add, reorder_font_vector) 4102 (fontset_ref_and_range, fontset_add, reorder_font_vector)
4270 (load_font_get_repertory): New functions. 4103 (load_font_get_repertory): New functions.
4271 (fontset_set): This function deleted. 4104 (fontset_set): Delete.
4272 (fontset_face): New arg FACE. Return face ID, not face. 4105 (fontset_face): New arg FACE. Return face ID, not face.
4273 Completely re-written to handle new fontset structure. Caller 4106 Complete re-write to handle new fontset structure. Change caller.
4274 changed.
4275 (free_face_fontset): Use ASET istead of AREF (X) = Y. 4107 (free_face_fontset): Use ASET istead of AREF (X) = Y.
4276 (face_for_char): Don't call lookup_face. 4108 (face_for_char): Don't call lookup_face.
4277 (make_fontset_for_ascii_face): New arg FACE. 4109 (make_fontset_for_ascii_face): New arg FACE.
@@ -4289,33 +4121,32 @@
4289 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0). 4121 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
4290 (Fset_fotset_font): Fix arguments to 5. 4122 (Fset_fotset_font): Fix arguments to 5.
4291 4123
4292 * msdos.c (XMenuActivate): Adjuted for the change of 4124 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
4293 lookup_derived_face.
4294 4125
4295 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line): 4126 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
4296 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. 4127 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
4297 (highlight_trailing_whitespace): Adjusted for the change of 4128 (highlight_trailing_whitespace): Adjust for the change of
4298 lookup_named_face. 4129 lookup_named_face.
4299 4130
4300 * xfaces.c: Include charset.h. 4131 * xfaces.c: Include charset.h.
4301 (load_face_font): Argument C deleted. Caller changed. 4132 (load_face_font): Delete argument C. Change caller.
4302 (generate_ascii_font_name): Renamed from generate_ascii_font. 4133 (generate_ascii_font_name): Rename from generate_ascii_font.
4303 (font_name_registry): New function. 4134 (font_name_registry): New function.
4304 (cache_face): Store ascii faces before non-ascii faces in buckets. 4135 (cache_face): Store ascii faces before non-ascii faces in buckets.
4305 (lookup_face): Arguments C and BASE_FACE deleted. Caller changed. 4136 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
4306 Lookup only ascii faces. 4137 Lookup only ascii faces.
4307 (lookup_non_ascii_face): New function. 4138 (lookup_non_ascii_face): New function.
4308 (lookup_named_face): Argument C deleted. Caller changed. 4139 (lookup_named_face): Delete argument C. Change caller.
4309 (lookup_derived_face): Argument C deleted. Caller changed. 4140 (lookup_derived_face): Delete argument C. Change caller.
4310 (try_font_list): New arg PATTERN. Caller changed. If PATTERN is 4141 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
4311 a string, just call font_list with it. 4142 a string, just call font_list with it.
4312 (choose_face_font): Arguments FACE and C deleted. New arg 4143 (choose_face_font): Delete arguments FACE and C. New arg
4313 FONT_SPEC. Caller changed. 4144 FONT_SPEC. Change caller.
4314 (realize_face): Arguments C and BASE_FACE deleted. Caller 4145 (realize_face): Delete arguments C and BASE_FACE. Change caller.
4315 (realize_x_face): Likewise. 4146 (realize_x_face): Likewise.
4316 (realize_non_ascii_face): New function. 4147 (realize_non_ascii_face): New function.
4317 (realize_x_face): Call load_face_font here. 4148 (realize_x_face): Call load_face_font here.
4318 (realize_tty_face): Argument C deleted. Caller changed. 4149 (realize_tty_face): Delete argument C. Change caller.
4319 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to 4150 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
4320 get a face ID. 4151 get a face ID.
4321 (dump_realized_face): Don't print charset of FACE. 4152 (dump_realized_face): Don't print charset of FACE.
@@ -4323,8 +4154,7 @@
4323 * xfns.c (x_set_font): Always call x_new_fontset and 4154 * xfns.c (x_set_font): Always call x_new_fontset and
4324 store_frame_parameter. 4155 store_frame_parameter.
4325 (Fx_create_frame): Call x_new_fontset, not x_new_font. 4156 (Fx_create_frame): Call x_new_fontset, not x_new_font.
4326 (syms_of_xfns): Set get_font_repertory_func to 4157 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
4327 x_get_font_repertory.
4328 4158
4329 * xterm.h (x_get_font_repertory): Extern it. 4159 * xterm.h (x_get_font_repertory): Extern it.
4330 4160
@@ -4347,16 +4177,15 @@
43472008-02-01 Kenichi Handa <handa@m17n.org> 41772008-02-01 Kenichi Handa <handa@m17n.org>
4348 4178
4349 * lread.c: Include "coding.h". 4179 * lread.c: Include "coding.h".
4350 (Qget_emacs_mule_file_char, Qload_force_doc_strings, 4180 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
4351 load_each_byte, unread_char): New variables. 4181 (load_each_byte, unread_char): New variables.
4352 (readchar_backlog): This variable deleted. 4182 (readchar_backlog): Delete.
4353 (readchar): Return a character unless load_each_byte is nonzero. 4183 (readchar): Return a character unless load_each_byte is nonzero.
4354 Handle the case that readcharfun is Qget_emacs_mule_file_char or a 4184 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
4355 cons. If unread_char is not -1, simply return it. 4185 cons. If unread_char is not -1, simply return it.
4356 (unreadchar): Handle the case that readcharfun is 4186 (unreadchar): Handle the case that readcharfun is
4357 Qget_emacs_mule_file_char or a cons. Set unread_char if 4187 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
4358 necessary. 4188 (read_multibyte): Delete.
4359 (read_multibyte): This function deleted.
4360 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string) 4189 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
4361 (read_emacs_mule_char): New functions. 4190 (read_emacs_mule_char): New functions.
4362 (Fload): Even if the file doesn't have the extention ".elc", if 4191 (Fload): Even if the file doesn't have the extention ".elc", if
@@ -4364,17 +4193,14 @@
4364 file contains bytecompiled code. If the version is less than 22, 4193 file contains bytecompiled code. If the version is less than 22,
4365 load the file while decoding multibyte sequences by emacs-mule. 4194 load the file while decoding multibyte sequences by emacs-mule.
4366 (readevalloop): Don't use readchar_backlog. 4195 (readevalloop): Don't use readchar_backlog.
4367 (Fread): Likewise. Pay attention to the case that STREAM is a 4196 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
4368 cons. 4197 (Fread_from_string): Pay attention to the case that STREAM is a cons.
4369 (Fread_from_string): Pay attention to the case that STREAM is a 4198 (read_escape): Delete the arg BYTEREP.
4370 cons.
4371 (read_escape): The arg BYTEREP deleted.
4372 (read1): Set load_each_byte to 1 temporarily while handling 4199 (read1): Set load_each_byte to 1 temporarily while handling
4373 #@NUMBER. Don't call read_multibyte. 4200 #@NUMBER. Don't call read_multibyte.
4374 (read_vector): Call Fread with a cons. If readcharfun is 4201 (read_vector): Call Fread with a cons. If readcharfun is
4375 Qget_emacs_mule_file_char, decode the read string by emacs-mule. 4202 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
4376 (read_list): If doc_reference is 2, make the cdr part string as 4203 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
4377 unibyte.
4378 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char 4204 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
4379 and Qload_force_doc_strings. 4205 and Qload_force_doc_strings.
4380 4206
@@ -4386,7 +4212,7 @@
43862008-02-01 Kenichi Handa <handa@m17n.org> 42122008-02-01 Kenichi Handa <handa@m17n.org>
4387 4213
4388 * character.h (TRAILING_CODE_P): New macro. 4214 * character.h (TRAILING_CODE_P): New macro.
4389 (MAYBE_UNIFY_CHAR): Adjusted for the change of Funify_charset. 4215 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
4390 (string_char_with_unification): Fix prototype. 4216 (string_char_with_unification): Fix prototype.
4391 (Vscript_alist): Extern it. 4217 (Vscript_alist): Extern it.
4392 4218
@@ -4402,25 +4228,23 @@
4402 (EMACS_MULE_LEADING_CODE_PRIVATE_12) 4228 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
4403 (EMACS_MULE_LEADING_CODE_PRIVATE_21) 4229 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
4404 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros 4230 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
4405 (Funify_charset): Adjusted for the change of Funify_charset. 4231 (Funify_charset): Adjust for the change of Funify_charset.
4406 4232
4407 * charset.c (charset_ordered_list_tick): New variable. 4233 * charset.c (charset_ordered_list_tick): New variable.
4408 (Fdefine_charset_internal): Increment charset_ordered_list_tick. 4234 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
4409 (Funify_charset): New optional arg DEUNIFY. If it is non-nil, 4235 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
4410 deunify intead of unify a charset. 4236 deunify intead of unify a charset.
4411 (string_xstring_p): Add `const' to local variables. 4237 (string_xstring_p): Add `const' to local variables.
4412 (find_charsets_in_text): Add `const' to arguemnts and local 4238 (find_charsets_in_text): Add `const' to arguemnts and local variables.
4413 variables. 4239 (encode_char): Adjust for the change of Funify_charset. Fix
4414 (encode_char): Adjusted for the change of Funify_charset. Fix
4415 detecting of invalid code. 4240 detecting of invalid code.
4416 (Fset_charset_priority): Increment charset_ordered_list_tick. 4241 (Fset_charset_priority): Increment charset_ordered_list_tick.
4417 (Fmap_charset_chars): Fix handling of default value for FROM_CODE 4242 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
4418 and TO_CODE. 4243 and TO_CODE.
4419 4244
4420 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12) 4245 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
4421 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Macros 4246 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
4422 deleted. Callers changed to use 4247 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4423 EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4424 (decode_coding_ccl): Add `const' to local variables. 4248 (decode_coding_ccl): Add `const' to local variables.
4425 (consume_chars): Likewise. 4249 (consume_chars): Likewise.
4426 (Ffind_coding_systems_region_internal): Likewise. 4250 (Ffind_coding_systems_region_internal): Likewise.
@@ -4439,9 +4263,9 @@
4439 * fns.c: Move coding.h. 4263 * fns.c: Move coding.h.
4440 (Qcodeset, Qdays, Qmonths): New. 4264 (Qcodeset, Qdays, Qmonths): New.
4441 (concat): Use CHARACTERP instead of INTERGERP. 4265 (concat): Use CHARACTERP instead of INTERGERP.
4442 (Flocale_codeset): Deleted. 4266 (Flocale_codeset): Delete.
4443 (Flanginfo): New function. 4267 (Flanginfo): New function.
4444 (syms_of_fns): Changed accordingly. 4268 (syms_of_fns): Change accordingly.
4445 4269
4446 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup. 4270 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
4447 4271
@@ -4468,7 +4292,7 @@
4468 4292
4469 * coding.h (code_convert_region): Fix prototype. 4293 * coding.h (code_convert_region): Fix prototype.
4470 4294
4471 * dispextern.h (redraw_frame, redraw_garbaged_frames): Removed. 4295 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
4472 4296
4473 * fontset.c (fontset_ref, fontset_set, fs_load_font) 4297 * fontset.c (fontset_ref, fontset_set, fs_load_font)
4474 (Ffontset_info): Convert Lisp types. 4298 (Ffontset_info): Convert Lisp types.
@@ -4526,7 +4350,7 @@
4526 of category_set for characters out of the range. Avoid 4350 of category_set for characters out of the range. Avoid
4527 unnecessary modification. 4351 unnecessary modification.
4528 4352
4529 * character.h (MAYBE_UNIFY_CHAR): Adjusted for the change of 4353 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
4530 Vchar_unify_table. The default value of the table is now nil. 4354 Vchar_unify_table. The default value of the table is now nil.
4531 4355
4532 * character.c (syms_of_character): Setup Vchar_width_table for 4356 * character.c (syms_of_character): Setup Vchar_width_table for
@@ -4539,37 +4363,36 @@
4539 charset_subset and charset_superset. 4363 charset_subset and charset_superset.
4540 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add 4364 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
4541 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET. 4365 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
4542 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Macros deleted. 4366 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
4543 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET) 4367 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
4544 (CHARSET_SUPERSET): New macros. 4368 (CHARSET_SUPERSET): New macros.
4545 (charset_work): Extern it. 4369 (charset_work): Extern it.
4546 (ENCODE_CHAR): Use charset_work. 4370 (ENCODE_CHAR): Use charset_work.
4547 (CHAR_CHARSET_P): Adjusted for the change of encoder format. 4371 (CHAR_CHARSET_P): Adjust for the change of encoder format.
4548 (map_charset_chars): Extern it. 4372 (map_charset_chars): Extern it.
4549 4373
4550 * charset.c (load_charset_map): Set the default value of encoder 4374 * charset.c (load_charset_map): Set the default value of encoder
4551 and deunifier char-tables to nil. 4375 and deunifier char-tables to nil.
4552 (map_charset_chars): Argument changed. Callers changed. Use 4376 (map_charset_chars): Change argument. Change callers. Use
4553 map_char_table_for_charset instead of map_char_table. 4377 map_char_table_for_charset instead of map_char_table.
4554 (Fmap_charset_chars): New optional args from_code and to_code. 4378 (Fmap_charset_chars): New optional args from_code and to_code.
4555 (Fdefine_charset_internal): Adjusted for the change of 4379 (Fdefine_charset_internal): Adjust for the change of
4556 `define-charset' (:parents -> :subset or :superset). 4380 `define-charset' (:parents -> :subset or :superset).
4557 (charset_work): New variable. 4381 (charset_work): New variable.
4558 (encode_char): Adjusted for the change of 4382 (encode_char): Adjust for the change of Fdefine_charset_internal.
4559 Fdefine_charset_internal.
4560 (syms_of_charset): Likewise. 4383 (syms_of_charset): Likewise.
4561 (Ffind_charset_string): Setup the vector `charsets' correctly. 4384 (Ffind_charset_string): Setup the vector `charsets' correctly.
4562 4385
4563 * chartab.c (sub_char_table_ref_and_range): New arg defalt. Fix 4386 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
4564 the previous change. 4387 the previous change.
4565 (char_table_ref_and_range): Adjusted for the above change. 4388 (char_table_ref_and_range): Adjust for the above change.
4566 (map_sub_char_table_for_charset): New function. 4389 (map_sub_char_table_for_charset): New function.
4567 (map_char_table_for_charset): New function. 4390 (map_char_table_for_charset): New function.
4568 4391
4569 * keymap.c (describe_vector): Handle a char-table directly here. 4392 * keymap.c (describe_vector): Handle a char-table directly here.
4570 (describe_char_table): Deleted. 4393 (describe_char_table): Delete.
4571 4394
4572 * lisp.h (map_charset_chars): Deleted. 4395 * lisp.h (map_charset_chars): Delete.
4573 4396
45742008-02-01 Dave Love <fx@gnu.org> 43972008-02-01 Dave Love <fx@gnu.org>
4575 4398
@@ -4578,7 +4401,7 @@
4578 (syms_of_fns): Defsubr it. 4401 (syms_of_fns): Defsubr it.
4579 4402
4580 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New. 4403 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
4581 (size_t): Removed. 4404 (size_t): Remove.
4582 4405
45832008-02-01 Dave Love <fx@gnu.org> 44062008-02-01 Dave Love <fx@gnu.org>
4584 4407
@@ -4598,8 +4421,7 @@
4598 * charset.c (load_charset_map): Handle the case that from < to 4421 * charset.c (load_charset_map): Handle the case that from < to
4599 correctly. 4422 correctly.
4600 4423
4601 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit 4424 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit chars.
4602 chars.
4603 (encode_coding_iso_2022): Likewise. 4425 (encode_coding_iso_2022): Likewise.
4604 (encode_coding_sjis): Likewise. 4426 (encode_coding_sjis): Likewise.
4605 (encode_coding_big5): Likewise. 4427 (encode_coding_big5): Likewise.
@@ -4616,13 +4438,13 @@
4616 (Fdefine_charset_internal): Setup them if appropriate. 4438 (Fdefine_charset_internal): Setup them if appropriate.
4617 (init_charset_once): Initialize them to -1. 4439 (init_charset_once): Initialize them to -1.
4618 4440
4619 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978, 4441 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
4620 charset_jisx0208): Extern them. 4442 (charset_jisx0208): Extern them.
4621 4443
4622 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro 4444 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
4623 (CODING_ISO_FLAG_USE_OLDJIS): New macro. 4445 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
4624 (CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed. 4446 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
4625 (setup_iso_safe_charsets): Fix arguemtns to Fassq. 4447 (setup_iso_safe_charsets): Fix arguments to Fassq.
4626 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN 4448 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN
4627 and CODING_ISO_FLAG_USE_OLDJIS. 4449 and CODING_ISO_FLAG_USE_OLDJIS.
4628 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise. 4450 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise.
@@ -4669,7 +4491,7 @@
46692008-02-01 Dave Love <fx@gnu.org> 44912008-02-01 Dave Love <fx@gnu.org>
4670 4492
4671 * term.c (costs_set): Declare static, non-initialized for pcc. 4493 * term.c (costs_set): Declare static, non-initialized for pcc.
4672 (encode_terminal_code): Remove ensued var. 4494 (encode_terminal_code): Remove unused var.
4673 4495
4674 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl 4496 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
4675 for K&R. 4497 for K&R.
@@ -4677,10 +4499,9 @@
4677 * xterm.c (xlwmenu_window_p): Fix prototype for K&R. 4499 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
4678 4500
4679 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R. 4501 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
4680 (suffixes): Moved out of make_subsidiaries for K&R. 4502 (suffixes): Move out of make_subsidiaries for K&R.
4681 4503
4682 * charset.c (map_charset_chars): Fix c_function declaration for 4504 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
4683 K&R.
4684 4505
4685 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'. 4506 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
4686 4507
@@ -4688,15 +4509,13 @@
4688 4509
4689 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP. 4510 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
4690 4511
4691 * category.c (Fmodify_category_entry): Doc fix. Remove unused 4512 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
4692 vars.
4693 4513
46942008-02-01 Yong Lu <lyongu@asia-infonet.com> 45142008-02-01 Yong Lu <lyongu@asia-infonet.com>
4695 4515
4696 * charset.c (Fdefine_charset_internal): Fix argument to bzero. 4516 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
4697 4517
4698 * coding.c (Fdefine_coding_system_internal): Fix previous change. 4518 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
4699 (decode_coding_charset): Workaround for the bug of GCC 2.96.
4700 4519
47012008-02-01 Kenichi Handa <handa@m17n.org> 45202008-02-01 Kenichi Handa <handa@m17n.org>
4702 4521
@@ -4706,28 +4525,25 @@
4706 4525
47072008-02-01 Kenichi Handa <handa@m17n.org> 45262008-02-01 Kenichi Handa <handa@m17n.org>
4708 4527
4709 * coding.c (decode_coding_charset): Adjusted for the change of 4528 * coding.c (decode_coding_charset): Adjust for the change of
4710 Fdefine_coding_system_internal. 4529 Fdefine_coding_system_internal.
4711 (Fdefine_coding_system_internal): For a coding system of 4530 (Fdefine_coding_system_internal): For a coding system of
4712 `charset' type, store a list of charset IDs in 4531 `charset' type, store a list of charset IDs in
4713 `charset_attr_charset_valids' element of coding attributes. 4532 `charset_attr_charset_valids' element of coding attributes.
4714 4533
4715 * charset.c (Fmake_char): Fix previous change.
4716
47172008-02-01 Kenichi Handa <handa@m17n.org> 45342008-02-01 Kenichi Handa <handa@m17n.org>
4718 4535
4719 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars. 4536 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
4720 (emacs_mule_char): New arg src. Delete arg `composition'. Caller 4537 (emacs_mule_char): New arg src. Delete arg `composition'. Change
4721 changed. Handle 2-byte and 3-byte charsets correctly. 4538 caller. Handle 2-byte and 3-byte charsets correctly.
4722 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from 4539 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
4723 DECODE_EMACS_MULE_COMPOSITION_RULE. Caller changed. 4540 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
4724 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro. 4541 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
4725 (DECODE_EMACS_MULE_21_COMPOSITION): Call 4542 (DECODE_EMACS_MULE_21_COMPOSITION): Call
4726 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation 4543 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
4727 sequence. 4544 sequence.
4728 (decode_coding_emacs_mule): Handle composition correctly. Rewind 4545 (decode_coding_emacs_mule): Handle composition correctly. Rewind
4729 `src' and `consumed_chars' correctly before calling 4546 `src' and `consumed_chars' correctly before calling emacs_mule_char.
4730 emacs_mule_char.
4731 (DECODE_COMPOSITION_START): Correctly handle the case of altchar 4547 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
4732 and alt&rule composition. 4548 and alt&rule composition.
4733 (decode_coding_iso_2022): Handle composition correctly. 4549 (decode_coding_iso_2022): Handle composition correctly.
@@ -4736,8 +4552,7 @@
4736 * charset.c (Fdefine_charset_internal): Fix bug for the case of 4552 * charset.c (Fdefine_charset_internal): Fix bug for the case of
4737 re-defining a charset. If the charset has :emacs-mule-id, setup 4553 re-defining a charset. If the charset has :emacs-mule-id, setup
4738 emacs_mule_bytes. 4554 emacs_mule_bytes.
4739 (Fmake_char): If CODE1 is nil, use the minimum code of the 4555 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
4740 charset.
4741 4556
47422008-02-01 Kenichi Handa <handa@m17n.org> 45572008-02-01 Kenichi Handa <handa@m17n.org>
4743 4558
@@ -4754,18 +4569,14 @@
4754 4569
4755 * process.c: Conditionally include sys/wait.h, pty.h. 4570 * process.c: Conditionally include sys/wait.h, pty.h.
4756 4571
4757 * print.c (print_object): Fix print format for 64-bit 4572 * print.c (print_object): Fix print format for 64-bit systems.
4758 systems.
4759 4573
4760 * keyboard.c (modify_event_symbol): Fix print format for 64-bit 4574 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
4761 systems.
4762 4575
4763 * buffer.c (emacs_strerror): Declare. 4576 * buffer.c (emacs_strerror): Declare.
4764 (MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
4765 from trunk.
4766 4577
4767 * fontset.c (Fclear_face_cache): Declare. 4578 * fontset.c (Fclear_face_cache): Declare.
4768 (accumulate_font_info): Commented-out (unused). 4579 (accumulate_font_info): Comment-out (unused).
4769 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused 4580 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
4770 variables. 4581 variables.
4771 4582
@@ -4776,8 +4587,7 @@
4776 (Fdefine_charset_internal, Fsplit_char, syms_of_charset) 4587 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
4777 (Fmap_charset_chars): Doc fix. 4588 (Fmap_charset_chars): Doc fix.
4778 4589
4779 * coding.c (Vchar_coding_system_table, Qchar_coding_system): 4590 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
4780 Removed.
4781 (Fset_coding_system_priority, Fset_coding_system_priority) 4591 (Fset_coding_system_priority, Fset_coding_system_priority)
4782 (Fdefine_coding_system_internal): Doc fix. 4592 (Fdefine_coding_system_internal): Doc fix.
4783 4593
@@ -4833,18 +4643,15 @@
4833 4643
48342008-02-01 Yong Lu <lyongu@asia-infonet.com> 46442008-02-01 Yong Lu <lyongu@asia-infonet.com>
4835 4645
4836 * charset.c (load_charset_map): Fix previous change. 4646 * charset.c (read_hex): Don't treat SPC as a comment starter.
4837 (read_hex): Don't treat SPC as a comment starter. 4647 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
4838 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
4839 -1.
4840 (Fdecode_char): Fix typo. 4648 (Fdecode_char): Fix typo.
4841 4649
48422008-02-01 Kenichi Handa <handa@m17n.org> 46502008-02-01 Kenichi Handa <handa@m17n.org>
4843 4651
4844 * charset.h (struct charset): New member `code_space_mask'. 4652 * charset.h (struct charset): New member `code_space_mask'.
4845 4653
4846 * coding.c (coding_set_source): Delete the local variable 4654 * coding.c (coding_set_source): Delete the local variable beg_byte.
4847 beg_byte.
4848 (encode_coding_charset): Delete the local variable charset. 4655 (encode_coding_charset): Delete the local variable charset.
4849 (Fdefine_coding_system_internal): Likewise. 4656 (Fdefine_coding_system_internal): Likewise.
4850 (Fdefine_coding_system_internal): Setup 4657 (Fdefine_coding_system_internal): Setup
@@ -4886,14 +4693,13 @@
4886 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling. 4693 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
4887 4694
4888 * callproc.c (Fcall_process): Be sure to give the current buffer 4695 * callproc.c (Fcall_process): Be sure to give the current buffer
4889 to decode_coding_c_string. Update PT and PT_BYTE after the 4696 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
4890 insertion.
4891 4697
4892 * charset.c (struct charset_map_entries): New struct. 4698 * charset.c (struct charset_map_entries): New struct.
4893 (load_charset_map): Renamed from parse_charset_map. New args 4699 (load_charset_map): Rename from parse_charset_map. New args
4894 entries and n_entries. Caller changed. 4700 entries and n_entries. Change caller.
4895 (load_charset_map_from_file): Renamed from load_charset_map. 4701 (load_charset_map_from_file): Rename from load_charset_map.
4896 Caller changed. New arg control_flag. Call load_charset_map at 4702 Change caller. New arg control_flag. Call load_charset_map at
4897 the tail. 4703 the tail.
4898 (load_charset_map_from_vector): New function. 4704 (load_charset_map_from_vector): New function.
4899 (Fdefine_charset_internal): Setup charset.compact_codes_p. 4705 (Fdefine_charset_internal): Setup charset.compact_codes_p.
@@ -4941,8 +4747,7 @@
49412008-02-01 Kenichi Handa <handa@m17n.org> 47472008-02-01 Kenichi Handa <handa@m17n.org>
4942 4748
4943 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0. 4749 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
4944 (decode_coding_utf_16): Fix converting high and low bytes to 4750 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
4945 code-point.
4946 (encode_coding_utf_16): Substitute coding->default_char for 4751 (encode_coding_utf_16): Substitute coding->default_char for
4947 non-Unicode characters. 4752 non-Unicode characters.
4948 (decode_coding): Don't call record_insert here. 4753 (decode_coding): Don't call record_insert here.
@@ -4957,14 +4762,13 @@
4957 * casefiddle.c (casify_region): Fix multibyte case. 4762 * casefiddle.c (casify_region): Fix multibyte case.
4958 4763
4959 * character.c (c_string_width): Add return type `int'. 4764 * character.c (c_string_width): Add return type `int'.
4960 (char_string_with_unification): Arg ADVANCED deleted. 4765 (char_string_with_unification): Delete arg ADVANCED.
4961 4766
4962 * character.h (CHAR_VALID_P): Don't call CHARACTERP. 4767 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
4963 (CHAR_STRING): Adjusted for the change of 4768 (CHAR_STRING): Adjust for the change of char_string_with_unification.
4964 char_string_with_unification.
4965 (CHAR_STRING_ADVANCE): Make it do-while statement. 4769 (CHAR_STRING_ADVANCE): Make it do-while statement.
4966 4770
4967 * chartab.c (sub_char_table_set_range): Optimized for the case 4771 * chartab.c (sub_char_table_set_range): Optimize for the case
4968 DEPTH == 3. Add workaround code for a GCC optimization bug. 4772 DEPTH == 3. Add workaround code for a GCC optimization bug.
4969 4773
4970 * charset.c (parse_charset_map): Remove an unused variable. 4774 * charset.c (parse_charset_map): Remove an unused variable.
@@ -4983,8 +4787,7 @@
4983 character model, and use UTF-8 format for buffer/string 4787 character model, and use UTF-8 format for buffer/string
4984 representation. 4788 representation.
4985 4789
4986 * .gdbinit (xchartable): Adjusted for the change of char table 4790 * .gdbinit (xchartable): Adjust for the change of char table structure.
4987 structure.
4988 (xsubchartable, xcoding, xcharset, xcurbuf): New commands. 4791 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
4989 4792
4990 * Makefile.in (obj): Add character.o and chartab.o. 4793 * Makefile.in (obj): Add character.o and chartab.o.
@@ -4993,21 +4796,21 @@
4993 character.h, and add dependency on character.h. 4796 character.h, and add dependency on character.h.
4994 (character.o, chartab.o): New targets. 4797 (character.o, chartab.o): New targets.
4995 4798
4996 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c, 4799 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
4997 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c, 4800 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
4998 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead 4801 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
4999 of "charset.h". 4802 of "charset.h".
5000 4803
5001 * dired.c, filelock.c: Include "character.h". 4804 * dired.c, filelock.c: Include "character.h".
5002 4805
5003 * alloc.c: Include "character.h" instead of "charset.h". 4806 * alloc.c: Include "character.h" instead of "charset.h".
5004 (Fmake_char_table): Moved to chartab.c. 4807 (Fmake_char_table): Move to chartab.c.
5005 (make_sub_char_table): Likewise. 4808 (make_sub_char_table): Likewise.
5006 (syms_of_alloc): Remove defsubr for Smake_char_table. 4809 (syms_of_alloc): Remove defsubr for Smake_char_table.
5007 4810
5008 * buffer.c: Include "character.h" instead of "charset.h", don't 4811 * buffer.c: Include "character.h" instead of "charset.h", don't
5009 include "coding.h". 4812 include "coding.h".
5010 (Fset_buffer_multibyte): Adjuted for UTF-8. 4813 (Fset_buffer_multibyte): Adjust for UTF-8.
5011 4814
5012 * buffer.h: EXFUN Fbuffer_live_p. 4815 * buffer.h: EXFUN Fbuffer_live_p.
5013 4816
@@ -5015,7 +4818,7 @@
5015 (Fcall_process): Big change for the new code-conversion APIs. 4818 (Fcall_process): Big change for the new code-conversion APIs.
5016 4819
5017 * casetab.c: Include "character.h" instead of "charset.h". 4820 * casetab.c: Include "character.h" instead of "charset.h".
5018 (set_canon, set_identity, shuffle): Adjusted for the new 4821 (set_canon, set_identity, shuffle): Adjust for the new
5019 map_char_table spec. 4822 map_char_table spec.
5020 (init_casetab_once): Call CHAR_TABLE_SET instead of directly 4823 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
5021 accessing the char table structure. 4824 accessing the char table structure.
@@ -5027,7 +4830,7 @@
5027 (copy_category_table): Call map_char_table and copy_category_entry. 4830 (copy_category_table): Call map_char_table and copy_category_entry.
5028 (Fmake_category_table): Initialize all top-vel slots. 4831 (Fmake_category_table): Initialize all top-vel slots.
5029 (char_category_set): New function. 4832 (char_category_set): New function.
5030 (modify_lower_category_set): Deleted. 4833 (modify_lower_category_set): Delete.
5031 (Fmodify_category_entry): Call char_table_ref_and_range. 4834 (Fmodify_category_entry): Call char_table_ref_and_range.
5032 4835
5033 * category.h (CATEGORY_SET): Just call char_category_set. 4836 * category.h (CATEGORY_SET): Just call char_category_set.
@@ -5036,50 +4839,48 @@
5036 (Qccl, Qcclp): New variables. 4839 (Qccl, Qcclp): New variables.
5037 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if 4840 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
5038 it's less than 256. 4841 it's less than 256.
5039 (CCL_WRITE_MULTIBYTE_CHAR): Deleted. 4842 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
5040 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC 4843 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
5041 and DST type. 4844 and DST type.
5042 (ccl_driver): Types of arguments changed. Code adjusted for that. 4845 (ccl_driver): Change types of argument, adjust code accordingly.
5043 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of 4846 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
5044 ccl_driver. 4847 ccl_driver.
5045 (syms_of_ccl): Intern and staticpro Qccl and Qcclp. 4848 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
5046 4849
5047 * ccl.h (struct ccl_program): Members eol_type and multibyte 4850 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
5048 deleted. New members src_multibyte, dst_multibyte, consumed, and 4851 New members src_multibyte, dst_multibyte, consumed, and produced.
5049 produced. 4852 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
5050 (struct ccl_spec): Members decoder and encoder deleted. New
5051 memeber ccl.
5052 (CODING_SPEC_CCL_PROGRAM): New macro. 4853 (CODING_SPEC_CCL_PROGRAM): New macro.
5053 (ccl_driver): Prototype updated. 4854 (ccl_driver): Update prototype.
5054 (Qccl, Qcclp, Fccl_program_p): Extern them. 4855 (Qccl, Qcclp, Fccl_program_p): Extern them.
5055 (CHECK_CCL_PROGRAM): New macro. 4856 (CHECK_CCL_PROGRAM): New macro.
5056 4857
5057 * character.c, character.h, chartab.c: New files. 4858 * character.c, character.h, chartab.c: New files.
5058 4859
5059 * charset.c: Mostly re-written. Character and multibyte sequence 4860 * charset.c: Mostly re-written. Move character and multibyte sequence
5060 handling codes are moved to character.c. 4861 handling codes to character.c.
5061 4862
5062 * charset.h: Mostly re-written. Character and multibyte sequence 4863 * charset.h: Mostly re-written. Move character and multibyte sequence
5063 handling codes are moved to character.h. 4864 handling codes to character.h.
5064 4865
5065 * coding.c, coding.h: Mostly re-written. 4866 * coding.c, coding.h: Mostly re-written.
5066 4867
5067 * composite.c: Include "character.h" instead of "charset.h". 4868 * composite.c: Include "character.h" instead of "charset.h".
5068 (CHAR_WIDTH): Moved to character.h. 4869 (CHAR_WIDTH): Move to character.h.
5069 (HASH_KEY, HASH_VALUE): Deleted. 4870 (HASH_KEY, HASH_VALUE): Delete.
5070 4871
5071 * composite.h (enum composition_method): Order of enumeration 4872 * composite.h (enum composition_method): Change order of enumeration
5072 symbols changed. 4873 symbols.
5073 4874
5074 * data.c: Include "character.h" instead of "charset.h". 4875 * data.c: Include "character.h" instead of "charset.h".
5075 (Faref): Call CHAR_TABLE_REF for a char table. 4876 (Faref): Call CHAR_TABLE_REF for a char table.
5076 (Faset): Call CHAR_TABLE_SET for a char table. 4877 (Faset): Call CHAR_TABLE_SET for a char table.
5077 4878
5078 * dispextern.h (free_realized_face, check_face_attribytes, 4879 * dispextern.h (free_realized_face, check_face_attribytes)
5079 generate_ascii_font): Extern them. 4880 (generate_ascii_font): Extern them.
5080 (free_realized_multibyte_face): Extern deleted. 4881 (free_realized_multibyte_face): Delete extern.
5081 4882
5082 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char 4883 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
5083 table structure. 4884 table structure.
5084 4885
5085 * editfns.c: Include "character.h" instead of "charset.h". 4886 * editfns.c: Include "character.h" instead of "charset.h".
@@ -5089,44 +4890,41 @@
5089 syms_of_chartab, and syms_of_character. 4890 syms_of_chartab, and syms_of_character.
5090 4891
5091 * fileio.c: Include "character.h" instead of "charset.h". 4892 * fileio.c: Include "character.h" instead of "charset.h".
5092 (Finsert_file_contents): Big change for the new code-conversion 4893 (Finsert_file_contents): Big change for the new code-conversion API.
5093 API.
5094 (choose_write_coding_system): Likewise. 4894 (choose_write_coding_system): Likewise.
5095 (Fwrite_region): Likewise. 4895 (Fwrite_region): Likewise.
5096 (build_annotations_2): Deleted. 4896 (build_annotations_2): Delete.
5097 (e_write): Big change for the new code-conversion API. 4897 (e_write): Big change for the new code-conversion API.
5098 4898
5099 * fns.c: Include "character.h" instead of "charset.h". 4899 * fns.c: Include "character.h" instead of "charset.h".
5100 (copy_sub_char_table): Moved to chartab.c. 4900 (copy_sub_char_table): Move to chartab.c.
5101 (Fcopy_sequence): Call copy_char_table for a char table. 4901 (Fcopy_sequence): Call copy_char_table for a char table.
5102 (concat): Delete codes calling count_multibyte. 4902 (concat): Delete codes calling count_multibyte.
5103 (string_char_to_byte): Adjusted for the new multibyte form. 4903 (string_char_to_byte): Adjust for the new multibyte form.
5104 (string_byte_to_char): Likewise. 4904 (string_byte_to_char): Likewise.
5105 (internal_equal): Adjusted for the change of char table structure. 4905 (internal_equal): Adjust for the change of char table structure.
5106 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent, 4906 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
5107 Fchar_table_extra_slot, Fset_char_table_extra_slot, 4907 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
5108 Fchar_table_range, Fset_char_table_range, Fset_char_table_default, 4908 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
5109 char_table_translate, optimize_sub_char_table, 4909 (char_table_translate, optimize_sub_char_table)
5110 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to 4910 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
5111 chartab.c. 4911 chartab.c.
5112 (char_table_ref_and_index): Deleted. 4912 (char_table_ref_and_index): Delete.
5113 (HASH_KEY, HASH_VALUE): Moved to lisp.h. 4913 (HASH_KEY, HASH_VALUE): Move to lisp.h.
5114 (Fmd5): Call preferred_coding_system instead of accessing 4914 (Fmd5): Call preferred_coding_system instead of accessing
5115 Vcoding_category_list. Adjusted for the new code-conversion API. 4915 Vcoding_category_list. Adjust for the new code-conversion API.
5116 (syms_of_fns): Defsubr for char table related functions moved to 4916 (syms_of_fns): Move defsubr for char table related functions to
5117 chartab.c. 4917 chartab.c.
5118 4918
5119 * fontset.c: Mostly re-written. 4919 * fontset.c: Mostly re-written.
5120 4920
5121 * fontset.h (struct font_info): Type of the member encoding_type 4921 * fontset.h (struct font_info): Change type of the member encoding_type.
5122 changed.
5123 (enum FONT_SPEC_INDEX): New enum. 4922 (enum FONT_SPEC_INDEX): New enum.
5124 (fontset_font_pattern, fs_load_font): Prototype updated. 4923 (fontset_font_pattern, fs_load_font): Update prototype.
5125 (FS_LOAD_FONT): Adjusted for the change of fs_load_font. 4924 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
5126 4925
5127 * indent.c: Include "character.h" instead of "charset.h". 4926 * indent.c: Include "character.h" instead of "charset.h".
5128 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of 4927 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
5129 WIDTH_BY_CHAR_HEAD.
5130 4928
5131 * insdel.c: Include "character.h" instead of "charset.h". 4929 * insdel.c: Include "character.h" instead of "charset.h".
5132 (copy_text): Don't refer to Vnonascii_translation_table. 4930 (copy_text): Don't refer to Vnonascii_translation_table.
@@ -5136,13 +4934,13 @@
5136 (command_loop_1): Never call direct_output_forward_char before 4934 (command_loop_1): Never call direct_output_forward_char before
5137 a non-ASCII character. 4935 a non-ASCII character.
5138 (read_char): If Vkeyboard_translate_table is a char table, always 4936 (read_char): If Vkeyboard_translate_table is a char table, always
5139 translated a character. 4937 translate a character.
5140 4938
5141 * keymap.c: Include "character.h". 4939 * keymap.c: Include "character.h".
5142 (store_in_keymap): Handle the case that IDX is a cons. 4940 (store_in_keymap): Handle the case that IDX is a cons.
5143 (Fdefine_key): Handle the case that KEY is a cons and the car part 4941 (Fdefine_key): Handle the case that KEY is a cons and the car part
5144 is also a cons (range). 4942 is also a cons (range).
5145 (push_key_description): Adjusted for the new character code. 4943 (push_key_description): Adjust for the new character code.
5146 (describe_vector): Call describe_char_table for a char table. 4944 (describe_vector): Call describe_char_table for a char table.
5147 (describe_char_table): New function. 4945 (describe_char_table): New function.
5148 4946
@@ -5150,113 +4948,108 @@
5150 4948
5151 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE. 4949 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
5152 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros. 4950 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
5153 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS, 4951 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
5154 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS): 4952 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
5155 Deleted. 4953 Delete.
5156 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table 4954 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
5157 structure. 4955 structure.
5158 (CHAR_TABLE_TRANSLATE): Just call char_table_translate. 4956 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
5159 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, 4957 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
5160 CHARTAB_SIZE_BITS_3): New macros. 4958 (CHARTAB_SIZE_BITS_3): New macros.
5161 (chartab_size): Extern it. 4959 (chartab_size): Extern it.
5162 (struct Lisp_Char_Table): Re-designed. 4960 (struct Lisp_Char_Table): Re-design.
5163 (struct Lisp_Sub_Char_Table): New structure. 4961 (struct Lisp_Sub_Char_Table): New structure.
5164 (HASH_KEY, HASH_VALUE): Moved from fns.c. 4962 (HASH_KEY, HASH_VALUE): Move from fns.c.
5165 (CHARACTERBITS): Defined as 22. 4963 (CHARACTERBITS): Define as 22.
5166 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change. 4964 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
5167 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE. 4965 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
5168 (GC_SUB_CHAR_TABLE_P): New macro. 4966 (GC_SUB_CHAR_TABLE_P): New macro.
5169 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated. 4967 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
5170 (code_convert_string_norecord): Extern deleted. 4968 (code_convert_string_norecord): Deleted extern.
5171 (init_character_once, syms_of_character, init_charset, 4969 (init_character_once, syms_of_character, init_charset)
5172 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them. 4970 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
5173 4971
5174 * lread.c: Include "character.h". 4972 * lread.c: Include "character.h".
5175 (read_multibyte): New arg NBYTES. 4973 (read_multibyte): New arg NBYTES.
5176 (read_escape): The meaning of returned *BYTEREP changed. 4974 (read_escape): Change the meaning of returned *BYTEREP.
5177 (to_multibyte): Deleted. 4975 (to_multibyte): Delete.
5178 (read1): Adjuted the handling of char table and string. 4976 (read1): Adjust the handling of char table and string.
5179 4977
5180 * print.c: Include "character.h" instead of "charset.h". 4978 * print.c: Include "character.h" instead of "charset.h".
5181 (print_string): Convert 8-bit raw bytes to octal form by 4979 (print_string): Convert 8-bit raw bytes to octal form by
5182 string_escape_byte8. 4980 string_escape_byte8.
5183 (print_object): Adjusted for the new multibyte form. Print 8-bit 4981 (print_object): Adjust for the new multibyte form. Print 8-bit
5184 raw bytes always in octal form. Handle sub char table correctly. 4982 raw bytes always in octal form. Handle sub char table correctly.
5185 4983
5186 * process.c: Include "character.h" instead of "charset.h". 4984 * process.c: Include "character.h" instead of "charset.h".
5187 (read_process_output): Adjusted for the new code-conversion API. 4985 (read_process_output): Adjust for the new code-conversion API.
5188 (send_process): Likewise. 4986 (send_process): Likewise.
5189 4987
5190 * puresize.h (BASE_PURESIZE): Increased. 4988 * puresize.h (BASE_PURESIZE): Increase.
5191 4989
5192 * regex.c: Include "character.h" instead of "charset.h". 4990 * regex.c: Include "character.h" instead of "charset.h".
5193 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros. 4991 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
5194 (regex_compile): Accept a range whose starting and ending 4992 (regex_compile): Accept a range whose starting and ending
5195 character have different leading bytes. 4993 character have different leading bytes.
5196 (analyse_first): Adjusted for the above change. 4994 (analyse_first): Adjust for the above change.
5197 4995
5198 * search.c: Include "character.h" instead of "charset.h". 4996 * search.c: Include "character.h" instead of "charset.h".
5199 (search_buffer, boyer_moore): Adjusted for the new multibyte form. 4997 (search_buffer, boyer_moore): Adjust for the new multibyte form.
5200 (Freplace_match): Adjusted for the change of 4998 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
5201 multibyte_char_to_unibyte.
5202 4999
5203 * syntax.c: Include "character.h" instead of "charset.h". 5000 * syntax.c: Include "character.h" instead of "charset.h".
5204 (syntax_parent_lookup): Deleted. 5001 (syntax_parent_lookup): Delete.
5205 (Fmodify_syntax_entry): Accept a cons as CHAR. 5002 (Fmodify_syntax_entry): Accept a cons as CHAR.
5206 (skip_chars): Adjusted for the new multibyte form. 5003 (skip_chars): Adjust for the new multibyte form.
5207 (init_syntax_once): Call char_table_set_range instead of directly 5004 (init_syntax_once): Call char_table_set_range instead of directly
5208 accessing the structure of a char table. 5005 accessing the structure of a char table.
5209 5006
5210 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET. 5007 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
5211 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted. 5008 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
5212 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro. 5009 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
5213 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF. 5010 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
5214 5011
5215 * term.c: Include "buffer.h" and "character.h". 5012 * term.c: Include "buffer.h" and "character.h".
5216 (encode_terminal_code): Adjusted for the new code-conversion API. 5013 (encode_terminal_code): Adjust for the new code-conversion API.
5217 (write_glyphs): Likewise. 5014 (write_glyphs): Likewise.
5218 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH. 5015 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
5219 5016
5220 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT. 5017 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
5221 5018
5222 * xdisp.c: Include "character.h". 5019 * xdisp.c: Include "character.h".
5223 (get_next_display_element): Adjusted for the new multibyte form. 5020 (get_next_display_element): Adjust for the new multibyte form.
5224 (disp_char_vector): Adjusted for the new char table structure. 5021 (disp_char_vector): Adjust for the new char table structure.
5225 (decode_mode_spec_coding): Adjusted for the new structure of 5022 (decode_mode_spec_coding): Adjust for the new structure of
5226 coding system. 5023 coding system.
5227 (decode_mode_spec): Adjusted for the new code-conversion API. 5024 (decode_mode_spec): Adjust for the new code-conversion API.
5228 5025
5229 * xfaces.c: Include "character.h" instead of "charset.h". 5026 * xfaces.c: Include "character.h" instead of "charset.h".
5230 (load_face_font): Adjusted for the change of choose_face_font and 5027 (load_face_font): Adjust for the change of choose_face_font and
5231 FS_LOAD_FONT. 5028 FS_LOAD_FONT.
5232 (generate_ascii_font): New function. 5029 (generate_ascii_font): New function.
5233 (set_lface_from_font_name): Adjusted for the change of 5030 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
5234 FS_LOAD_FONT. 5031 (set_font_frame_param): Adjust for the change of choose_face_font.
5235 (set_font_frame_param): Adjusted for the change of
5236 choose_face_font.
5237 (free_realized_face): Make it public. 5032 (free_realized_face): Make it public.
5238 (free_realized_faces_for_fontset): Renamed from 5033 (free_realized_faces_for_fontset): Rename from
5239 free_realized_multibyte_face. Free also faces realized for ASCII. 5034 free_realized_multibyte_face. Free also faces realized for ASCII.
5240 (choose_face_font): Argments changed. Adjusted for the change of 5035 (choose_face_font): Change arguments. Adjust for the change of
5241 fontset_font_pattern and FS_LOAD_FONT. 5036 fontset_font_pattern and FS_LOAD_FONT.
5242 5037
5243 * xfns.c: Include "character.h". 5038 * xfns.c: Include "character.h".
5244 (x_encode_text): Adjusted for the new code-conversion API. 5039 (x_encode_text): Adjust for the new code-conversion API.
5245 5040
5246 * xselect.c: Don't include "charset.h". 5041 * xselect.c: Don't include "charset.h".
5247 (selection_data_to_lisp_data): Adjusted for the new code 5042 (selection_data_to_lisp_data): Adjust for the new code conversion API.
5248 covnersion API.
5249 5043
5250 * xterm.c: Include "character.h". 5044 * xterm.c: Include "character.h".
5251 (x_encode_char): New argument CHARSET. Caller changed. 5045 (x_encode_char): New argument CHARSET. Change caller.
5252 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of 5046 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of SPLIT_CHAR.
5253 SPLIT_CHAR.
5254 (x_get_glyph_face_and_encoding): Likewise. 5047 (x_get_glyph_face_and_encoding): Likewise.
5255 (x_produce_glyphs): Don't check Vnonascii_translation_table Call 5048 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
5256 CHAR_WIDTH instead of CHARSET_WIDTH. 5049 CHAR_WIDTH instead of CHARSET_WIDTH.
5257 (XTread_socket): Adjusted for the new code-conversion API. 5050 (XTread_socket): Adjust for the new code-conversion API.
5258 (x_new_font): Adjusted for the change of FS_LOAD_FONT. 5051 (x_new_font): Adjust for the change of FS_LOAD_FONT.
5259 (x_load_font): Adjusted for the change of struct font. 5052 (x_load_font): Adjust for the change of struct font.
5260 5053
52612008-02-01 Stefan Monnier <monnier@iro.umontreal.ca> 50542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5262 5055