Fix bug in `format' (Bug#5710).
* editfns.c (Fformat): Account for string precision when computing field width (Bug#5710).
This commit is contained in:
parent
3af45ae1a6
commit
35cd7cd68e
2 changed files with 9 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-03-15 Andreas Politz <politza@fh-trier.de> (tiny change)
|
||||
|
||||
* editfns.c (Fformat): Account for string precision when computing
|
||||
field width (Bug#5710).
|
||||
|
||||
2010-03-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Make it possible to C-g in a tight bytecode loop again (bug#5680).
|
||||
|
|
|
@ -3782,7 +3782,11 @@ usage: (format STRING &rest OBJECTS) */)
|
|||
to be as large as is calculated here. Easy check for
|
||||
the case PRECISION = 0. */
|
||||
thissize = precision[n] ? CONVERTED_BYTE_SIZE (multibyte, args[n]) : 0;
|
||||
/* The precision also constrains how much of the argument
|
||||
string will finally appear (Bug#5710). */
|
||||
actual_width = lisp_string_width (args[n], -1, NULL, NULL);
|
||||
if (precision[n] != -1)
|
||||
actual_width = min(actual_width,precision[n]);
|
||||
}
|
||||
/* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */
|
||||
else if (INTEGERP (args[n]) && *format != 's')
|
||||
|
|
Loading…
Add table
Reference in a new issue