+2007-11-23 Andreas Schwab <schwab@suse.de>
+
+ * editfns.c (Fformat): Handle %c specially since it requires the
+ argument to be of type int.
+
2007-11-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
* gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
sprintf (p, this_format, XFLOAT_DATA (args[n]));
else
{
- if (sizeof (EMACS_INT) > sizeof (int))
+ if (sizeof (EMACS_INT) > sizeof (int)
+ && format[-1] != 'c')
{
/* Insert 'l' before format spec. */
this_format[format - this_format_start]
if (INTEGERP (args[n]))
{
- if (format[-1] == 'd')
+ if (format[-1] == 'c')
+ sprintf (p, this_format, (int) XINT (args[n]));
+ else if (format[-1] == 'd')
sprintf (p, this_format, XINT (args[n]));
/* Don't sign-extend for octal or hex printing. */
else
sprintf (p, this_format, XUINT (args[n]));
}
+ else if (format[-1] == 'c')
+ sprintf (p, this_format, (int) XFLOAT_DATA (args[n]));
else if (format[-1] == 'd')
/* Maybe we should use "%1.0f" instead so it also works
for values larger than MAXINT. */