* Changed many files to use mkvalue() instead of newtupleobject().
* Fixcprt.py: added [-y file] option, do only files younger than file.
* modsupport.[ch]: added vmkvalue().
* intobject.c: use mkvalue().
* stringobject.c: added "formatstring"; renamed string* to string_*;
  ceval.c: call formatstring for string % value.
* longobject.c: close memory leak in divmod.
* parsetok.c: set result node to NULL when returning an error.
diff --git a/Python/errors.c b/Python/errors.c
index 5814dd7..9f53255 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -1,6 +1,6 @@
 /***********************************************************
-Copyright 1991, 1992 by Stichting Mathematisch Centrum, Amsterdam, The
-Netherlands.
+Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum,
+Amsterdam, The Netherlands.
 
                         All Rights Reserved
 
@@ -56,6 +56,7 @@
 */
 
 #include "allobjects.h"
+#include "modsupport.h"
 
 #include <errno.h>
 #ifndef errno
@@ -153,13 +154,11 @@
 		err_set(KeyboardInterrupt);
 		return NULL;
 	}
-	v = newtupleobject(2);
+	v = mkvalue("(is)", errno, strerror(errno));
 	if (v != NULL) {
-		settupleitem(v, 0, newintobject((long)errno));
-		settupleitem(v, 1, newstringobject(strerror(errno)));
+		err_setval(exc, v);
+		DECREF(v);
 	}
-	err_setval(exc, v);
-	XDECREF(v);
 	return NULL;
 }