diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 3dc6a00..6b14003 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -265,6 +265,38 @@
 \n\
 Return True if bool(x) is True for any x in the iterable.");
 
+static PyObject *
+builtin_ascii(PyObject *self, PyObject *v)
+{
+	PyObject *repr, *bytes, *ascii;
+	repr = PyObject_Repr(v);
+	if (!repr)
+	    return NULL;
+
+        bytes = PyUnicode_EncodeASCII(
+		PyUnicode_AS_UNICODE(repr),
+		PyUnicode_GET_SIZE(repr),
+		"backslashreplace");
+
+	Py_DECREF(repr);
+	if (bytes == NULL) 
+	    return NULL;
+
+	ascii = PyUnicode_FromEncodedObject(bytes, 
+		    "ASCII", NULL);
+	Py_DECREF(bytes);
+	if (ascii == NULL)
+	    return NULL;
+
+	return ascii;
+}
+
+PyDoc_STRVAR(ascii_doc,
+"ascii(object) -> string\n\
+\n\
+Return the canonical string representation of the object as repr(),\n\
+but non-ASCII characters in the string are hex-escaped");
+
 
 static PyObject *
 builtin_bin(PyObject *self, PyObject *v)
@@ -2188,6 +2220,7 @@
  	{"abs",		builtin_abs,        METH_O, abs_doc},
  	{"all",		builtin_all,        METH_O, all_doc},
  	{"any",		builtin_any,        METH_O, any_doc},
+ 	{"ascii",	builtin_ascii,      METH_O, ascii_doc},
 	{"bin",		builtin_bin,	    METH_O, bin_doc},
  	{"chr",		builtin_chr,        METH_VARARGS, chr_doc},
  	{"cmp",		builtin_cmp,        METH_VARARGS, cmp_doc},
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index c33457f..dee4965 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1100,7 +1100,6 @@
 	{"no_user_site",	"-s"},
 	{"no_site",		"-S"},
 	{"ignore_environment",	"-E"},
-	{"tabcheck",		"-t or -tt"},
 	{"verbose",		"-v"},
 #ifdef RISCOS
 	{"riscos_wimp",		"???"},
@@ -1116,9 +1115,9 @@
 	flags__doc__,	/* doc */
 	flags_fields,	/* fields */
 #ifdef RISCOS
-	12
-#else
 	11
+#else
+	10
 #endif
 };
 
@@ -1144,7 +1143,6 @@
 	SetFlag(Py_NoUserSiteDirectory);
 	SetFlag(Py_NoSiteFlag);
 	SetFlag(Py_IgnoreEnvironmentFlag);
-	SetFlag(Py_TabcheckFlag);
 	SetFlag(Py_VerboseFlag);
 #ifdef RISCOS
 	SetFlag(Py_RISCOSWimpFlag);
