comparison src/ChangeLog @ 91575:ab024af45695

Tidying: Fix typos and tense. Avoid single words on line where possible. Simplify unicode-merge entries of the form "fix previous change".
author Glenn Morris <rgm@gnu.org>
date Wed, 06 Feb 2008 09:33:39 +0000
parents d122eefbb3f1
children 10c3131a345b
comparison
equal deleted inserted replaced
91574:f7875f77b416 91575:ab024af45695
58 58
59 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition. 59 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
60 60
61 2008-02-01 Andreas Schwab <schwab@suse.de> 61 2008-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
67 2008-02-01 Chong Yidong <cyd@stupidchicken.com> 66 2008-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.
73 72
74 2008-02-01 Jason Rumney <jasonr@gnu.org> 73 2008-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
79 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 78 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
80 79
81 * fontset.c (reorder_font_vector): Exclude nil elements from the 80 * fontset.c (reorder_font_vector): Exclude nil elements from the
82 font group. Don't try multiple fonts. 81 font group. Don't try multiple fonts.
113 * font.c (font_load_for_face): Handle the case that the font in 112 * font.c (font_load_for_face): Handle the case that the font in
114 face->lface is a string. 113 face->lface is a string.
115 114
116 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 115 2008-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
121 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 119 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
122 120
123 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: 121 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
124 Fix previous change. If the frame is not on a window system, 122 Fix previous change. If the frame is not on a window system,
125 signal an error. 123 signal an error.
126 124
127 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 125 2008-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
133 * lisp.h (struct Lisp_Marker): New member need_adjustment. 131 * lisp.h (struct Lisp_Marker): New member need_adjustment.
134 132
152 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame 150 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
153 is on a window system before accessing the fontset of the frame. 151 is on a window system before accessing the fontset of the frame.
154 152
155 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 153 2008-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.
162 159
163 * font.c (Ffont_shape_text): If the font driver doesn't have a 160 * font.c (Ffont_shape_text): If the font driver doesn't have a
167 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 164 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
168 165
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
174 2008-02-01 Kenichi Handa <handa@m17n.org> 171 2008-02-01 Kenichi Handa <handa@m17n.org>
175 172
176 * composite.c (syms_of_composite): Fix docstring of 173 * composite.c (syms_of_composite): Fix docstring of
177 auto-composition-function. 174 auto-composition-function.
270 Don't check the range of the existing composition at the point. 267 Don't check the range of the existing composition at the point.
271 268
272 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 269 2008-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.
279 (Fset_fontset_font): Always store a font-spec object in a fontset. 276 (Fset_fontset_font): Always store a font-spec object in a fontset.
280 277
292 * fontset.c (fontset_find_font): Don't prefer a font of 289 * fontset.c (fontset_find_font): Don't prefer a font of
293 supplementary charset. 290 supplementary charset.
294 291
295 2008-02-01 Kenichi Handa <handa@m17n.org> 292 2008-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
302 OTF_check_features. 299 OTF_check_features.
303 300
414 411
415 * font.h (FONT_ENTITY_NOT_LOADABLE) 412 * font.h (FONT_ENTITY_NOT_LOADABLE)
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.
435 (Ffont_make_gstring): Adjust for the change of lispy gstring. 432 (Ffont_make_gstring): Adjust for the change of lispy gstring.
436 (Ffont_fill_gstring): Likewise. 433 (Ffont_fill_gstring): Likewise.
473 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl. 470 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
474 471
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".
483 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. 480 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
484 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members. 481 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
507 504
508 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY): 505 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
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.
516 (fill_in_logfont): Fill in lfQuality if :antialias specified. 513 (fill_in_logfont): Fill in lfQuality if :antialias specified.
517 514
548 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw. 545 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
549 (xftfont_end_for_frame): New function. 546 (xftfont_end_for_frame): New function.
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.
557 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs. 554 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
558 (ftxfont_end_for_frame): New function. 555 (ftxfont_end_for_frame): New function.
705 702
706 2008-02-01 Jason Rumney <jasonr@gnu.org> 703 2008-02-01 Jason Rumney <jasonr@gnu.org>
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
714 * w32font.c (w32font_draw): Do clipping here. 711 * w32font.c (w32font_draw): Do clipping here.
715 712
716 2008-02-01 Kenichi Handa <handa@m17n.org> 713 2008-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
733 * dispextern.h (struct glyph_row): New member clip. 730 * dispextern.h (struct glyph_row): New member clip.
734 (struct glyph_string): Delete members clip_x, clip_y, clip_width, 731 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
823 2008-02-01 Kenichi Handa <handa@m17n.org> 820 2008-02-01 Kenichi Handa <handa@m17n.org>
824 821
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
828 2008-02-01 Ulrich Mueller <ulm@gentoo.org> (tiny change) 825 2008-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}.
832 829
833 2008-02-01 Jason Rumney <jasonr@gnu.org> 830 2008-02-01 Jason Rumney <jasonr@gnu.org>
885 (w32font_list, w32font_match): Use it. 882 (w32font_list, w32font_match): Use it.
886 (w32font_open): Don't populate subranges. 883 (w32font_open): Don't populate subranges.
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.
910 (font_supported_scripts): New function. 907 (font_supported_scripts): New function.
911 (w32font_initialize): Remove. 908 (w32font_initialize): Remove.
942 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra. 939 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
943 (syms_of_w32font): Define :subranges symbol. 940 (syms_of_w32font): Define :subranges symbol.
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.
951 948
952 * w32font.c (w32font_open): Handle size, height and pixel_size better. 949 * w32font.c (w32font_open): Handle size, height and pixel_size better.
955 Fix detection of truetype fonts. 952 Fix detection of truetype fonts.
956 (registry_to_w32_charset): Handle charsets other than iso8859-1 953 (registry_to_w32_charset): Handle charsets other than iso8859-1
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.
964 961
965 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: 962 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
1025 (reorder_font_vector): Check contents of font_def. 1022 (reorder_font_vector): Check contents of font_def.
1026 1023
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.
1048 (struct font_driver): Delete members otf_gsub and otf_gpos, add 1044 (struct font_driver): Delete members otf_gsub and otf_gpos, add
1049 member otf_drive. 1045 member otf_drive.
1156 * lisp.h (multibyte_char_to_unibyte_safe): Extern it. 1152 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
1157 1153
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
1176 2008-02-01 Kenichi Handa <handa@m17n.org> 1171 2008-02-01 Kenichi Handa <handa@m17n.org>
1177 1172
1183 * Makefile.in: Remove redundant HAVE_XFT clause. 1178 * Makefile.in: Remove redundant HAVE_XFT clause.
1184 1179
1185 2008-02-01 Kenichi Handa <handa@m17n.org> 1180 2008-02-01 Kenichi Handa <handa@m17n.org>
1186 1181
1187 * xrdb.c (x_load_resources): Setup the default fontSet X reource. 1182 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
1188
1189 2008-02-01 Kenichi Handa <handa@m17n.org>
1190
1191 * fontset.c (Finternal_char_font): Fix previous change.
1192 1183
1193 2008-02-01 Kenichi Handa <handa@m17n.org> 1184 2008-02-01 Kenichi Handa <handa@m17n.org>
1194 1185
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.
1228 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2. 1219 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
1229 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise. 1220 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
1230 1221
1231 2008-02-01 Kenichi Handa <handa@m17n.org> 1222 2008-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
1238 2008-02-01 Kenichi Handa <handa@m17n.org> 1228 2008-02-01 Kenichi Handa <handa@m17n.org>
1239 1229
1269 1259
1270 2008-02-01 Kenichi Handa <handa@m17n.org> 1260 2008-02-01 Kenichi Handa <handa@m17n.org>
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
1277 2008-02-01 Kenichi Handa <handa@m17n.org> 1266 2008-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
1284 2008-02-01 Kenichi Handa <handa@m17n.org> 1272 2008-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
1291 2008-02-01 Kenichi Handa <handa@m17n.org> 1278 2008-02-01 Kenichi Handa <handa@m17n.org>
1292 1279
1293 * font.c (font_unparse_fcname): Pay attention to the case that 1280 * font.c (font_unparse_fcname): Pay attention to the case that
1294 some of font property is a null string. 1281 some of font property is a null string.
1321 1308
1322 * font.h (Qunicode_sip): Extern it. 1309 * font.h (Qunicode_sip): Extern it.
1323 1310
1324 2008-02-01 Kenichi Handa <handa@m17n.org> 1311 2008-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
1342 2008-02-01 Kenichi Handa <handa@m17n.org> 1327 2008-02-01 Kenichi Handa <handa@m17n.org>
1343 1328
1344 * coding.c (detect_coding_system): Fix for handling off 1329 * coding.c (detect_coding_system): Fix for handling off
1345 inhibit_iso_escape_detection. Fix for the case that no coding 1330 inhibit_iso_escape_detection. Fix for the case that no coding
1346 system is defined for a specific coding category. 1331 system is defined for a specific coding category.
1347 1332
1348 2008-02-01 Kenichi Handa <handa@m17n.org> 1333 2008-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.
1354 1339
1355 * fileio.c (Finsert_file_contents): On recovering a file, assume 1340 * fileio.c (Finsert_file_contents): On recovering a file, assume
1362 (coding_inherit_eol_type): If PARENT is not nil, be sure to 1347 (coding_inherit_eol_type): If PARENT is not nil, be sure to
1363 inherit from it. 1348 inherit from it.
1364 1349
1365 2008-02-01 Kenichi Handa <handa@m17n.org> 1350 2008-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
1369 2008-02-01 Kenichi Handa <handa@m17n.org> 1354 2008-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.
1383 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define 1367 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
1384 them unconditionally. 1368 them unconditionally.
1388 (font_update_drivers): Delete the arg FONT. Return a list of 1372 (font_update_drivers): Delete the arg FONT. Return a list of
1389 actually used backends. Don't free faces, font caches here. 1373 actually used backends. Don't free faces, font caches here.
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
1400 * frame.c (x_set_font_backend): Do more works that were done in 1382 * frame.c (x_set_font_backend): Do more works that were done in
1401 font_update_drivers before. 1383 font_update_drivers before.
1412 1394
1413 2008-02-01 Kenichi Handa <handa@m17n.org> 1395 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
1425 (REPLACEMENT_CHARACTER): New macro. 1406 (REPLACEMENT_CHARACTER): New macro.
1426 (font_otf_gsub): New arg alternate_subst. Be sure to set all 1407 (font_otf_gsub): New arg alternate_subst. Be sure to set all
1504 (Ffont_at): New function. 1485 (Ffont_at): New function.
1505 (syms_of_font): Defsubr Sfont_at. 1486 (syms_of_font): Defsubr Sfont_at.
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
1514 LGLYPH_FORM (g) to detect the end of valid glyph. 1494 LGLYPH_FORM (g) to detect the end of valid glyph.
1515 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if 1495 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
1533 1513
1534 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST) 1514 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
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
1547 2008-02-01 Kenichi Handa <handa@m17n.org> 1526 2008-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
1553 2008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 1531 2008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
1554 1532
1555 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL. 1533 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
1556 1534
1558 xftface_info is non-NULL. 1536 xftface_info is non-NULL.
1559 1537
1560 2008-02-01 Kenichi Handa <handa@m17n.org> 1538 2008-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
1566 2008-02-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 1543 2008-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
1570 2008-02-01 Kenichi Handa <handa@m17n.org> 1547 2008-02-01 Kenichi Handa <handa@m17n.org>
1571 1548
1572 * ftfont.c (ftfont_list): Pay attention to the case that 1549 * ftfont.c (ftfont_list): Pay attention to the case that
1573 FC_CAPABILITY is not defined. 1550 FC_CAPABILITY is not defined.
1574 1551
1575 2008-02-01 Kenichi Handa <handa@m17n.org> 1552 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
1584 (syms_of_fontset): Initialize it. 1561 (syms_of_fontset): Initialize it.
1585 (fontset_font): Delete unused variable. 1562 (fontset_font): Delete unused variable.
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
1593 2008-02-01 Kenichi Handa <handa@m17n.org> 1570 2008-02-01 Kenichi Handa <handa@m17n.org>
1594 1571
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. 1603
1629 1604 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
1630 * xfont.c (xfont_query_font): Adjusted for the change of
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
1635 * xftfont.c (xftfont_prepare_face): Cancel previous change.
1636 (xftfont_done_face): Likewise.
1637 1607
1638 2008-02-01 Kenichi Handa <handa@m17n.org> 1608 2008-02-01 Kenichi Handa <handa@m17n.org>
1639 1609
1640 * font.h (Flist_fonts): EXFUN it. 1610 * font.h (Flist_fonts): EXFUN it.
1641 1611
1652 2008-02-01 Kenichi Handa <handa@m17n.org> 1622 2008-02-01 Kenichi Handa <handa@m17n.org>
1653 1623
1654 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field. 1624 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
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
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 1627
1662 2008-02-01 Kenichi Handa <handa@m17n.org> 1628 2008-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
1665 font_open_by_name. 1631 font_open_by_name.
1678 (font_parse_xlfd): Fix handling of font size. Add QCdpi property 1644 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
1679 in FONT_EXTRA. 1645 in FONT_EXTRA.
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
1695 listed font. Don't include scalable in pattern. Pay attention to 1660 listed font. Don't include scalable in pattern. Pay attention to
1696 FONT_PIXEL_SIZE_QUANTUM. 1661 FONT_PIXEL_SIZE_QUANTUM.
1697 1662
1698 2008-02-01 Kenichi Handa <handa@m17n.org> 1663 2008-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.
1706 1670
1707 * fontset.c (Finternal_char_font): Use font_get_name, not 1671 * fontset.c (Finternal_char_font): Use font_get_name, not
1718 1682
1719 * frame.h (x_new_fontset2): Fix prototype. 1683 * frame.h (x_new_fontset2): Fix prototype.
1720 1684
1721 2008-02-01 Kenichi Handa <handa@m17n.org> 1685 2008-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.
1730 (font_expand_wildcards): Fix handling ENCODING field. Avoid 1694 (font_expand_wildcards): Fix handling ENCODING field. Avoid
1731 unnecessary checks for weight, slant, and swidth. 1695 unnecessary checks for weight, slant, and swidth.
1732 (font_parse_fcname): New function. 1696 (font_parse_fcname): New function.
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.
1740 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font 1704 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
1741 object, use it for FACE. 1705 object, use it for FACE.
1742 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call 1706 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
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
1770 object in attrs[LFACE_FONT_INDEX]. 1733 object in attrs[LFACE_FONT_INDEX].
1771 (set_lface_from_font_name): Cancel all changes for font-backend. 1734 (set_lface_from_font_name): Cancel all changes for font-backend.
1802 * font.h (struct font): Fix typo. 1765 * font.h (struct font): Fix typo.
1803 1766
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.
1811 (Ffont_spec): If :name is specified, reflect the info in the other 1774 (Ffont_spec): If :name is specified, reflect the info in the other
1812 properties. 1775 properties.
1817 1780
1818 2008-02-01 Kenichi Handa <handa@m17n.org> 1781 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
1827 (font_open_by_name): At first try parsing the name. 1789 (font_open_by_name): At first try parsing the name.
1828 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp 1790 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
1835 attribute on finding a font. 1797 attribute on finding a font.
1836 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the 1798 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
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.
1845 (ftfont_list): Handle the case that a file is specified in font 1806 (ftfont_list): Handle the case that a file is specified in font
1846 name. Use ftfont_pattern_entity to generate entities. 1807 name. Use ftfont_pattern_entity to generate entities.
1861 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded, 1822 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
1862 return Qnil. 1823 return Qnil.
1863 1824
1864 2008-02-01 Kenichi Handa <handa@m17n.org> 1825 2008-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
1870 2008-02-01 Kenichi Handa <handa@m17n.org> 1830 2008-02-01 Kenichi Handa <handa@m17n.org>
1871 1831
1872 * xftfont.c (xftfont_default_fid): Set fid_known to 1. 1832 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
1890 (obj): Add $(FONTOBJ). 1850 (obj): Add $(FONTOBJ).
1891 (SOME_MACHINE_OBJECTS): Lib_X11_Lib. 1851 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
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). 1856
1897 1857 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
1898 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New
1899 files.
1900 1858
1901 * character.h (Vscript_representative_chars): Extern it. 1859 * character.h (Vscript_representative_chars): Extern it.
1902 1860
1903 * character.c (Vscript_representative_chars): New variable. 1861 * character.c (Vscript_representative_chars): New variable.
1904 (syms_of_character): Declare it as a Lisp variable. 1862 (syms_of_character): Declare it as a Lisp variable.
1935 * frame.h (struct frame): New members resx and resy. 1893 * frame.h (struct frame): New members resx and resy.
1936 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list. 1894 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
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
1945 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h". 1902 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
1946 Through out the file, use FONT_INFO_FROM_FACE instead of 1903 Through out the file, use FONT_INFO_FROM_FACE instead of
1959 (set_font_frame_param, free_realized_face) 1916 (set_font_frame_param, free_realized_face)
1960 (prepare_face_for_display, clear_face_gcs) 1917 (prepare_face_for_display, clear_face_gcs)
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.
1973 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is 1928 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
1974 nonzero, register all available font drivers. Call 1929 nonzero, register all available font drivers. Call
2031 coding->result to CODING_RESULT_INSUFFICIENT_SRC. 1986 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
2032 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of 1987 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
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
2041 2008-02-01 Kenichi Handa <handa@m17n.org> 1995 2008-02-01 Kenichi Handa <handa@m17n.org>
2042 1996
2047 2001
2048 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating 2002 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
2049 the loop. When quitted, show a proper error message. 2003 the loop. When quitted, show a proper error message.
2050 2004
2051 2008-02-01 Kenichi Handa <handa@m17n.org> 2005 2008-02-01 Kenichi Handa <handa@m17n.org>
2052
2053 * coding.c (decode_coding): Fix previous change.
2054 2006
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
2058 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte 2010 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
2059 character sequence. 2011 character sequence.
2060 (Fccl_execute_on_string): Use ASET, not XSET. 2012 (Fccl_execute_on_string): Use ASET, not XSET.
2061 2013
2062 2008-02-01 Kenichi Handa <handa@m17n.org> 2014 2008-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
2067 2008-02-01 Kenichi Handa <handa@m17n.org> 2018 2008-02-01 Kenichi Handa <handa@m17n.org>
2068 2019
2069 * coding.c (decode_coding): Fix the condition of terminating the 2020 * coding.c (decode_coding): Fix the condition of terminating the
2070 decoding loop. 2021 decoding loop.
2071 2022
2072 2008-02-01 Kenichi Handa <handa@m17n.org> 2023 2008-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
2078 2008-02-01 Kenichi Handa <handa@m17n.org> 2028 2008-02-01 Kenichi Handa <handa@m17n.org>
2079 2029
2080 * charset.c (map_charset_chars): Fix for ascii-compatible charset 2030 * charset.c (map_charset_chars): Fix for ascii-compatible charset
2081 made by a mapping table. 2031 made by a mapping table.
2094 2044
2095 * xterm.c (x_set_glyph_string_clipping_exactly): New function. 2045 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
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
2102 2008-02-01 Kenichi Handa <handa@m17n.org> 2051 2008-02-01 Kenichi Handa <handa@m17n.org>
2103 2052
2104 * xdisp.c (x_produce_glyphs): Handle composition with TAB. 2053 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
2105 2054
2114 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF. 2063 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
2115 2064
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.
2124 (CHECK_CODING_SYSTEM): If ID is not available, call 2072 (CHECK_CODING_SYSTEM): If ID is not available, call
2125 Fcheck_coding_system. 2073 Fcheck_coding_system.
2146 2008-02-01 Kenichi Handa <handa@m17n.org> 2094 2008-02-01 Kenichi Handa <handa@m17n.org>
2147 2095
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
2155 2008-02-01 Kenichi Handa <handa@m17n.org> 2102 2008-02-01 Kenichi Handa <handa@m17n.org>
2156 2103
2157 * coding.c (decode_coding): Fix handling of invalid bytes. 2104 * coding.c (decode_coding): Fix handling of invalid bytes.
2158 2105
2183 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously 2130 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
2184 removed calculation of frame `f', as it's now used. 2131 removed calculation of frame `f', as it's now used.
2185 2132
2186 2008-02-01 Kenichi Handa <handa@m17n.org> 2133 2008-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}.
2193 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run 2139 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
2194 $(RUN_TEMACS) unconditionally. 2140 $(RUN_TEMACS) unconditionally.
2195 2141
2196 2008-02-01 Kenichi Handa <handa@m17n.org> 2142 2008-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
2203 2008-02-01 Miles Bader <miles@gnu.org> 2148 2008-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
2208 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net> 2153 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
2209 2154
2210 * w32select.c (validate_coding_system) 2155 * w32select.c (validate_coding_system)
2212 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use 2157 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
2213 setup_windows_coding_system. 2158 setup_windows_coding_system.
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
2222 2008-02-01 Kenichi Handa <handa@m17n.org> 2167 2008-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
2227 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 2171 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2228 2172
2229 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp 2173 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
2230 string as the second argument for x_new_fontset. 2174 string as the second argument for x_new_fontset.
2234 * coding.c (decode_coding_object): Use safe_call1 instead of call1. 2178 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
2235 (encode_coding_object): Use safe_call instead of call2. 2179 (encode_coding_object): Use safe_call instead of call2.
2236 2180
2237 2008-02-01 Kenichi Handa <handa@m17n.org> 2181 2008-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
2244 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 2187 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2245 2188
2248 2191
2249 2008-02-01 Steven Tamm <steventamm@mac.com> 2192 2008-02-01 Steven Tamm <steventamm@mac.com>
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
2255 2008-02-01 Kenichi Handa <handa@m17n.org> 2198 2008-02-01 Kenichi Handa <handa@m17n.org>
2256 2199
2257 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and 2200 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
2258 lookup_face. 2201 lookup_face.
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
2265 2008-02-01 Kenichi Handa <handa@m17n.org> 2207 2008-02-01 Kenichi Handa <handa@m17n.org>
2266 2208
2267 * coding.c: Cancel the change done in HEAD on 2008-02-01. 2209 * coding.c: Cancel the change done in HEAD on 2008-02-01.
2268 (coding_charset_list): New function. 2210 (coding_charset_list): New function.
2295 2237
2296 2008-02-01 Kenichi Handa <handa@m17n.org> 2238 2008-02-01 Kenichi Handa <handa@m17n.org>
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
2304 2008-02-01 Kenichi Handa <handa@m17n.org> 2246 2008-02-01 Kenichi Handa <handa@m17n.org>
2305 2247
2306 * xdisp.c (get_next_display_element): In unibyte case, decide to 2248 * xdisp.c (get_next_display_element): In unibyte case, decide to
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
2315 * character.h (unibyte_has_multibyte_table): Extern it. 2256 * character.h (unibyte_has_multibyte_table): Extern it.
2316 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro. 2257 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
2317
2318 2008-02-01 Kenichi Handa <handa@m17n.org>
2319
2320 * callproc.c (Fcall_process): Fix merging of 2008-02-01 change.
2321 2258
2322 2008-02-01 Kenichi Handa <handa@m17n.org> 2259 2008-02-01 Kenichi Handa <handa@m17n.org>
2323 2260
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.
2336 2008-02-01 Kenichi Handa <handa@m17n.org> 2273 2008-02-01 Kenichi Handa <handa@m17n.org>
2337 2274
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
2346 detection. 2281 detection.
2347 2282
2348 2008-02-01 Kenichi Handa <handa@m17n.org> 2283 2008-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
2354 2008-02-01 Kenichi Handa <handa@m17n.org> 2288 2008-02-01 Kenichi Handa <handa@m17n.org>
2355 2289
2356 * fileio.c (report_file_error): Make a unibyte string from 2290 * fileio.c (report_file_error): Make a unibyte string from
2357 strerror (errorno). 2291 strerror (errorno).
2362 2296
2363 * charset.h (CHAR_CHARSET): Shortcut for ASCII case. 2297 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
2364 2298
2365 2008-02-01 Kenichi Handa <handa@m17n.org> 2299 2008-02-01 Kenichi Handa <handa@m17n.org>
2366 2300
2367 * coding.c (detect_coding): Fix previous change.
2368
2369 2008-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
2377 2008-02-01 Jason Rumney <jasonr@gnu.org> 2306 2008-02-01 Jason Rumney <jasonr@gnu.org>
2378 2307
2379 * w32fns.c (x_to_w32_font): Update to use new coding struct. 2308 * w32fns.c (x_to_w32_font): Update to use new coding struct.
2386 2008-02-01 Steven Tamm <steventamm@mac.com> 2315 2008-02-01 Steven Tamm <steventamm@mac.com>
2387 2316
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
2396 2008-02-01 Kenichi Handa <handa@m17n.org> 2325 2008-02-01 Kenichi Handa <handa@m17n.org>
2397 2326
2398 * xfaces.c (Fface_font): If frame is not on a window system, 2327 * xfaces.c (Fface_font): If frame is not on a window system,
2399 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't 2328 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
2404 2333
2405 2008-02-01 Kenichi Handa <handa@m17n.org> 2334 2008-02-01 Kenichi Handa <handa@m17n.org>
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
2414 2008-02-01 Kim F. Storm <storm@cua.dk> 2343 2008-02-01 Kim F. Storm <storm@cua.dk>
2415 2344
2416 * process.c (read_process_output): Grow decoding_buf when needed; 2345 * process.c (read_process_output): Grow decoding_buf when needed;
2417 this could cause a crash in allocate_string and compact_small_strings. 2346 this could cause a crash in allocate_string and compact_small_strings.
2418 2347
2419 2008-02-01 Kenichi Handa <handa@m17n.org> 2348 2008-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
2424 2008-02-01 Kenichi Handa <handa@m17n.org> 2352 2008-02-01 Kenichi Handa <handa@m17n.org>
2425 2353
2426 * coding.c (setup_coding_system): Set coding->common_flags 2354 * coding.c (setup_coding_system): Set coding->common_flags
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
2435 2008-02-01 Kenichi Handa <handa@m17n.org> 2362 2008-02-01 Kenichi Handa <handa@m17n.org>
2436 2363
2447 * coding.c (Ffind_coding_systems_region_internal): Include 2374 * coding.c (Ffind_coding_systems_region_internal): Include
2448 raw-text and no-conversion in the result. 2375 raw-text and no-conversion in the result.
2449 2376
2450 2008-02-01 Kenichi Handa <handa@m17n.org> 2377 2008-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
2462 2008-02-01 Kenichi Handa <handa@m17n.org> 2388 2008-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
2477 * character.h (LEADING_CODE_LATIN_1_MIN) 2402 * character.h (LEADING_CODE_LATIN_1_MIN)
2478 (LEADING_CODE_LATIN_1_MAX): Delete these macros. 2403 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
2510 2435
2511 * coding.c: Add many prototypes for static functions. 2436 * coding.c: Add many prototypes for static functions.
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
2518 2008-02-01 Kenichi Handa <handa@m17n.org> 2442 2008-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
2526 2008-02-01 Kenichi Handa <handa@m17n.org> 2449 2008-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)
2536 (decode_coding_ccl, decode_coding_charset): Likewise. 2458 (decode_coding_ccl, decode_coding_charset): Likewise.
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
2550 2008-02-01 Kenichi Handa <handa@m17n.org> 2471 2008-02-01 Kenichi Handa <handa@m17n.org>
2551 2472
2552 * search.c (simple_search): Fix setting this_pos_byte in backward 2473 * search.c (simple_search): Fix setting this_pos_byte in backward
2553 search. 2474 search.
2560 2481
2561 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font. 2482 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
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
2569 * xfaces.c (set_lface_from_font_name): If a font is specified for 2490 * xfaces.c (set_lface_from_font_name): If a font is specified for
2570 a frame, generate a fontset from the font. 2491 a frame, generate a fontset from the font.
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
2577 2008-02-01 Kenichi Handa <handa@m17n.org> 2497 2008-02-01 Kenichi Handa <handa@m17n.org>
2578 2498
2579 * xfaces.c (Fface_font): New optional arg CHARACTER. 2499 * xfaces.c (Fface_font): New optional arg CHARACTER.
2580 2500
2591 (find_font_encoding): Return nil for unknown encoding. 2511 (find_font_encoding): Return nil for unknown encoding.
2592 (Fset_fontset_font): Ignore a font of unknown encoding. 2512 (Fset_fontset_font): Ignore a font of unknown encoding.
2593 2513
2594 2008-02-01 Kenichi Handa <handa@m17n.org> 2514 2008-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.
2601 2520
2602 2008-02-01 Kenichi Handa <handa@m17n.org> 2521 2008-02-01 Kenichi Handa <handa@m17n.org>
2605 (FONTSET_ADD): Handle the case that range is nil. 2524 (FONTSET_ADD): Handle the case that range is nil.
2606 (fontset_add): Likewise. 2525 (fontset_add): Likewise.
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.
2615 2533
2616 2008-02-01 Kenichi Handa <handa@m17n.org> 2534 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
2624 (syms_of_charset): Delete declaration of "charset-map-directory", 2542 (syms_of_charset): Delete declaration of "charset-map-directory",
2625 add declaration of "charset-map-path". 2543 add declaration of "charset-map-path".
2660 2578
2661 * character.c (translate_char): Accept list of translation tables. 2579 * character.c (translate_char): Accept list of translation tables.
2662 2580
2663 2008-02-01 Kenichi Handa <handa@m17n.org> 2581 2008-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.
2675 (Ffind_coding_systems_region_internal): Setup translation table 2592 (Ffind_coding_systems_region_internal): Setup translation table
2676 for encode in a coding system attribute vector in advance. 2593 for encode in a coding system attribute vector in advance.
2693 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff. 2610 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
2694 (struct composition): New member lbearing and rbearing. 2611 (struct composition): New member lbearing and rbearing.
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.
2703 2619
2704 2008-02-01 Kenichi Handa <handa@m17n.org> 2620 2008-02-01 Kenichi Handa <handa@m17n.org>
2734 2650
2735 2008-02-01 Kenichi Handa <handa@m17n.org> 2651 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
2753 (get_next_display_element): Likewise. 2669 (get_next_display_element): Likewise.
2754 (append_space): Likewise. 2670 (append_space): Likewise.
2782 2698
2783 * coding.h (enum coding_result_code): Delete 2699 * coding.h (enum coding_result_code): Delete
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.
2805 (make_conversion_work_buffer): Fix making of a work buffer. 2719 (make_conversion_work_buffer): Fix making of a work buffer.
2806 (decode_coding_object): Return coding->dst_object; 2720 (decode_coding_object): Return coding->dst_object;
2818 * xdisp.c (handle_auto_composed_prop): Give limit to 2732 * xdisp.c (handle_auto_composed_prop): Give limit to
2819 Fnext_single_char_property_change. 2733 Fnext_single_char_property_change.
2820 2734
2821 2008-02-01 Kenichi Handa <handa@m17n.org> 2735 2008-02-01 Kenichi Handa <handa@m17n.org>
2822 2736
2823 * coding.c (detect_coding): Fix previous change.
2824 (detect_coding_system): Likewise.
2825
2826 2008-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
2833 * lisp.h (detect_coding_system): Adjust prototype. 2742 * lisp.h (detect_coding_system): Adjust prototype.
2834 2743
2840 2749
2841 * coding.h (make_conversion_work_buffer): Delete extern. 2750 * coding.h (make_conversion_work_buffer): Delete extern.
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.
2853 (decode_coding_big5): Likewise. 2761 (decode_coding_big5): Likewise.
2854 (decode_coding_charset): Likewise. 2762 (decode_coding_charset): Likewise.
2857 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on 2765 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
2858 each change. 2766 each change.
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
2876 2008-02-01 Kenichi Handa <handa@m17n.org> 2783 2008-02-01 Kenichi Handa <handa@m17n.org>
2877 2784
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
2883 2008-02-01 Kenichi Handa <handa@m17n.org> 2788 2008-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
2886 HANDLED_RECOMPUTE_PROPS. 2791 HANDLED_RECOMPUTE_PROPS.
2887 2792
2888 * coding.c (Fdefine_coding_system_internal): Fix checking of 2793 * coding.c (Fdefine_coding_system_internal): Fix checking of
2889 ascii compatibility. 2794 ascii compatibility.
2890 2795
2891 2008-02-01 Kenichi Handa <handa@m17n.org> 2796 2008-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.
2898 Resync charset_list to Vemacs_mule_charset_list. 2802 Resync charset_list to Vemacs_mule_charset_list.
2899 2803
2907 2811
2908 * print.c (print_object): Always print ASCII chars as is. 2812 * print.c (print_object): Always print ASCII chars as is.
2909 2813
2910 2008-02-01 Kenichi Handa <handa@m17n.org> 2814 2008-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.
2917 (Fmapc): Likewise. 2820 (Fmapc): Likewise.
2918 2821
2919 2008-02-01 Kenichi Handa <handa@m17n.org> 2822 2008-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
2924 2008-02-01 Kenichi Handa <handa@m17n.org> 2826 2008-02-01 Kenichi Handa <handa@m17n.org>
2925 2827
2926 * xfaces.c (set_lface_from_font_name): Fix for the case that 2828 * xfaces.c (set_lface_from_font_name): Fix for the case that
2927 FONTNAME is not fontset name. 2829 FONTNAME is not fontset name.
2973 (x_get_font_repertory): Use it if available. 2875 (x_get_font_repertory): Use it if available.
2974 (w32_encode_char): Add shortcut for unicode output. 2876 (w32_encode_char): Add shortcut for unicode output.
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.
2982 (w32_to_x_font): Match charset to real charset. 2884 (w32_to_x_font): Match charset to real charset.
2983 (enum_font_cb2): Always list unicode versions. 2885 (enum_font_cb2): Always list unicode versions.
2986 2888
2987 2008-02-01 Jason Rumney <jasonr@gnu.org> 2889 2008-02-01 Jason Rumney <jasonr@gnu.org>
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.
3004 2906
3005 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version 2907 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
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.
3021 encoding becomes encoding_type. 2921 encoding becomes encoding_type.
3022 2922
3026 (character.o, chartab.o): New targets. 2926 (character.o, chartab.o): New targets.
3027 2927
3028 2008-02-01 Kenichi Handa <handa@m17n.org> 2928 2008-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
3033 2008-02-01 Andreas Schwab <schwab@suse.de> 2933 2008-02-01 Andreas Schwab <schwab@suse.de>
3034 2934
3035 * coding.c (produce_chars): Revert last change. 2935 * coding.c (produce_chars): Revert last change.
3036 2936
3037 2008-02-01 Kenichi Handa <handa@m17n.org> 2937 2008-02-01 Kenichi Handa <handa@m17n.org>
3038 2938
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
3048 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP. 2948 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
3049 2949
3066 2966
3067 2008-02-01 Kenichi Handa <handa@m17n.org> 2967 2008-02-01 Kenichi Handa <handa@m17n.org>
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.
3078 2978
3079 * coding.c (consume_chars): If coding->src_object is nil, don't 2979 * coding.c (consume_chars): If coding->src_object is nil, don't
3132 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay) 3032 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
3133 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim. 3033 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
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
3143 * charset.c (syms_of_charset): Remove unused var p. 3042 * charset.c (syms_of_charset): Remove unused var p.
3144 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for 3043 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
3145 byte/char counts. 3044 byte/char counts.
3146 3045
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
3152 2008-02-01 Dave Love <fx@gnu.org> 3051 2008-02-01 Dave Love <fx@gnu.org>
3153 3052
3154 * xterm.c (x_bitmap_mask): Declare. 3053 * xterm.c (x_bitmap_mask): Declare.
3155 3054
3176 positions EMACS_INT. 3075 positions EMACS_INT.
3177 3076
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.
3186 3084
3187 * unexalpha.c: Don't include varargs.h. 3085 * unexalpha.c: Don't include varargs.h.
3208 3106
3209 * coding.c (decode_coding_sjis): Check bytes more rigidly. 3107 * coding.c (decode_coding_sjis): Check bytes more rigidly.
3210 3108
3211 2008-02-01 Kenichi Handa <handa@m17n.org> 3109 2008-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
3218 2008-02-01 Kenichi Handa <handa@m17n.org> 3115 2008-02-01 Kenichi Handa <handa@m17n.org>
3219 3116
3229 3126
3230 2008-02-01 Kenichi Handa <handa@m17n.org> 3127 2008-02-01 Kenichi Handa <handa@m17n.org>
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).
3239 (consume_chars): Fix for the case of raw-text. 3135 (consume_chars): Fix for the case of raw-text.
3240 3136
3258 SETUP_MULTIBYTE_RANGE. 3154 SETUP_MULTIBYTE_RANGE.
3259 (analyse_first) <charset>: For filling fastmap for all multibyte 3155 (analyse_first) <charset>: For filling fastmap for all multibyte
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).
3268 It is the same as RE_MULTIBYTE_P (bufp) now. 3163 It is the same as RE_MULTIBYTE_P (bufp) now.
3269 <exactn>: Translate via multibyte. 3164 <exactn>: Translate via multibyte.
3303 * coding.c (make_conversion_work_buffer): Change the work buffer 3198 * coding.c (make_conversion_work_buffer): Change the work buffer
3304 name to the same one as that of Emacs 21. 3199 name to the same one as that of Emacs 21.
3305 3200
3306 2008-02-01 Kenichi Handa <handa@m17n.org> 3201 2008-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.
3312 (decode_coding_iso_2022): Pay attention to the byte sequence of 3207 (decode_coding_iso_2022): Pay attention to the byte sequence of
3313 CTEXT extended segment, and retain those bytes as is. 3208 CTEXT extended segment, and retain those bytes as is.
3314 (decode_coding_ccl): Delete unused variable `valids'. 3209 (decode_coding_ccl): Delete unused variable `valids'.
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
3331 make_conversion_work_buffer with correct args, and call 3225 make_conversion_work_buffer with correct args, and call
3332 record_unwind_protect with the first arg kill_workbuf_unwind. 3226 record_unwind_protect with the first arg kill_workbuf_unwind.
3333 3227
3334 * lisp.h (Fgenerate_new_buffer_name): EXFUN it. 3228 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
3335 3229
3336 2008-02-01 Kenichi Handa <handa@m17n.org> 3230 2008-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.
3343 (dump_fontset): New function for debugging. 3236 (dump_fontset): New function for debugging.
3344 3237
3347 3240
3348 2008-02-01 Kenichi Handa <handa@m17n.org> 3241 2008-02-01 Kenichi Handa <handa@m17n.org>
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
3354 2008-02-01 Kenichi Handa <handa@m17n.org> 3247 2008-02-01 Kenichi Handa <handa@m17n.org>
3355 3248
3356 * coding.c (Qsignature, Qendian): Delete these variables. 3249 * coding.c (Qsignature, Qendian): Delete these variables.
3357 (syms_of_coding): Don't initialize them. 3250 (syms_of_coding): Don't initialize them.
3365 if the attribute :endian is Qbig or not (not nil or not), and set 3258 if the attribute :endian is Qbig or not (not nil or not), and set
3366 CODING_REQUIRE_DETECTION_MASK if BOM detection is required. 3259 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
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
3373 2008-02-01 Kenichi Handa <handa@m17n.org> 3265 2008-02-01 Kenichi Handa <handa@m17n.org>
3374 3266
3375 * coding.c (coding_set_source): Fix for the case that the current 3267 * coding.c (coding_set_source): Fix for the case that the current
3376 buffer is different from coding->src_object. 3268 buffer is different from coding->src_object.
3384 3276
3385 2008-02-01 Dave Love <fx@gnu.org> 3277 2008-02-01 Dave Love <fx@gnu.org>
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.
3393 3285
3394 2008-02-01 Kenichi Handa <handa@m17n.org> 3286 2008-02-01 Kenichi Handa <handa@m17n.org>
3395 3287
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
3410 2008-02-01 Kenichi Handa <handa@m17n.org> 3301 2008-02-01 Kenichi Handa <handa@m17n.org>
3411 3302
3412 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig) 3303 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
3413 (Qutf_16_le): Remove these variables. 3304 (Qutf_16_le): Remove these variables.
3416 (encode_coding_utf_16): Fix handling of BOM. 3307 (encode_coding_utf_16): Fix handling of BOM.
3417 3308
3418 2008-02-01 Kenichi Handa <handa@m17n.org> 3309 2008-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
3424 2008-02-01 Dave Love <fx@gnu.org> 3314 2008-02-01 Dave Love <fx@gnu.org>
3425 3315
3426 * coding.c (Fcheck_coding_systems_region): Fix type errors. 3316 * coding.c (Fcheck_coding_systems_region): Fix type errors.
3427 3317
3438 * category.c (copy_category_entry): Fix for the case that RANGE 3328 * category.c (copy_category_entry): Fix for the case that RANGE
3439 is an integer. 3329 is an integer.
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
3446 2008-02-01 Kenichi Handa <handa@m17n.org> 3335 2008-02-01 Kenichi Handa <handa@m17n.org>
3447 3336
3448 * charset.c (Fcharset_id_internal): New function. 3337 * charset.c (Fcharset_id_internal): New function.
3449 (syms_of_charset): Defsubr it. 3338 (syms_of_charset): Defsubr it.
3454 the attribute coding_attr_ccl_valids. 3343 the attribute coding_attr_ccl_valids.
3455 3344
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
3463 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET. 3352 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
3464 (Fccl_execute): Call ccl_driver with the last arg Qnil. 3353 (Fccl_execute): Call ccl_driver with the last arg Qnil.
3467 2008-02-01 Kenichi Handa <handa@m17n.org> 3356 2008-02-01 Kenichi Handa <handa@m17n.org>
3468 3357
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
3477 2008-02-01 Dave Love <fx@gnu.org> 3363 2008-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
3482 2008-02-01 Kenichi Handa <handa@m17n.org> 3367 2008-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.
3491 3375
3492 * fontset.c: Give 8 extra slots to fontset objects. 3376 * fontset.c: Give 8 extra slots to fontset objects.
3493 (Qfontset_info): New variable. 3377 (Qfontset_info): New variable.
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
3503 name by using split_font_name_into_vector. 3386 name by using split_font_name_into_vector.
3504 (Fnew_fontset): If no ASCII font is specified in FONTLIST, 3387 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
3505 generate a proper font name from the fontset name. Update 3388 generate a proper font name from the fontset name. Update
3506 Vfontset_alias_alist. 3389 Vfontset_alias_alist.
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. 3394
3512 3395 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
3513 * xfaces.c (generate_ascii_font_name): Moved to fontset.c. 3396 (font_name_registry): Delete function.
3514 (font_name_registry): Function deleted.
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
3532 font name. 3413 font name.
3533 3414
3558 (detect_coding_utf_8, detect_coding_utf_16) 3439 (detect_coding_utf_8, detect_coding_utf_16)
3559 (detect_coding_emacs_mule, detect_coding_iso_2022) 3440 (detect_coding_emacs_mule, detect_coding_iso_2022)
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.
3573 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention 3454 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
3574 to charset annotation data in coding->charbuf. 3455 to charset annotation data in coding->charbuf.
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
3583 functions. 3463 functions.
3584 (consume_chars): Handle charset annotation. Utilize the above two 3464 (consume_chars): Handle charset annotation. Utilize the above two
3588 coding->src_object to that string. 3468 coding->src_object to that string.
3589 (detect_coding, detect_coding_system): Use the new struct 3469 (detect_coding, detect_coding_system): Use the new struct
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
3597 2008-02-01 Kenichi Handa <handa@m17n.org> 3476 2008-02-01 Kenichi Handa <handa@m17n.org>
3598 3477
3599 * insdel.c (insert_from_gap): Fix argument to offset_intervals. 3478 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
3600 3479
3601 2008-02-01 Dave Love <fx@gnu.org> 3480 2008-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.
3608 3486
3609 2008-02-01 Kenichi Handa <handa@m17n.org> 3487 2008-02-01 Kenichi Handa <handa@m17n.org>
3620 The following changes are to make character composition happen 3498 The following changes are to make character composition happen
3621 automatically on displaying. 3499 automatically on displaying.
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.
3635 (compose_chars_in_text): Delete this function. 3513 (compose_chars_in_text): Delete this function.
3636 (syms_of_composite): Staticpro Qauto_composed and 3514 (syms_of_composite): Staticpro Qauto_composed and
3661 (decode_coding_iso_2022): Likewise. 3539 (decode_coding_iso_2022): Likewise.
3662 (decode_coding_sjis): Likewise. 3540 (decode_coding_sjis): Likewise.
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
3670 2008-02-01 Dave Love <fx@gnu.org> 3547 2008-02-01 Dave Love <fx@gnu.org>
3671 3548
3672 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add 3549 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
3673 XK_ISO... case. 3550 XK_ISO... case.
3674 (xaw_scroll_callback): Revert last change. 3551 (xaw_scroll_callback): Revert last change.
3675 3552
3676 2008-02-01 Kenichi Handa <handa@m17n.org> 3553 2008-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
3681 2008-02-01 Kenichi Handa <handa@m17n.org> 3557 2008-02-01 Kenichi Handa <handa@m17n.org>
3682 3558
3683 * xfaces.c (Vface_resizing_fonts): New variable. 3559 * xfaces.c (Vface_resizing_fonts): New variable.
3684 (struct font_name): New member `resizing_ratio'. 3560 (struct font_name): New member `resizing_ratio'.
3714 decoding the output of X*LookupString. 3590 decoding the output of X*LookupString.
3715 (x_get_font_repertory): Delete charset declaration. 3591 (x_get_font_repertory): Delete charset declaration.
3716 3592
3717 2008-02-01 Kenichi Handa <handa@m17n.org> 3593 2008-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
3725 2008-02-01 Dave Love <fx@gnu.org> 3600 2008-02-01 Dave Love <fx@gnu.org>
3726 3601
3772 (detect_coding_iso_2022): Likewise. 3647 (detect_coding_iso_2022): Likewise.
3773 (detect_coding_sjis): Likewise. 3648 (detect_coding_sjis): Likewise.
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
3782 2008-02-01 Kenichi Handa <handa@m17n.org> 3656 2008-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.
3791 (CHAR_STRING_ADVANCE): Likewise. 3664 (CHAR_STRING_ADVANCE): Likewise.
3792 (STRING_CHAR): Call string_char instead of 3665 (STRING_CHAR): Call string_char instead of
3798 3671
3799 * coding.c (decode_coding_utf_8): Treat surrogates as invalid. 3672 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
3800 3673
3801 2008-02-01 Kenichi Handa <handa@m17n.org> 3674 2008-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
3808 2008-02-01 Dave Love <fx@gnu.org> 3680 2008-02-01 Dave Love <fx@gnu.org>
3809 3681
3839 error of invalid fontset. 3711 error of invalid fontset.
3840 3712
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
3844 2008-02-01 Kenichi Handa <handa@m17n.org>
3845
3846 * regex.c (re_search_2): Fix previous change.
3847
3848 2008-02-01 Kenichi Handa <handa@m17n.org>
3849
3850 * syntax.c (skip_syntaxes): Fix previous change.
3851
3852 2008-02-01 Kenichi Handa <handa@m17n.org>
3853
3854 * syntax.c (skip_chars): Fix previous change.
3855 (skip_syntaxes): Fix previous change.
3856
3857 2008-02-01 Dave Love <fx@gnu.org> 3716 2008-02-01 Dave Love <fx@gnu.org>
3858
3859 * config.in: Restore it.
3860
3861 2008-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 3717
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.
3870 3721
3901 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table. 3752 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
3902 (CHAR_LEADING_CODE): New macro. 3753 (CHAR_LEADING_CODE): New macro.
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
3911 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is 3761 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
3912 not 1, singals an error. Update the elements of 3762 not 1, singals an error. Update the elements of
3913 unibyte_to_multibyte_table. 3763 unibyte_to_multibyte_table.
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.
3927 3775
3928 * regex.h (struct re_pattern_buffer): New member target_multibyte. 3776 * regex.h (struct re_pattern_buffer): New member target_multibyte.
3937 (regex_compile): Setup the compiled pattern for multibyte chars 3785 (regex_compile): Setup the compiled pattern for multibyte chars
3938 even if the given regex string is unibyte. Use PATFETCH_RAW 3786 even if the given regex string is unibyte. Use PATFETCH_RAW
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,
3951 otherwise to 0. New local variable target_multibyte. Check it 3798 otherwise to 0. New local variable target_multibyte. Check it
3952 to decide the multibyteness of STR1 and STR2. If 3799 to decide the multibyteness of STR1 and STR2. If
3964 (bcmp_translate): Change the last arg name to target_multibyte. 3811 (bcmp_translate): Change the last arg name to target_multibyte.
3965 3812
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.
3974 3820
3975 * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert 3821 * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert
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.
3984 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by 3830 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
3985 SINGLE_BYTE_CHAR_P. 3831 SINGLE_BYTE_CHAR_P.
4027 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit 3873 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
4028 characters by octal form. 3874 characters by octal form.
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. 3890
4045 3891 * character.c (_fetch_multibyte_char_len): Delet this variable.
4046 * character.c (_fetch_multibyte_char_len): This variable deleted.
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.
4050 (Finsert_byte): New function. 3895 (Finsert_byte): New function.
4051 (syms_of_editfns): Defsubr it. 3896 (syms_of_editfns): Defsubr it.
4062 * syntax.c (scan_words): Don't treat characters belonging to 3907 * syntax.c (scan_words): Don't treat characters belonging to
4063 different scripts as constituting a word. 3908 different scripts as constituting a word.
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.
4072 3916
4073 2008-02-01 Kenichi Handa <handa@m17n.org> 3917 2008-02-01 Kenichi Handa <handa@m17n.org>
4089 * character.c (unibyte_char_to_multibyte): Refer to 3933 * character.c (unibyte_char_to_multibyte): Refer to
4090 charset_unibyte, not charset_primary. 3934 charset_unibyte, not charset_primary.
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. 3939
4096 3940 * charset.c (charset_unibyte): Rename from charset_primary.
4097 * charset.c (charset_unibyte): Renamed from charset_primary. 3941 (Funibyte_charset): Rename from Fprimary_charset.
4098 (Funibyte_charset): Renamed from Fprimary_charset. 3942 (Fset_unibyte_charset): Rename from Fset_primary_charset.
4099 (Fset_unibyte_charset): Renamed from Fset_primary_charset. 3943 (syms_of_charset): Adjust for the above changes.
4100 (syms_of_charset): Adjusted 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
4109 2008-02-01 Kenichi Handa <handa@m17n.org> 3952 2008-02-01 Kenichi Handa <handa@m17n.org>
4110 3953
4111 * coding.c (Fdefine_coding_system_internal): Fix category setting 3954 * coding.c (Fdefine_coding_system_internal): Fix category setting
4112 for a coding system of type iso-2022. 3955 for a coding system of type iso-2022.
4113 3956
4114 2008-02-01 Kenichi Handa <handa@m17n.org> 3957 2008-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
4119 2008-02-01 Kenichi Handa <handa@m17n.org> 3961 2008-02-01 Kenichi Handa <handa@m17n.org>
4120 3962
4121 * syntax.c (Vnext_word_boundary_function_table): New variable. 3963 * syntax.c (Vnext_word_boundary_function_table): New variable.
4122 (syms_of_syntax): Declare it as a Lisp variable. 3964 (syms_of_syntax): Declare it as a Lisp variable.
4128 * fontset.c (fs_load_font): If fontp->charset is not negative, 3970 * fontset.c (fs_load_font): If fontp->charset is not negative,
4129 return fontp without setting its members. 3971 return fontp without setting its members.
4130 3972
4131 2008-02-01 Dave Love <fx@gnu.org> 3973 2008-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.
4138 3978
4139 * s/irix6-5.h: Don't include strings.h. 3979 * s/irix6-5.h: Don't include strings.h.
4146 (bcopy, bzero, bcmp): Define conditionally. 3986 (bcopy, bzero, bcmp): Define conditionally.
4147 3987
4148 2008-02-01 Kenichi Handa <handa@m17n.org> 3988 2008-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
4155 we are inserting a process output into a multibyte buffer. 3995 we are inserting a process output into a multibyte buffer.
4156 3996
4159 3999
4160 * character.c (Funibyte_char_to_multibyte): If C can't be decoded 4000 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
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.
4184 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine. 4023 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
4185 4024
4186 2008-02-01 Dave Love <fx@gnu.org> 4025 2008-02-01 Dave Love <fx@gnu.org>
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.
4195 4033
4196 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm. 4034 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
4202 4040
4203 * lisp.h (Fnew_fontset): Declare. 4041 * lisp.h (Fnew_fontset): Declare.
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
4212 * doc.c (Fsubstitute_command_keys): Delete unused vars. 4049 * doc.c (Fsubstitute_command_keys): Delete unused vars.
4213 4050
4216 * cm.c (calccost, cmgoto): Declare args. 4053 * cm.c (calccost, cmgoto): Declare args.
4217 4054
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. 4059
4223 4060 * ccl.c: Remove `emacs' conditional.
4224 * ccl.c: Remove `emacs' conditional. Include hash table stuff
4225 from trunk.
4226 4061
4227 2008-02-01 Kenichi Handa <handa@m17n.org> 4062 2008-02-01 Kenichi Handa <handa@m17n.org>
4228 4063
4229 The following changes are to allow specifying multiple font 4064 The following changes are to allow specifying multiple font
4230 patterns for a character range (specified by script or charset). 4065 patterns for a character range (specified by script or charset).
4237 4072
4238 * ccl.c (Fccl_execute_on_string): Add `const' to local variables. 4073 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
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.
4278 (fs_load_font): New arg CHARSET_ID. Don't check 4110 (fs_load_font): New arg CHARSET_ID. Don't check
4279 Vfont_encoding_alist here. 4111 Vfont_encoding_alist here.
4287 docstring of font-encoding-alist. 4119 docstring of font-encoding-alist.
4288 4120
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.
4322 4153
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
4331 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not 4161 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
4332 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when 4162 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
4345 version is 0. 4175 version is 0.
4346 4176
4347 2008-02-01 Kenichi Handa <handa@m17n.org> 4177 2008-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
4363 safe_to_load_p returns a positive version number, assume that the 4192 safe_to_load_p returns a positive version number, assume that the
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
4381 2008-02-01 Kenichi Handa <handa@m17n.org> 4207 2008-02-01 Kenichi Handa <handa@m17n.org>
4382 4208
4384 FETCH_MULTIBYTE_CHAR with byte postion, not char position. 4210 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
4385 4211
4386 2008-02-01 Kenichi Handa <handa@m17n.org> 4212 2008-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
4393 * character.c (Vscript_alist): New variable. 4219 * character.c (Vscript_alist): New variable.
4394 (string_char_with_unification): Add `const' to local variables. 4220 (string_char_with_unification): Add `const' to local variables.
4400 (charset_ordered_list_tick): Extern it. 4226 (charset_ordered_list_tick): Extern it.
4401 (EMACS_MULE_LEADING_CODE_PRIVATE_11) 4227 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
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.
4427 (Fcheck_coding_systems_region): Likewise. 4251 (Fcheck_coding_systems_region): Likewise.
4428 4252
4437 2008-02-01 Dave Love <fx@gnu.org> 4261 2008-02-01 Dave Love <fx@gnu.org>
4438 4262
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
4448 2008-02-01 Dave Love <fx@gnu.org> 4272 2008-02-01 Dave Love <fx@gnu.org>
4449 4273
4466 (code_conversion_restore): Use EQ, not ==. 4290 (code_conversion_restore): Use EQ, not ==.
4467 (Fencode_coding_string): Fix code_convert_string call. 4291 (Fencode_coding_string): Fix code_convert_string call.
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.
4475 4299
4476 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number. 4300 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
4524 4348
4525 * category.c (Fmodify_category_entry): Don't modify the contents 4349 * category.c (Fmodify_category_entry): Don't modify the contents
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
4533 eight-bit-control and raw-byte chars. 4357 eight-bit-control and raw-byte chars.
4534 4358
4537 charset_arg_superset. 4361 charset_arg_superset.
4538 (enum charset_attr_index): Delete charset_parents and add 4362 (enum charset_attr_index): Delete charset_parents and add
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
4574 2008-02-01 Dave Love <fx@gnu.org> 4397 2008-02-01 Dave Love <fx@gnu.org>
4575 4398
4576 * fns.c (count_combining): Comment out (unused). 4399 * fns.c (count_combining): Comment out (unused).
4577 (Flocale_codeset): New. 4400 (Flocale_codeset): New.
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
4583 2008-02-01 Dave Love <fx@gnu.org> 4406 2008-02-01 Dave Love <fx@gnu.org>
4584 4407
4585 * Makefile.in (chartab.o): Depend on charset.h 4408 * Makefile.in (chartab.o): Depend on charset.h
4586 4409
4596 2008-02-01 Kenichi Handa <handa@m17n.org> 4419 2008-02-01 Kenichi Handa <handa@m17n.org>
4597 4420
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.
4606 (encode_coding_charset): Likewise. 4428 (encode_coding_charset): Likewise.
4607 4429
4614 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978) 4436 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
4615 (charset_jisx0208): New variables. 4437 (charset_jisx0208): New variables.
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.
4629 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. 4451 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
4630 (encode_coding_iso_2022): Change the 1st arg to 4452 (encode_coding_iso_2022): Change the 1st arg to
4667 (font-encoding-alist): Doc fix. 4489 (font-encoding-alist): Doc fix.
4668 4490
4669 2008-02-01 Dave Love <fx@gnu.org> 4491 2008-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.
4676 4498
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
4687 2008-02-01 Dave Love <fx@gnu.org> 4508 2008-02-01 Dave Love <fx@gnu.org>
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
4694 2008-02-01 Yong Lu <lyongu@asia-infonet.com> 4514 2008-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
4701 2008-02-01 Kenichi Handa <handa@m17n.org> 4520 2008-02-01 Kenichi Handa <handa@m17n.org>
4702 4521
4703 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el, 4522 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el,
4704 vietnamese.elc to vietnamese.el. They are not bytecompiled now. 4523 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
4705 (shortlisp): Likewise. 4524 (shortlisp): Likewise.
4706 4525
4707 2008-02-01 Kenichi Handa <handa@m17n.org> 4526 2008-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
4717 2008-02-01 Kenichi Handa <handa@m17n.org> 4534 2008-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.
4734 (init_coding_once): Setup emacs_mule_bytes for private charsets. 4550 (init_coding_once): Setup emacs_mule_bytes for private charsets.
4735 4551
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
4742 2008-02-01 Kenichi Handa <handa@m17n.org> 4557 2008-02-01 Kenichi Handa <handa@m17n.org>
4743 4558
4744 * coding.c (encode_coding_iso_2022): If coding requires safe 4559 * coding.c (encode_coding_iso_2022): If coding requires safe
4745 encoding, produce a character specified by 4560 encoding, produce a character specified by
4752 4567
4753 * xterm.c (XSetIMValues): Declare. 4568 * xterm.c (XSetIMValues): Declare.
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. 4573
4759 4574 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
4760 * keyboard.c (modify_event_symbol): Fix print format for 64-bit
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
4772 * character.h (string_escape_byte8): Declare. 4583 * character.h (string_escape_byte8): Declare.
4773 4584
4774 * charset.c (load_charset_map, load_charset_map_from_file): Remove 4585 * charset.c (load_charset_map, load_charset_map_from_file): Remove
4775 unused vars. 4586 unused vars.
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
4784 2008-02-01 Dave Love <fx@gnu.org> 4594 2008-02-01 Dave Love <fx@gnu.org>
4785 4595
4831 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead 4641 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
4832 of calling free_realized_face. 4642 of calling free_realized_face.
4833 4643
4834 2008-02-01 Yong Lu <lyongu@asia-infonet.com> 4644 2008-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
4842 2008-02-01 Kenichi Handa <handa@m17n.org> 4650 2008-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
4851 attrs[coding_attr_charset_valids] correctly. 4658 attrs[coding_attr_charset_valids] correctly.
4852 4659
4884 2008-02-01 Kenichi Handa <handa@m17n.org> 4691 2008-02-01 Kenichi Handa <handa@m17n.org>
4885 4692
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.
4900 (encode_char): If the charset is compact, change a character index 4706 (encode_char): If the charset is compact, change a character index
4901 to a code point. 4707 to a code point.
4939 (decode_coding_gap): Set coding->dst_multibyte correctly. 4745 (decode_coding_gap): Set coding->dst_multibyte correctly.
4940 4746
4941 2008-02-01 Kenichi Handa <handa@m17n.org> 4747 2008-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.
4949 (setup_coding_system): Initialize `surrogate' of 4754 (setup_coding_system): Initialize `surrogate' of
4950 coding->spec.utf_16 to 0. 4755 coding->spec.utf_16 to 0.
4955 2008-02-01 Kenichi Handa <handa@m17n.org> 4760 2008-02-01 Kenichi Handa <handa@m17n.org>
4956 4761
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.
4971 4775
4972 * coding.c: Delete unused variables. 4776 * coding.c: Delete unused variables.
4981 4785
4982 The following changes are for using Unicode as an internal 4786 The following changes are for using Unicode as an internal
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.
4991 (lisp, shortlisp): Remove utf-8.elc: 4794 (lisp, shortlisp): Remove utf-8.elc:
4992 (*.o): For many files, change dependency on charset.h to 4795 (*.o): For many files, change dependency on charset.h to
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
5014 * callproc.c: Include "character.h" instead of "charset.h". 4817 * callproc.c: Include "character.h" instead of "charset.h".
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.
5022 4825
5023 * chartab.c: New file that implements char table. 4826 * chartab.c: New file that implements char table.
5025 * category.c: Include "character.h". 4828 * category.c: Include "character.h".
5026 (copy_category_entry): New function. 4829 (copy_category_entry): New function.
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.
5034 4837
5035 * ccl.c: Include "character.h". 4838 * ccl.c: Include "character.h".
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".
5086 (Fchar_to_string): Always call CHAR_STRING. 4887 (Fchar_to_string): Always call CHAR_STRING.
5087 4888
5088 * emacs.c (main): Call init_charset_once, init_charset, 4889 * emacs.c (main): Call init_charset_once, init_charset,
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.
5133 (insert_from_gap): New function. 4931 (insert_from_gap): New function.
5134 4932
5135 * keyboard.c: Include "character.h" instead of "charset.h". 4933 * keyboard.c: Include "character.h" instead of "charset.h".
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
5149 * keymap.h (describe_char_table): Extern it. 4947 * keymap.h (describe_char_table): Extern it.
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
5261 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca> 5054 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
5262 5055
5263 * xfaces.c (face_at_buffer_position): Remove unused vars. 5056 * xfaces.c (face_at_buffer_position): Remove unused vars.
5264 5057