Remove RISCOS support
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index d963e40..f45b85e 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -41,10 +41,6 @@
 #include <windows.h>
 #endif
 
-#ifdef RISCOS
-char *strdup(const char *);
-#endif
-
 PyDoc_STRVAR(locale__doc__, "Support for POSIX locales.");
 
 static PyObject *Error;
diff --git a/Modules/main.c b/Modules/main.c
index 0bcd0f4..22f5c0a 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -41,15 +41,7 @@
 /* command line options */
 #define BASE_OPTS "c:dEhim:OStuvVW:xX?"
 
-#ifndef RISCOS
 #define PROGRAM_OPTS BASE_OPTS
-#else /*RISCOS*/
-/* extra option saying that we are running under a special task window
-   frontend; especially my_readline will behave different */
-#define PROGRAM_OPTS BASE_OPTS "w"
-/* corresponding flag */
-extern int Py_RISCOSWimpFlag;
-#endif /*RISCOS*/
 
 /* Short usage message (with %s for argv0) */
 static char *usage_line =
@@ -227,10 +219,6 @@
 	orig_argc = argc;	/* For Py_GetArgcArgv() */
 	orig_argv = argv;
 
-#ifdef RISCOS
-	Py_RISCOSWimpFlag = 0;
-#endif
-
 	PySys_ResetWarnOptions();
 
 	while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) {
@@ -295,12 +283,6 @@
 			Py_VerboseFlag++;
 			break;
 
-#ifdef RISCOS
-		case 'w':
-			Py_RISCOSWimpFlag = 1;
-			break;
-#endif
-
 		case 'x':
 			skipfirstline = 1;
 			break;
@@ -513,10 +495,6 @@
 	WaitForThreadShutdown();
 
 	Py_Finalize();
-#ifdef RISCOS
-	if (Py_RISCOSWimpFlag)
-                fprintf(stderr, "\x0cq\x0c"); /* make frontend quit */
-#endif
 
 #ifdef __INSURE__
 	/* Insure++ is a memory analysis tool that aids in discovering
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 3ddb0a7..d8ea423 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -251,15 +251,7 @@
 #   include <arpa/inet.h>
 # endif
 
-# ifndef RISCOS
 #  include <fcntl.h>
-# else
-#  include <sys/ioctl.h>
-#  include <socklib.h>
-#  define NO_DUP
-int h_errno; /* not used */
-#  define INET_ADDRSTRLEN 16
-# endif
 
 #else
 
@@ -417,11 +409,6 @@
 static PyObject *socket_gaierror;
 static PyObject *socket_timeout;
 
-#ifdef RISCOS
-/* Global variable which is !=0 if Python is running in a RISC OS taskwindow */
-static int taskwindow;
-#endif
-
 /* A forward reference to the socket type object.
    The sock_type variable contains pointers to various functions,
    some of which call new_sockobject(), which uses sock_type, so
@@ -582,18 +569,6 @@
 	}
 #endif
 
-#if defined(RISCOS)
-	if (_inet_error.errnum != NULL) {
-		PyObject *v;
-		v = Py_BuildValue("(is)", errno, _inet_err());
-		if (v != NULL) {
-			PyErr_SetObject(socket_error, v);
-			Py_DECREF(v);
-		}
-		return NULL;
-	}
-#endif
-
 	return PyErr_SetFromErrno(socket_error);
 }
 
@@ -670,11 +645,9 @@
 static int
 internal_setblocking(PySocketSockObject *s, int block)
 {
-#ifndef RISCOS
 #ifndef MS_WINDOWS
 	int delay_flag;
 #endif
-#endif
 
 	Py_BEGIN_ALLOW_THREADS
 #ifdef __BEOS__
@@ -682,7 +655,6 @@
 	setsockopt(s->sock_fd, SOL_SOCKET, SO_NONBLOCK,
 		   (void *)(&block), sizeof(int));
 #else
-#ifndef RISCOS
 #ifndef MS_WINDOWS
 #if defined(PYOS_OS2) && !defined(PYCC_GCC)
 	block = !block;
@@ -702,10 +674,6 @@
 	block = !block;
 	ioctlsocket(s->sock_fd, FIONBIO, (u_long*)&block);
 #endif /* MS_WINDOWS */
-#else /* RISCOS */
-	block = !block;
-	socketioctl(s->sock_fd, FIONBIO, (u_long*)&block);
-#endif /* RISCOS */
 #endif /* __BEOS__ */
 	Py_END_ALLOW_THREADS
 
@@ -778,9 +746,6 @@
 init_sockobject(PySocketSockObject *s,
 		SOCKET_T fd, int family, int type, int proto)
 {
-#ifdef RISCOS
-	int block = 1;
-#endif
 	s->sock_fd = fd;
 	s->sock_family = family;
 	s->sock_type = type;
@@ -792,10 +757,6 @@
 	if (defaulttimeout >= 0.0)
 		internal_setblocking(s, 0);
 
-#ifdef RISCOS
-	if (taskwindow)
-		socketioctl(s->sock_fd, 0x80046679, (u_long*)&block);
-#endif
 }
 
 
@@ -1700,30 +1661,6 @@
 operations. A timeout of None indicates that timeouts on socket \n\
 operations are disabled.");
 
-#ifdef RISCOS
-/* s.sleeptaskw(1 | 0) method */
-
-static PyObject *
-sock_sleeptaskw(PySocketSockObject *s,PyObject *arg)
-{
-	int block;
-	block = PyInt_AsLong(arg);
-	if (block == -1 && PyErr_Occurred())
-		return NULL;
-	Py_BEGIN_ALLOW_THREADS
-	socketioctl(s->sock_fd, 0x80046679, (u_long*)&block);
-	Py_END_ALLOW_THREADS
-
-	Py_INCREF(Py_None);
-	return Py_None;
-}
-PyDoc_STRVAR(sleeptaskw_doc,
-"sleeptaskw(flag)\n\
-\n\
-Allow sleeps in taskwindows.");
-#endif
-
-
 /* s.setsockopt() method.
    With an integer third argument, sets an integer option.
    With a string third argument, sets an option from a buffer;
@@ -2749,10 +2686,6 @@
 			  setsockopt_doc},
 	{"shutdown",	  (PyCFunction)sock_shutdown, METH_O,
 			  shutdown_doc},
-#ifdef RISCOS
-	{"sleeptaskw",	  (PyCFunction)sock_sleeptaskw, METH_O,
-	 		  sleeptaskw_doc},
-#endif
 	{NULL,			NULL}		/* sentinel */
 };
 
@@ -2963,11 +2896,7 @@
 
 	if (h == NULL) {
 		/* Let's get real error message to return */
-#ifndef RISCOS
 		set_herror(h_errno);
-#else
-		PyErr_SetString(socket_error, "host not found");
-#endif
 		return NULL;
 	}
 
@@ -4016,24 +3945,6 @@
 };
 
 
-#ifdef RISCOS
-#define OS_INIT_DEFINED
-
-static int
-os_init(void)
-{
-	_kernel_swi_regs r;
-
-	r.r[0] = 0;
-	_kernel_swi(0x43380, &r, &r);
-	taskwindow = r.r[0];
-
-	return 1;
-}
-
-#endif /* RISCOS */
-
-
 #ifdef MS_WINDOWS
 #define OS_INIT_DEFINED
 
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index c7cd340..4bf3a9c 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -87,10 +87,6 @@
 #include <kernel/OS.h>
 #endif
 
-#ifdef RISCOS
-extern int riscos_sleep(double);
-#endif
-
 /* Forward declarations */
 static int floatsleep(double);
 static double floattime(void);
@@ -983,14 +979,6 @@
 		}
 		Py_END_ALLOW_THREADS
 	}
-#elif defined(RISCOS)
-	if (secs <= 0.0)
-		return 0;
-	Py_BEGIN_ALLOW_THREADS
-	/* This sleep *CAN BE* interrupted. */
-	if ( riscos_sleep(secs) )
-		return -1;
-	Py_END_ALLOW_THREADS
 #elif defined(PLAN9)
 	{
 		double millisecs = secs * 1000.0;
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index fc93011..42cb9d0 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -92,7 +92,6 @@
 	path = NULL;
 	prefix = NULL;
 	for (;;) {
-#ifndef RISCOS
 		struct stat statbuf;
 		int rv;
 
@@ -104,15 +103,6 @@
 				path = buf;
 			break;
 		}
-#else
-		if (object_exists(buf)) {
-			/* it exists */
-			if (isfile(buf))
-				/* it's a file */
-				path = buf;
-			break;
-		}
-#endif
 		/* back up one path element */
 		p = strrchr(buf, SEP);
 		if (prefix != NULL)
diff --git a/Modules/zlib/README b/Modules/zlib/README
index 758cc50..02c29d4 100644
--- a/Modules/zlib/README
+++ b/Modules/zlib/README
@@ -74,7 +74,7 @@
 - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
   other compilers. Use "make test" to check your compiler.
 
-- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
+- gzdopen is not supported on BEOS and by some Mac compilers.
 
 - For PalmOs, see http://palmzlib.sourceforge.net/
 
diff --git a/Modules/zlib/example.c b/Modules/zlib/example.c
index 6c8a0ee..52bc261 100644
--- a/Modules/zlib/example.c
+++ b/Modules/zlib/example.c
@@ -13,7 +13,7 @@
 #  include <stdlib.h>
 #endif
 
-#if defined(VMS) || defined(RISCOS)
+#if defined(VMS)
 #  define TESTFILE "foo-gz"
 #else
 #  define TESTFILE "foo.gz"
diff --git a/Modules/zlib/minigzip.c b/Modules/zlib/minigzip.c
index 4524b96..7f1de49 100644
--- a/Modules/zlib/minigzip.c
+++ b/Modules/zlib/minigzip.c
@@ -41,11 +41,6 @@
 #  define unlink delete
 #  define GZ_SUFFIX "-gz"
 #endif
-#ifdef RISCOS
-#  define unlink remove
-#  define GZ_SUFFIX "-gz"
-#  define fileno(file) file->__file
-#endif
 #if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
 #  include <unix.h> /* for fileno */
 #endif
diff --git a/Modules/zlib/zutil.h b/Modules/zlib/zutil.h
index b7d5eff..34646eb 100644
--- a/Modules/zlib/zutil.h
+++ b/Modules/zlib/zutil.h
@@ -147,7 +147,7 @@
 #  define OS_CODE  0x0f
 #endif
 
-#if defined(_BEOS_) || defined(RISCOS)
+#if defined(_BEOS_)
 #  define fdopen(fd,mode) NULL /* No fdopen() */
 #endif