diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py index aa2f8086115..7212622445b 100644 --- a/Mac/Tools/IDE/PyEdit.py +++ b/Mac/Tools/IDE/PyEdit.py @@ -454,6 +454,16 @@ def domenu_save_as_applet(self, *args): code = compile(pytext, filename, "exec") except (SyntaxError, EOFError): raise buildtools.BuildError, "Syntax error in script %s" % `filename` + + import tempfile + tmpdir = tempfile.mkdtemp() + + if filename[-3:] != ".py": + filename = filename + ".py" + filename = os.path.join(tmpdir, os.path.split(filename)[1]) + fp = open(filename, "w") + fp.write(pytext) + fp.close() # Try removing the output file try: @@ -461,7 +471,7 @@ def domenu_save_as_applet(self, *args): except os.error: pass template = buildtools.findtemplate() - buildtools.process_common(template, None, code, rsrcname, destname, 0, 1) + buildtools.process(template, filename, destname, rsrcname=rsrcname, progress=None) def domenu_gotoline(self, *args): self.linefield.selectall()