Commit 308dd672 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(Fformat): Update thissize from field_width

based on the actual width, in the string case.
parent 7bc60154
2002-01-02 Richard M. Stallman <rms@gnu.org>
* editfns.c (Fformat): Update thissize from field_width
based on the actual width, in the string case.
2002-01-01 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
* charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
......
......@@ -3217,6 +3217,7 @@ usage: (format STRING &rest OBJECTS) */)
if (*format++ == '%')
{
int thissize = 0;
int actual_width = 0;
unsigned char *this_format_start = format - 1;
int field_width, precision;
......@@ -3297,6 +3298,7 @@ usage: (format STRING &rest OBJECTS) */)
if (*format != 's' && *format != 'S')
error ("Format specifier doesn't match argument type");
thissize = CONVERTED_BYTE_SIZE (multibyte, args[n]);
actual_width = lisp_string_width (args[n], -1, NULL, NULL);
}
/* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */
else if (INTEGERP (args[n]) && *format != 's')
......@@ -3350,7 +3352,7 @@ usage: (format STRING &rest OBJECTS) */)
goto string;
}
thissize = max (field_width, thissize);
thissize += max (0, field_width - actual_width);
total += thissize + 4;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment