Merge from emacs-23; up to 2010-06-03T05:41:49Z!rgm@gnu.org.
[bpt/emacs.git] / src / floatfns.c
index 1c3e40e..c009236 100644 (file)
@@ -1,6 +1,7 @@
 /* Primitive operations on floating point for GNU Emacs Lisp interpreter.
-   Copyright (C) 1988, 1993, 1994, 1999, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+
+Copyright (C) 1988, 1993-1994, 1999, 2001-2011
+  Free Software Foundation, Inc.
 
 Author: Wolfgang Rupprecht
 (according to ack.texi)
@@ -987,16 +988,18 @@ int
 matherr (struct exception *x)
 {
   Lisp_Object args;
+  const char *name = x->name;
+
   if (! in_float)
     /* Not called from emacs-lisp float routines; do the default thing. */
     return 0;
   if (!strcmp (x->name, "pow"))
-    x->name = "expt";
+    name = "expt";
 
   args
-    = Fcons (build_string (x->name),
+    = Fcons (build_string (name),
             Fcons (make_float (x->arg1),
-                   ((!strcmp (x->name, "log") || !strcmp (x->name, "pow"))
+                   ((!strcmp (name, "log") || !strcmp (name, "pow"))
                     ? Fcons (make_float (x->arg2), Qnil)
                     : Qnil)));
   switch (x->type)
@@ -1072,5 +1075,3 @@ syms_of_floatfns (void)
   defsubr (&Struncate);
 }
 
-/* arch-tag: be05bf9d-049e-4e31-91b9-e6153d483ae7
-   (do not change this comment) */