]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Updated version of RISCOS support. SF patch 411213 by Dietmar Schwertberger
authorGuido van Rossum <guido@python.org>
Tue, 10 Apr 2001 22:07:43 +0000 (22:07 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 10 Apr 2001 22:07:43 +0000 (22:07 +0000)
Lib/plat-riscos/riscospath.py
Modules/main.c
Modules/timemodule.c
Python/sysmodule.c
RISCOS/Makefile
RISCOS/sleep.c [new file with mode: 0644]
RISCOS/support/!Boot [new file with mode: 0644]
RISCOS/support/!Run [new file with mode: 0644]
RISCOS/support/!Sprites [new file with mode: 0644]
RISCOS/support/!Sprites22 [new file with mode: 0644]
RISCOS/support/AddToPath [new file with mode: 0644]

index b83c632fc1bf7274c78732adb849372c9a6c1014..a38b22c62ab90bc9d3577f3ef1a5062c36300786 100644 (file)
@@ -203,21 +203,30 @@ def exists(p):
   """
 Test whether a path exists.
 """
-  return swi.swi('OS_File', '5s;i', p)!=0
+  try:
+    return swi.swi('OS_File', '5s;i', p)!=0
+  except swi.error:
+    return 0
 
 
 def isdir(p):
   """
 Is a path a directory? Includes image files.
 """
-  return swi.swi('OS_File', '5s;i', p) in [2, 3]
+  try:
+    return swi.swi('OS_File', '5s;i', p) in [2, 3]
+  except swi.error:
+    return 0
 
 
 def isfile(p):
   """
 Test whether a path is a file, including image files.
 """
-  return swi.swi('OS_File', '5s;i', p) in [1, 3]
+  try:
+    return swi.swi('OS_File', '5s;i', p) in [1, 3]
+  except swi.error:
+    return 0
 
 
 def islink(p):
index b4566c94af69ecb0dcdef086d1d0bb7bc77c9313..018364725e5a0691333464971d4ebb4f68017746 100644 (file)
 static char **orig_argv;
 static int  orig_argc;
 
-/* For my_readline when running under RISCOS */
-#ifdef RISCOS
+/* command line options */
+#define BASE_OPTS "c:diOStuUvxXhVW:"
+
+#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
+#endif /*RISCOS*/
 
 /* Short usage message (with %s for argv0) */
 static char *usage_line =
@@ -115,11 +123,7 @@ Py_Main(int argc, char **argv)
 
        PySys_ResetWarnOptions();
 
-#ifdef RISCOS
-       while ((c = getopt(argc, argv, "c:diOStuUvwxXhV")) != EOF) {
-#else
-       while ((c = _PyOS_GetOpt(argc, argv, "c:diOStuUvxXhVW:")) != EOF) {
-#endif
+       while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) {
                if (c == 'c') {
                        /* -c is the last option; following arguments
                           that look like options are left for the
index cfce06bca569fb77f4481e2b2aaba5341867ee99..0c5c25793582611e1867ad9837d71fac50466ced 100644 (file)
@@ -756,9 +756,7 @@ floatsleep(double secs)
 #if defined(__WATCOMC__) && !defined(__QNX__)
        /* XXX Can't interrupt this sleep */
        Py_BEGIN_ALLOW_THREADS
-#ifndef RISCOS
        delay((int)(secs * 1000 + 0.5));  /* delay() uses milliseconds */
-#endif
        Py_END_ALLOW_THREADS
 #else /* !__WATCOMC__ || __QNX__ */
 #ifdef MSDOS
@@ -831,10 +829,20 @@ floatsleep(double secs)
                Py_END_ALLOW_THREADS
        }
 #else /* !__BEOS__ */
+#ifdef RISCOS
+       if (secs <= 0.0)
+               return 0;
+       Py_BEGIN_ALLOW_THREADS
+       /* This sleep *CAN BE* interrupted. */
+       if ( sleep(secs) )
+               return -1;
+       Py_END_ALLOW_THREADS
+#else /* !RISCOS */
        /* XXX Can't interrupt this sleep */
        Py_BEGIN_ALLOW_THREADS
        sleep((int)secs);
        Py_END_ALLOW_THREADS
+#endif /* !RISCOS */
 #endif /* !__BEOS__ */
 #endif /* !PYOS_OS2 */
 #endif /* !MS_WIN32 */
index 9a0a43b6827a923072fbb89b7804c2f1082e5051..52fbbc89d32db6c10c81ff3813ac6809aa615bd3 100644 (file)
@@ -808,7 +808,11 @@ PySys_SetArgv(int argc, char **argv)
                if (argc > 0 && argv0 != NULL)
                        p = strrchr(argv0, SEP);
                if (p != NULL) {
+#ifndef RISCOS
                        n = p + 1 - argv0;
+#else /* don't include trailing separator */
+                       n = p - argv0;
+#endif /* RISCOS */
 #if SEP == '/' /* Special case for Unix filename syntax */
                        if (n > 1)
                                n--; /* Drop trailing separator */
index 38973f03573af5c0c3ed38cf639a0ce982a4bdc4..e970d138e160e28db3929b7c3ef7afdcfd147653 100644 (file)
@@ -12,9 +12,9 @@ EXPAT = $(LIBSROOT).expat.lib
 OBJSCAN = $(DLKLIB).objscan
 MAKEDLK = $(DLKLIB).makedlk
 
-# change from time to time
+# change from time to time (don't forget to change !Boot also)
 TARGET=Python21
-BUILD=10
+BUILD=12
 
 
 #
@@ -23,7 +23,7 @@ BUILD=10
 OSLIBS = OSLib:Computer,OSLib:Core,OSLib:User
 
 DLKFLAG= -DDLK
-DLKOBJS = $(DLKLIB).o.dlk_load o.linktab
+DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
 
 HEADERS = @,@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIBS),$(DLKLIB)
 
@@ -32,7 +32,7 @@ CC = cc -c -j$(HEADERS) $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wad -throwback
 CCEXPAT = cc -c -j$(HEADERS),$(EXPAT) $(DLKFLAG) -DHAVE_EXPAT_H -DRISCOS -DHAVE_CONFIG_H -wad -throwback
 
 LINK = link
-LINKFLAGS = -aif -NOUNUSED #-d
+LINKFLAGS = -aif #-NOUNUSED #-d
 LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
 
 
@@ -41,143 +41,135 @@ LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
 
 
 # code for main Python binary
-MODULES_STATIC = \
-       @.^.Modules.o.python \
-       @.^.Modules.o.main \
-       Modules.o.config \
-       @.^.Modules.o.getbuildinfo \
-       Modules.o.getpath_riscos \
-       Modules.o.riscosmodule \
-       @.^.Modules.o._sre
+MODULES_STATIC =\
+       @.^.Modules.o.python\
+       @.^.Modules.o.main\
+       Modules.o.config\
+       @.^.Modules.o.getbuildinfo\
+       Modules.o.getpath_riscos\
+       Modules.o.riscosmodule
 
 
 # dynamic Modules
-MODULES_DYNAMIC = \
-       @.^.Lib.array/pyd \
-       @.^.Lib.audioop/pyd \
-       @.^.Lib.binascii/pyd \
-       @.^.Lib.cmath/pyd \
-       @.^.Lib.cPickle/pyd \
-       @.^.Lib.cStringIO/pyd \
-       @.^.Lib.errno/pyd \
-       @.^.Lib.imageop/pyd \
-       @.^.Lib.math/pyd \
-       @.^.Lib.md5/pyd \
-       @.^.Lib.new/pyd \
-       @.^.Lib.operator/pyd \
-       @.^.Lib.parser/pyd \
-       @.^.Lib.pcre/pyd \
-       @.^.Lib.regex/pyd \
-       @.^.Lib.rgbimg/pyd \
-       @.^.Lib.rotor/pyd \
-       @.^.Lib.sha/pyd \
-       @.^.Lib.signal/pyd \
-       @.^.Lib.struct/pyd \
-       @.^.Lib.time/pyd \
-       @.^.Lib._locale/pyd \
-       @.^.Lib.zlib/pyd \
-       @.^.Lib.select/pyd \
-       @.^.Lib._socket/pyd \
-       @.^.Lib._codecs/pyd \
-       @.^.Lib._weakref/pyd \
-       @.^.Lib._testcapi/pyd \
-       @.^.Lib.unicodedata/pyd \
-       @.^.Lib.xreadlines/pyd \
-       @.^.Lib.pyexpat/pyd \
-       @.^.Lib.plat-riscos.drawf/pyd \
-       @.^.Lib.plat-riscos.swi/pyd
-
-       # @.^.Lib.soundex/pyd \
-       # leave  strop out? It's no longer in use for string operations
-       # @.^.Lib.mmap/pyd would it make sense? I read about a mmap
-       # implementation for RISC OS recently in usenet news.
-
-       #@.^.Lib.strop/pyd \
-       #@.^.Lib._sre/pyd \
-
-
-OBJECTS_PYTHON = \
-       @.^.Python.o.traceback \
-       @.^.Python.o.sysmodule \
-       @.^.Python.o.structmember \
-       @.^.Python.o.strdup \
-       @.^.Python.o.sigcheck \
-       @.^.Python.o.pythonrun \
-       @.^.Python.o.pystate \
-       @.^.Python.o.pyfpe \
-       @.^.Python.o.mystrtoul \
-       @.^.Python.o.modsupport \
-       @.^.Python.o.marshal \
-       @.^.Python.o.importdl \
-       @.^.Python.o.import \
-       @.^.Python.o.graminit \
-       @.^.Python.o.getversion \
-       @.^.Python.o.getplatform \
-       @.^.Python.o.getopt \
-       @.^.Python.o.getcopyright \
-       @.^.Python.o.getcompiler \
-       @.^.Python.o.getargs \
-       @.^.Python.o.frozenmain \
-       @.^.Python.o.frozen \
-       @.^.Python.o.errors \
-       @.^.Python.o.compile \
-       @.^.Python.o.ceval \
-       @.^.Python.o.bltinmodule \
-       @.^.Python.o.exceptions \
-       @.^.Python.o.hypot \
-       @.^.Python.o.codecs \
-       @.^.Python.o.symtable
-# @.^.Python.o.atof @.^.Python.o.strerror
-
-
-OBJECTS_RISCOS =  \
-       @.Python.o.dynload_riscos \
-       @.Python.o.getcwd_riscos \
-       @.Python.o.getmtime_riscos \
+MODULES_DYNAMIC =\
+       @.^.Lib.array/pyd\
+       @.^.Lib.audioop/pyd\
+       @.^.Lib.binascii/pyd\
+       @.^.Lib.cmath/pyd\
+       @.^.Lib.cPickle/pyd\
+       @.^.Lib.cStringIO/pyd\
+       @.^.Lib.errno/pyd\
+       @.^.Lib.imageop/pyd\
+       @.^.Lib.math/pyd\
+       @.^.Lib.md5/pyd\
+       @.^.Lib.new/pyd\
+       @.^.Lib.operator/pyd\
+       @.^.Lib.parser/pyd\
+       @.^.Lib.pcre/pyd\
+       @.^.Lib.regex/pyd\
+       @.^.Lib.rgbimg/pyd\
+       @.^.Lib.rotor/pyd\
+       @.^.Lib.sha/pyd\
+       @.^.Lib.signal/pyd\
+       @.^.Lib.struct/pyd\
+       @.^.Lib.time/pyd\
+       @.^.Lib._locale/pyd\
+       @.^.Lib.zlib/pyd\
+       @.^.Lib.select/pyd\
+       @.^.Lib._socket/pyd\
+       @.^.Lib._codecs/pyd\
+       @.^.Lib._weakref/pyd\
+       @.^.Lib._testcapi/pyd\
+       @.^.Lib.unicodedata/pyd\
+       @.^.Lib.xreadlines/pyd\
+       @.^.Lib.pyexpat/pyd\
+       @.^.Lib.plat-riscos.drawf/pyd\
+       @.^.Lib.plat-riscos.swi/pyd\
+       @.^.Lib._sre/pyd
+
+
+OBJECTS_PYTHON =\
+       @.^.Python.o.traceback\
+       @.^.Python.o.sysmodule\
+       @.^.Python.o.structmember\
+       @.^.Python.o.strdup\
+       @.^.Python.o.sigcheck\
+       @.^.Python.o.pythonrun\
+       @.^.Python.o.pystate\
+       @.^.Python.o.pyfpe\
+       @.^.Python.o.mystrtoul\
+       @.^.Python.o.modsupport\
+       @.^.Python.o.marshal\
+       @.^.Python.o.importdl\
+       @.^.Python.o.import\
+       @.^.Python.o.graminit\
+       @.^.Python.o.getversion\
+       @.^.Python.o.getplatform\
+       @.^.Python.o.getopt\
+       @.^.Python.o.getcopyright\
+       @.^.Python.o.getcompiler\
+       @.^.Python.o.getargs\
+       @.^.Python.o.frozenmain\
+       @.^.Python.o.frozen\
+       @.^.Python.o.errors\
+       @.^.Python.o.compile\
+       @.^.Python.o.ceval\
+       @.^.Python.o.bltinmodule\
+       @.^.Python.o.exceptions\
+       @.^.Python.o.hypot\
+       @.^.Python.o.codecs\
+       @.^.Python.o.symtable\
+       @.^.Python.o.future
+
+
+OBJECTS_RISCOS = \
+       @.Python.o.dynload_riscos\
+       @.Python.o.getcwd_riscos\
+       @.Python.o.getmtime_riscos\
        @.o.unixstuff
 
 
-OBJECTS_OBJECTS = \
-       @.^.Objects.o.typeobject \
-       @.^.Objects.o.tupleobject \
-       @.^.Objects.o.stringobject \
-       @.^.Objects.o.sliceobject \
-       @.^.Objects.o.rangeobject \
-       @.^.Objects.o.object \
-       @.^.Objects.o.moduleobject \
-       @.^.Objects.o.methodobject \
-       @.^.Objects.o.longobject \
-       @.^.Objects.o.listobject \
-       @.^.Objects.o.intobject \
-       @.^.Objects.o.funcobject \
-       @.^.Objects.o.frameobject \
-       @.^.Objects.o.floatobject \
-       @.^.Objects.o.fileobject \
-       @.^.Objects.o.dictobject \
-       @.^.Objects.o.complexobject \
-       @.^.Objects.o.cobject \
-       @.^.Objects.o.classobject \
-       @.^.Objects.o.cellobject \
-       @.^.Objects.o.bufferobject \
-       @.^.Objects.o.abstract \
-       @.^.Objects.o.unicodectype \
+OBJECTS_OBJECTS =\
+       @.^.Objects.o.typeobject\
+       @.^.Objects.o.tupleobject\
+       @.^.Objects.o.stringobject\
+       @.^.Objects.o.sliceobject\
+       @.^.Objects.o.rangeobject\
+       @.^.Objects.o.object\
+       @.^.Objects.o.moduleobject\
+       @.^.Objects.o.methodobject\
+       @.^.Objects.o.longobject\
+       @.^.Objects.o.listobject\
+       @.^.Objects.o.intobject\
+       @.^.Objects.o.funcobject\
+       @.^.Objects.o.frameobject\
+       @.^.Objects.o.floatobject\
+       @.^.Objects.o.fileobject\
+       @.^.Objects.o.dictobject\
+       @.^.Objects.o.complexobject\
+       @.^.Objects.o.cobject\
+       @.^.Objects.o.classobject\
+       @.^.Objects.o.cellobject\
+       @.^.Objects.o.bufferobject\
+       @.^.Objects.o.abstract\
+       @.^.Objects.o.unicodectype\
        @.^.Objects.o.unicodeobject
 
 
-OBJECTS_PARSER = \
-       @.^.Parser.o.tokenizer \
-       @.^.Parser.o.printgrammar \
-       @.^.Parser.o.parsetok \
-       @.^.Parser.o.parser \
-       @.^.Parser.o.node \
-       @.^.Parser.o.myreadline \
-       @.^.Parser.o.metagrammar \
-       @.^.Parser.o.listnode \
-       @.^.Parser.o.intrcheck \
-       @.^.Parser.o.grammar1 \
-       @.^.Parser.o.grammar \
-       @.^.Parser.o.firstsets \
-       @.^.Parser.o.bitset \
+OBJECTS_PARSER =\
+       @.^.Parser.o.tokenizer\
+       @.^.Parser.o.printgrammar\
+       @.^.Parser.o.parsetok\
+       @.^.Parser.o.parser\
+       @.^.Parser.o.node\
+       @.^.Parser.o.myreadline\
+       @.^.Parser.o.metagrammar\
+       @.^.Parser.o.listnode\
+       @.^.Parser.o.intrcheck\
+       @.^.Parser.o.grammar1\
+       @.^.Parser.o.grammar\
+       @.^.Parser.o.firstsets\
+       @.^.Parser.o.bitset\
        @.^.Parser.o.acceler
 
 SUPPORT_FILES = @.^.!Boot @.^.!Run @.^.!Sprites @.^.!Sprites22 @.^.AddToPath
@@ -196,7 +188,8 @@ all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
 
 
 #########################################################################
-# Support files
+# RISC OS support files
+#
 @.^.!Boot: support.!Boot
        copy support.!Boot @.^.!Boot ~C~VF
        settype @.^.!Boot feb
@@ -297,9 +290,6 @@ all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
        $(LINK) -aof -o Modules.o.swilink Modules.o.swimodule $(OSLIB).o.OSLIB
        $(MAKEDLK) -d @.^.Lib.plat-riscos.swi/pyd -s s.linktab -o Modules.o.swilink -e initswi
 
-@.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab
-       $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timemodule -e inittime
-
 @.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
        $(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
 
@@ -322,10 +312,6 @@ all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
        $(MAKEDLK) -d @.^.Lib.xreadlines/pyd -s s.linktab -o @.^.Modules.o.xreadlinesmodule -e initxreadlines
 
 
-##@.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
-##     $(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
-
-
 
 ############################################################################
 # Dynamic Modules with other dependencies
@@ -353,6 +339,11 @@ all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
        $(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule
 
 
+@.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
+       $(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib
+       $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timelink -e inittime
+
+
 @.^.Lib.pyexpat/pyd: @.^.Modules.o.pyexpat s.linktab
        $(LINK) -aof -o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat $(EXPAT).expat_lib
        $(MAKEDLK) -d @.^.Lib.pyexpat/pyd -s s.linktab -o @.^.Modules.o.pyexpatlink -e initpyexpat
@@ -362,35 +353,42 @@ all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
 
 
 ##########################################################################
-
+# dynamic linking symbol table
+#
 o.linktab: s.linktab
        ObjAsm s.linktab o.linktab
 
 s.linktab: $(OBJECTS)
        $(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
 
+##########################################################################
+# special targets
+#
+libclean:
+       create @.^.Lib.dummy/pyc
+       create @.^.Lib.dummy/pyo
+       create @.^.Lib.plat-riscos.dummy/pyc
+       create @.^.Lib.plat-riscos.dummy/pyo
+       create @.^.Lib.test.dummy/pyc
+       create @.^.Lib.test.dummy/pyo
+       wipe @.^.Lib.*/pyc ~C~V
+       wipe @.^.Lib.*/pyo ~C~V
+       wipe @.^.Lib.plat-riscos.*/pyc ~C~V
+       wipe @.^.Lib.plat-riscos.*/pyo ~C~V
+       wipe @.^.Lib.test.*/pyc ~C~V
+       wipe @.^.Lib.test.*/pyo ~C~V
 
-clean:
+clean: libclean
        create @.^.Objects.o.dummy
        create @.^.Parser.o.dummy
        create @.^.Modules.o.dummy
        create o.dummy
        create @.^.Python.o.dummy
-       create @.^.Lib.dummy/pyc
-       create @.^.Lib.dummy/pyo
-       create @.^.Lib.plat-riscos.dummy/pyc
-       create @.^.Lib.plat-riscos.dummy/pyo
-       create @.^.Lib.test.dummy/pyc
        wipe @.^.Modules.o.* ~C ~V
        wipe @.^.Objects.o.* ~C ~V
        wipe @.^.Parser.o.* ~C ~V
        wipe @.^.Python.o.* ~C ~V
        wipe o.* ~C ~V
-       wipe @.^.Lib.*/pyc ~C~V
-       wipe @.^.Lib.*/pyo ~C~V
-       wipe @.^.Lib.plat-riscos.*/pyc ~C~V
-       wipe @.^.Lib.plat-riscos.*/pyo ~C~V
-       wipe @.^.Lib.test.*/pyc ~C~V
 
 rebuild: clean
        create @.^.Lib.dummy/pyd
diff --git a/RISCOS/sleep.c b/RISCOS/sleep.c
new file mode 100644 (file)
index 0000000..0aeba55
--- /dev/null
@@ -0,0 +1,41 @@
+#include "osmodule.h"
+#include <stdio.h>
+#include "kernel.h"
+#include <limits.h>
+#include <errno.h>
+#include "taskwindow.h"
+#include "Python.h"
+
+
+int sleep(double delay)
+{
+       os_t starttime, endtime, time; /* monotonic times (centiseconds) */
+       int *pollword, ret;
+       bool claimed;
+
+        /* calculate end time */
+       starttime = os_read_monotonic_time();
+       if (starttime + 100.0*delay >INT_MAX)
+               endtime = INT_MAX;
+       else
+               endtime = (os_t)(starttime + 100.0*delay);
+
+       /* allocate (in RMA) and set pollword for xupcall_sleep */
+       pollword = osmodule_alloc(4);
+       *pollword = 1;
+
+       time = starttime;
+       ret = 0;
+       while ( time<endtime && time>=starttime ) {
+               xupcall_sleep (pollword, &claimed);
+               if (PyErr_CheckSignals()) {
+                       ret = 1;
+                       break;
+               }
+               time = os_read_monotonic_time();
+       }
+
+       /* deallocate pollword */
+       osmodule_free(pollword);
+       return ret;
+}
diff --git a/RISCOS/support/!Boot b/RISCOS/support/!Boot
new file mode 100644 (file)
index 0000000..668d6b1
--- /dev/null
@@ -0,0 +1,12 @@
+set Python$Dir <Obey$Dir>
+set PythonApp$Path <Obey$Dir>.
+
+IconSprites <Obey$Dir>.!Sprites
+
+<Obey$Dir>.AddToPath Python$Path PythonApp:Lib
+<Obey$Dir>.AddToPath Python$Path PythonApp:Lib.plat-riscos
+<Obey$Dir>.AddToPath Python$Path PythonApp:Lib.site-packages
+set Alias$@RunType_ae5 TaskWindow |"python %%*0|" -name |"Python|" -quit
+| -display
+set File$Type_ae5 Python
+set Alias$Python Run <Python$Dir>.python21 %*0
\ No newline at end of file
diff --git a/RISCOS/support/!Run b/RISCOS/support/!Run
new file mode 100644 (file)
index 0000000..6919579
--- /dev/null
@@ -0,0 +1,2 @@
+<Obey$Dir>.!Boot
+TaskWindow "python" -name "Python" -quit -display
\ No newline at end of file
diff --git a/RISCOS/support/!Sprites b/RISCOS/support/!Sprites
new file mode 100644 (file)
index 0000000..cdf4a65
Binary files /dev/null and b/RISCOS/support/!Sprites differ
diff --git a/RISCOS/support/!Sprites22 b/RISCOS/support/!Sprites22
new file mode 100644 (file)
index 0000000..5ca88f5
Binary files /dev/null and b/RISCOS/support/!Sprites22 differ
diff --git a/RISCOS/support/AddToPath b/RISCOS/support/AddToPath
new file mode 100644 (file)
index 0000000..a16e3ad
Binary files /dev/null and b/RISCOS/support/AddToPath differ