{
M17N_OBJECT_UNREF (mt);
mt = mtext__from_data (translated, strlen (translated),
- MTEXT_FORMAT_UTF_8, 0);
+ MTEXT_FORMAT_UTF_8, 1);
}
}
#endif
}
else if (custom_cmds && (custom = mplist__assq (custom_cmds, name)))
{
- custom = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (custom)));
- if (! MPLIST_TAIL_P (custom))
+ MPlist *this_keyseq = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (custom)));
+
+ if (MPLIST_TAIL_P (this_keyseq))
+ mplist__pop_unref (custom);
+ else
{
status = Mcustomized;
- keyseq = custom;
+ keyseq = this_keyseq;
}
}
}
else if (custom_vars && (custom = mplist__assq (custom_vars, name)))
{
- custom = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (custom)));
- if (! MPLIST_TAIL_P (custom))
+ MPlist *this_value = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (custom)));
+
+ if (MPLIST_TAIL_P (this_value))
+ mplist__pop_unref (custom);
+ else
{
- value = custom;
+ value = this_value;
if (MFAILP (check_variable_value (value, global ? global : plist)))
value = NULL;
status = Mcustomized;
else
custom->cmds = mplist (), p = NULL;
elt = MPLIST_NEXT (elt);
- if (MPLIST_TAIL_P (elt))
+ if (p)
{
- if (p)
- {
- /* Make customization ignored. */
- p = MPLIST_NEXT (MPLIST_PLIST (p));
- mplist_set (p, Mnil, NULL);
- }
+ p = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (p)));
+ mplist_set (p, Mnil, NULL);
}
else
{
- elt = MPLIST_NEXT (elt);
- if (p)
- {
- p = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (p)));
- mplist_set (p, Mnil, NULL);
- mplist__conc (p, elt);
- }
- else
- {
- p = MPLIST_PLIST (pl);
- mplist_add (custom->cmds, Mplist, p);
- }
+ p = mplist ();
+ mplist_add (custom->cmds, Mplist, p);
+ M17N_OBJECT_UNREF (p);
+ mplist_add (p, Msymbol, command);
+ p = mplist_add (p, Msymbol, Mnil);
+ p = MPLIST_NEXT (p);
}
+ mplist__conc (p, elt);
}
if (config->vars)
MPLIST_DO (pl, config->vars)
else
custom->vars = mplist (), p = NULL;
elt = MPLIST_NEXT (elt);
- if (MPLIST_TAIL_P (elt))
+ if (p)
{
- if (p)
- mplist__pop_unref (p);
+ p = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (p)));
+ mplist_set (p, Mnil, NULL);
}
else
{
- elt = MPLIST_NEXT (elt);
- if (p)
- {
- p = MPLIST_NEXT (MPLIST_NEXT (MPLIST_PLIST (p)));
- mplist_set (p, Mnil, NULL);
- mplist__conc (p, elt);
- }
- else
- {
- p = MPLIST_PLIST (pl);
- mplist_add (custom->vars, Mplist, p);
- }
+ p = mplist ();
+ mplist_add (custom->vars, Mplist, p);
+ M17N_OBJECT_UNREF (p);
+ mplist_add (p, Msymbol, variable);
+ p = mplist_add (p, Msymbol, Mnil);
+ p = MPLIST_NEXT (p);
}
+ mplist__conc (p, elt);
}
}
- M17N_OBJECT_UNREF (im_config_list);
+ free_im_list (im_config_list);
+ im_config_list = NULL;
/* Next, reflect customization to the actual plist to be written. */
data = tail = mplist ();