(read_process_output): Deactivate the mark.
[bpt/emacs.git] / src / floatfns.c
index 8dd3fdc..f022209 100644 (file)
@@ -1,5 +1,5 @@
 /* Primitive operations on floating point for GNU Emacs Lisp interpreter.
-   Copyright (C) 1988, 1992 Free Software Foundation, Inc.
+   Copyright (C) 1988, 1993 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -55,8 +55,10 @@ Lisp_Object Qarith_error;
 
 #include <math.h>
 
+#ifndef hpux
 /* These declarations are omitted on some systems, like Ultrix.  */
 extern double logb ();
+#endif
 
 #if defined(DOMAIN) && defined(SING) && defined(OVERFLOW)
     /* If those are defined, then this is probably a `matherr' machine. */
@@ -65,6 +67,10 @@ extern double logb ();
 # endif
 #endif
 
+#ifdef NO_MATHERR
+#undef HAVE_MATHERR
+#endif
+
 #ifdef HAVE_MATHERR
 # ifdef FLOAT_CHECK_ERRNO
 #  undef FLOAT_CHECK_ERRNO
@@ -148,6 +154,7 @@ static char *float_error_fn_name;
     }                                                  \
   } while (0)
 #else
+#define IN_FLOAT(d, name, num) (in_float = 1, (d), in_float = 0)
 #define IN_FLOAT2(d, name, num, num2) (in_float = 1, (d), in_float = 0)
 #endif
 
@@ -465,7 +472,7 @@ If second optional argument BASE is given, return log ARG using that base.")
       if (b == 10.0)
        IN_FLOAT2 (d = log10 (d), "log", arg, base);
       else
-       IN_FLOAT2 (d = log (arg) / log (b), "log", arg, base);
+       IN_FLOAT2 (d = log (d) / log (b), "log", arg, base);
     }
   return make_float (d);
 }