diff options
| author | Andreas Schwab <schwab@suse.de> | 2007-11-16 00:18:16 +0000 |
|---|---|---|
| committer | Andreas Schwab <schwab@suse.de> | 2007-11-16 00:18:16 +0000 |
| commit | 791e6ff67d2d04940e1771d98bfe044821ccf31c (patch) | |
| tree | 1fa359e74997c7f690a2a2deca70dd490f35a6eb | |
| parent | 023843b23be2d285d7ccce4411bdded310c65155 (diff) | |
| download | emacs-791e6ff67d2d04940e1771d98bfe044821ccf31c.tar.gz | |
Always take precision into account.
| -rw-r--r-- | src/editfns.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/editfns.c b/src/editfns.c index c4b8aa073d3..06fb1413b02 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3596,8 +3596,6 @@ usage: (format STRING &rest OBJECTS) */) /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */ else if (INTEGERP (args[n]) && *format != 's') { - thissize = 30; - /* The following loop assumes the Lisp type indicates the proper way to pass the argument. So make sure we have a flonum if the argument should @@ -3613,6 +3611,7 @@ usage: (format STRING &rest OBJECTS) */) && *format != 'i' && *format != 'X' && *format != 'c') error ("Invalid format operation %%%c", *format); + thissize = 30 + (precision[n] > 0 ? precision[n] : 0); if (*format == 'c') { if (! SINGLE_BYTE_CHAR_P (XINT (args[n])) |
