(load_face_font): Adjusted for the change of choose_face_font and
FS_LOAD_FONT.
(generate_ascii_font): New function.
(set_lface_from_font_name): Adjusted for the change of
FS_LOAD_FONT.
(set_font_frame_param): Adjusted for the change of
choose_face_font.
(free_realized_face): Make it public.
(free_realized_faces_for_fontset): Renamed from
free_realized_multibyte_face. Free also faces realized for ASCII.
(choose_face_font): Argments changed. Adjusted for the change of
fontset_font_pattern and FS_LOAD_FONT.
(get_next_display_element): Adjusted for the new multibyte form.
(disp_char_vector): Adjusted for the new char table structure.
(decode_mode_spec_coding): Adjusted for the new structure of
coding system.
(decode_mode_spec): Adjusted for the new code-conversion API.
(encode_terminal_code): Adjusted for the new code-conversion API.
(write_glyphs): Likewise.
(produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
(syntax_parent_lookup): Deleted.
(Fmodify_syntax_entry): Accept a cons as CHAR.
(skip_chars): Adjusted for the new multibyte form.
(init_syntax_once): Call char_table_set_range instead of directly
accessing the structure of a char table.
(BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
(regex_compile): Accept a range whose starting and ending
character have different leading bytes.
(analyse_first): Adjusted for the above change.
(print_string): Convert 8-bit raw bytes to octal form by
string_escape_byte8.
(print_object): Adjusted for the new multibyte form. Print 8-bit
raw bytes always in octal form. Handle sub char table correctly.
(read_multibyte): New arg NBYTES.
(read_escape): The meaning of returned *BYTEREP changed.
(to_multibyte): Deleted.
(read1): Adjuted the handling of char table and string.
(store_in_keymap): Handle the case that IDX is a cons.
(Fdefine_key): Handle the case that KEY is a cons and the car part
is also a cons (range).
(push_key_description): Adjusted for the new character code.
(describe_vector): Call describe_char_table for a char table.
(describe_char_table): New function.
(command_loop_1): Never call direct_output_forward_char before
a non-ASCII character.
(read_char): If Vkeyboard_translate_table is a char table, always
translated a character.
changed.
(enum FONT_SPEC_INDEX): New enum.
(fontset_font_pattern, fs_load_font): Prototype updated.
(FS_LOAD_FONT): Adjusted for the change of fs_load_font.
(copy_sub_char_table): Moved to chartab.c.
(Fcopy_sequence): Call copy_char_table for a char table.
(concat): Delete codes calling count_multibyte.
(string_char_to_byte): Adjusted for the new multibyte form.
(string_byte_to_char): Likewise.
(internal_equal): Adjusted for the change of char table structure.
(Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
Fchar_table_extra_slot, Fset_char_table_extra_slot,
Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
char_table_translate, optimize_sub_char_table,
Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
chartab.c.
(char_table_ref_and_index): Deleted.
(HASH_KEY, HASH_VALUE): Moved to lisp.h.
(Fmd5): Call preferred_coding_system instead of accessing
Vcoding_category_list. Adjusted for the new code-conversion API.
(syms_of_fns): Defsubr for char table related functions moved to
chartab.c.
(Finsert_file_contents): Big change for the new code-conversion
API.
(choose_write_coding_system): Likewise.
(Fwrite_region): Likewise.
(build_annotations_2): Deleted.
(e_write): Big change for the new code-conversion API.
deleted. New members src_multibyte, dst_multibyte, consumed, and
produced.
(struct ccl_spec): Members decoder and encoder deleted. New
memeber ccl.
(CODING_SPEC_CCL_PROGRAM): New macro.
(ccl_driver): Prototype updated.
(Qccl, Qcclp, Fccl_program_p): Extern them.
(CHECK_CCL_PROGRAM): New macro.
(Qccl, Qcclp): New variables.
(CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
it's less than 256.
(CCL_WRITE_MULTIBYTE_CHAR): Deleted.
(CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
and DST type.
(ccl_driver): Types of arguments changed. Code adjusted for that.
(Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
ccl_driver.
(syms_of_ccl): Intern and staticpro Qccl and Qcclp.
(set_canon, set_identity, shuffle): Adjusted for the new
map_char_table spec.
(init_casetab_once): Call CHAR_TABLE_SET instead of directly
accessing the char table structure.
(lisp, shortlisp): Remove utf-8.elc:
(*.o): For many files, change dependency on charset.h to
character.h, and add dependency on character.h.
(character.o, chartab.o): New targets.