(translate_chars): Fix the bug of skipping annotation data.
(decode_coding): Utilze get_translation_table.
(encode_coding): Likewise.
(char_encodable_p): Translate char if necessary.
(Funencodable_char_position): Likewise.
(Ffind_coding_systems_region_internal): Setup translation table
for encode in a coding system attribute vector in advance.
(Fcheck_coding_systems_region): Likewise.
(Fdefine_coding_system_internal): Allow a symbol as translation
table. For shift-jis type coding system, allow 4th charset.
(Vprint_charset_text_property): New variable.
(Qdefault): Extern it.
(PRINT_STRING_NON_CHARSET_FOUND)
(PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
(print_check_string_result): New variable.
(print_check_string_charset_prop): New function.
(print_prune_charset_plist): New variable.
(print_prune_string_charset): New function.
(print_object): Call print_prune_string_charset if
Vprint_charset_text_property is not t.
(print_interval): Print nothing if itnerval->plist is nil.
(syms_of_print): Declare Vprint_charset_text_property as a lisp
variable. Init and staticpro print_prune_charset_plist.
FONT_DEF format.
(fontset_face): New arg id. Caller changed.
(face_for_char): New args pos and object.
(make_fontset_for_ascii_face): Adjusted for the change of FONT_DEF
format.n
(fs_query_fontset): Check NAME by Fassoc too.
(Fset_fontset_font): Allow non-XLFD font name.
(Ffontset_info): Adjusted for the change of FONT_DEF format.
(Qinvalid_source, Qinterrupted, Qinsufficient_memory): New
variables.
(Vlast_code_conversion_error): New variables.
(syms_of_coding): DEFSYM or DEFVAR_LISP them.
(ONE_MORE_BYTE): Record error if any instead of signaling an
error. If non-ASCII multibyte char is found, return the negative
value of the code. All callers changed to check it.
(ONE_MORE_BYTE_NO_CHECK): Likewise.
(record_conversion_result): New function. All codes setting
coding->result are changed to call this function.
(detect_coding_utf_8): Don't use the local variable incomplete.
(decode_coding_utf_8): Likewise.
(emacs_mule_char): Change the second arg to `const'.
(detect_coding_emacs_mule): Don't use the local variable
incomplete.
(detect_coding_sjis): Likewise.
(detect_coding_big5): Likewise.
(decode_coding): Fix of flushing out unprocessed data.
(make_conversion_work_buffer): Fix making of a work buffer.
(decode_coding_object): Return coding->dst_object;