Include "charset.h". (M_candidates, Mcandidates_group_size, Mcandidates_charset): New variables. (MIMState): New member (M17NObject control). (lookup_nested_list, set_nested_list, parse_nested_list_value) (get_nested_list, resolve_variable): New functions. (integer_value): New arg (MPlist **value).  Set it to the plist element containing the value. (resolve_command): New function. (load_translation): New arg (MPlist *map_actions). (load_branch): New args language and name.  If `keylist' is a symbol, resolved that as a command name. (free_map): New arg top.  Free map->map_actions only if top is nonzero. (free_state): New function. (load_state): New arg name. (im_info_list): New variable. (free_im_info, get_im_info_by_tags): New functions. (load_im_info): Arg key changed to plist.  Handle `include'. Return (MInputMethodInfo *). (preedit_commit): Ref ic->candidate_list. (get_select_charset, adjust_candidate_command): New functions. (take_action_list): Handle `include'.  Adjust candidate action properly.  Handle control variables `candidates-charset' and `candidates-group-size'. (open_im): Use get_im_info. (create_ic): Get global variables. (load_partial_im_info): New function. (get_im_info): New function. (check_command_keyseq, check_command_list, check_variable_list): New functions. (minput__init): Don't handle M_database_hook and Mdetail_text. Initialize M_candidates, Mcandidates_group_size, Mcandidates_charset. (parse_variable_list, get_variable_list, parse_command_list) (get_command_list): Delete them. (MDatabaseStatList, imdir_stat_list, input_method_hook): Delete them. (minput__fini): Simply unref command_list and variable_list. (minput_get_description): Adjusted for the new form of description. (minput_get_commands): Use get_nested_list. (minput_assign_command_keys): Likewise. (minput_get_variables, minput_set_variable): Likewise.
Include "charset.h".
(M_candidates, Mcandidates_group_size, Mcandidates_charset): New
variables.
(MIMState): New member (M17NObject control).
(lookup_nested_list, set_nested_list, parse_nested_list_value)
(get_nested_list, resolve_variable): New functions.
(integer_value): New arg (MPlist **value).  Set it to the plist
element containing the value.
(resolve_command): New function.
(load_translation): New arg (MPlist *map_actions).
(load_branch): New args language and name.  If `keylist' is a
symbol, resolved that as a command name.
(free_map): New arg top.  Free map->map_actions only if top is
nonzero.
(free_state): New function.
(load_state): New arg name.
(im_info_list): New variable.
(free_im_info, get_im_info_by_tags): New functions.
(load_im_info): Arg key changed to plist.  Handle `include'.
Return (MInputMethodInfo *).
(preedit_commit): Ref ic->candidate_list.
(get_select_charset, adjust_candidate_command): New functions.
(take_action_list): Handle `include'.  Adjust candidate action
properly.  Handle control variables `candidates-charset' and
`candidates-group-size'.
(open_im): Use get_im_info.
(create_ic): Get global variables.
(load_partial_im_info): New function.
(get_im_info): New function.
(check_command_keyseq, check_command_list, check_variable_list):
New functions.
(minput__init): Don't handle M_database_hook and Mdetail_text.
Initialize M_candidates, Mcandidates_group_size,
Mcandidates_charset.
(parse_variable_list, get_variable_list, parse_command_list)
(get_command_list): Delete them.
(MDatabaseStatList, imdir_stat_list, input_method_hook): Delete them.
(minput__fini): Simply unref command_list and variable_list.
(minput_get_description): Adjusted for the new form of description.
(minput_get_commands): Use get_nested_list.
(minput_assign_command_keys): Likewise.
(minput_get_variables, minput_set_variable): Likewise.

xmirror/m17n-lib,xmirror/m17n-lib,xmirror/m17n-lib,xmirror/m17n-lib