emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/editfns.c,v


From: Andreas Schwab
Subject: [Emacs-diffs] Changes to emacs/src/editfns.c,v
Date: Thu, 15 Nov 2007 23:37:34 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Andreas Schwab <schwab> 07/11/15 23:37:34

Index: editfns.c
===================================================================
RCS file: /sources/emacs/emacs/src/editfns.c,v
retrieving revision 1.447
retrieving revision 1.448
diff -u -b -r1.447 -r1.448
--- editfns.c   13 Oct 2007 12:43:31 -0000      1.447
+++ editfns.c   15 Nov 2007 23:37:33 -0000      1.448
@@ -3801,6 +3801,19 @@
                     format - this_format_start);
              this_format[format - this_format_start] = 0;
 
+             if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 'g')
+               sprintf (p, this_format, XFLOAT_DATA (args[n]));
+             else
+               {
+                 if (sizeof (EMACS_INT) > sizeof (int))
+                   {
+                     /* Insert 'l' before format spec.  */
+                     this_format[format - this_format_start]
+                       = this_format[format - this_format_start - 1];
+                     this_format[format - this_format_start - 1] = 'l';
+                     this_format[format - this_format_start + 1] = 0;
+                   }
+
              if (INTEGERP (args[n]))
                {
                  if (format[-1] == 'd')
@@ -3809,8 +3822,6 @@
                  else
                    sprintf (p, this_format, XUINT (args[n]));
                }
-             else if (format[-1] == 'e' || format[-1] == 'f' || format[-1] == 
'g')
-               sprintf (p, this_format, 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.  */
@@ -3818,6 +3829,7 @@
              else
                /* Don't sign-extend for octal or hex printing.  */
                sprintf (p, this_format, (EMACS_UINT) XFLOAT_DATA (args[n]));
+               }
 
              if (p > buf
                  && multibyte




reply via email to

[Prev in Thread] Current Thread [Next in Thread]