RISCOS files by dschwertberger
diff --git a/Lib/plat-riscos/riscosenviron.py b/Lib/plat-riscos/riscosenviron.py
new file mode 100644
index 0000000..d44aa0a
--- /dev/null
+++ b/Lib/plat-riscos/riscosenviron.py
@@ -0,0 +1,46 @@
+"""A more or less complete user-defined wrapper around dictionary objects."""
+
+import riscos
+
+class _Environ:
+    def __init__(self):
+        pass
+    def __repr__(self):
+        return repr(riscos.getenvdict())
+    def __cmp__(self, dict):
+        if isinstance(dict, UserDict):
+            return cmp(riscos.getenvdict(), dict)
+    def __len__(self):
+        return len(riscos.getenvdict())
+    def __getitem__(self, key):
+        ret = riscos.getenv(key)
+        if ret<>None:
+            return ret
+        else:
+            raise KeyError
+    def __setitem__(self, key, item):
+        riscos.setenv(key, item)
+    def __delitem__(self, key):
+        riscos.delenv(key)
+    def clear(self):
+        # too dangerous on RISC OS
+        pass
+    def copy(self):
+        return riscos.getenvdict()
+    def keys(self): return riscos.getenvdict().keys()
+    def items(self): return riscos.getenvdict().items()
+    def values(self): return riscos.getenvdict().values()
+    def has_key(self, key):
+        value = riscos.getenv(key)
+        return value<>None
+    def update(self, dict):
+        for k, v in dict.items():
+            riscos.putenv(k, v)
+    def get(self, key, failobj=None):
+        value = riscos.getenv(key)
+        if value<>None:
+            return value
+        else:
+            return failobj
+
+environ = _Environ()