Include <sys/stat.h> and <unistd.h>.
(Minclude, Mcommit, Munhandle): New variables.
(minput__init): Initialize them. Push only Mstate to
load_im_info_keys. Add aliases C-lowercase for C-uppercase.
(parse_action_list): Allow integer arg for undo. Handle Mcommit
and Munhandle.
(load_input_method): Handle "include" directive. If no states are
loaded, return -1.
(shift_state): If state_name is Mt, shift back to the previous
state. Call preedit_commit to commit preedit text.
(preedit_commit): New function.
(take_action_list): Improve debug printing. Handle commit and
unhandle commands.
(handle_key): Check the return value of take_action_list. Don't
take branch_actions just after changing to the root map.
(reset_ic): Reset all ic_info members.
(filter): When a key is not handled, just move ic_info->keys
instead fo calling reset_ic.
(load_im_info): If key is not Mstate, push Mmap to
load_im_info_keys.
(MDatabaseStatList): New type.
(imdir_stat_list): New variable.
(input_method_hook): Don't cancel the hook. Check the
modification time of directories.
(minput__fini): Free imdir_stat_list;