Mercurial > emacs
diff src/editfns.c @ 621:eca8812e61cd
*** empty log message ***
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Fri, 24 Apr 1992 08:11:54 +0000 |
parents | 53f29271d1b0 |
children | 70b112526394 |
line wrap: on
line diff
--- a/src/editfns.c Fri Apr 24 08:11:28 1992 +0000 +++ b/src/editfns.c Fri Apr 24 08:11:54 1992 +0000 @@ -1094,20 +1094,24 @@ /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */ else if (XTYPE (args[n]) == Lisp_Int && *format != 's') { +#ifdef LISP_FLOAT_TYPE /* The following loop issumes the Lisp type indicates the proper way to pass the argument. So make sure we have a flonum if the argument should be a double. */ if (*format == 'e' || *format == 'f' || *format == 'g') args[n] = Ffloat (args[n]); +#endif total += 10; } +#ifdef LISP_FLOAT_TYPE else if (XTYPE (args[n]) == Lisp_Float && *format != 's') { if (! (*format == 'e' || *format == 'f' || *format == 'g')) args[n] = Ftruncate (args[n]); total += 20; } +#endif else { /* Anything but a string, convert to a string using princ. */ @@ -1131,6 +1135,7 @@ /* We checked above that the corresponding format effector isn't %s, which would cause MPV. */ strings[n] = (unsigned char *) XINT (args[n]); +#ifdef LISP_FLOAT_TYPE else if (XTYPE (args[n]) == Lisp_Float) { union { double d; int half[2]; } u; @@ -1139,6 +1144,7 @@ strings[n++] = (unsigned char *) u.half[0]; strings[n] = (unsigned char *) u.half[1]; } +#endif else strings[n] = XSTRING (args[n])->data; }