]> git.eshelyaron.com Git - emacs.git/commitdiff
Always take precision into account.
authorAndreas Schwab <schwab@suse.de>
Fri, 16 Nov 2007 00:17:40 +0000 (00:17 +0000)
committerAndreas Schwab <schwab@suse.de>
Fri, 16 Nov 2007 00:17:40 +0000 (00:17 +0000)
src/editfns.c

index eaee2bfadfacc5b5fac0aa61bedca22db33c1d79..fae485ae709c78b5184d887264bf52aa1ea594b8 100644 (file)
@@ -3594,8 +3594,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
@@ -3603,14 +3601,13 @@ usage: (format STRING &rest OBJECTS)  */)
            if (*format == 'e' || *format == 'f' || *format == 'g')
              {
                args[n] = Ffloat (args[n]);
-               if (precision[n] > 0)
-                 thissize += precision[n];
              }
            else
              if (*format != 'd' && *format != 'o' && *format != 'x'
                  && *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]))