Merged revisions 59680-59695 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59686 | guido.van.rossum | 2008-01-04 00:54:04 +0100 (Fri, 04 Jan 2008) | 2 lines

  Bug #1301: fixed a bad assert in _tkinter.
........
  r59687 | raymond.hettinger | 2008-01-04 01:01:15 +0100 (Fri, 04 Jan 2008) | 3 lines

  Finish-up the struct module optimizations started at the Iceland NFS sprint.
........
  r59688 | christian.heimes | 2008-01-04 01:04:52 +0100 (Fri, 04 Jan 2008) | 1 line

  Fixed #1687: plistlib.py restricts <integer> to Python int when writing
........
  r59689 | christian.heimes | 2008-01-04 01:37:34 +0100 (Fri, 04 Jan 2008) | 1 line

  Bug #1481296: Fixed long(float('nan'))!=0L.
........
  r59691 | andrew.kuchling | 2008-01-04 02:15:50 +0100 (Fri, 04 Jan 2008) | 1 line

  Markup fixes; grammar tweaks
........
  r59692 | andrew.kuchling | 2008-01-04 02:16:12 +0100 (Fri, 04 Jan 2008) | 1 line

  Add items
........
  r59694 | christian.heimes | 2008-01-04 02:48:50 +0100 (Fri, 04 Jan 2008) | 1 line

  Fixed math.copysign() on Windows
........
  r59695 | christian.heimes | 2008-01-04 03:03:25 +0100 (Fri, 04 Jan 2008) | 1 line

  Filled in some XXX comments
........
diff --git a/Objects/longobject.c b/Objects/longobject.c
index dc459fd..40aaba1 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -254,6 +254,9 @@
 			"cannot convert float infinity to int");
 		return NULL;
 	}
+	if (Py_IS_NAN(dval)) {
+		return PyLong_FromLong(0L);
+	}
 	if (dval < 0.0) {
 		neg = 1;
 		dval = -dval;