When I try to run IDLE in Py30b3 I get a traceback, then the main window
appears with an error message box and an OK button; once I click OK,
IDLE goes away.
$ ~/opt/python30b3/bin/idle
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/mark/opt/python30b3/lib/python3.0/idlelib/run.py", line
76, in main
sockthread.set_daemon(True)
AttributeError: 'Thread' object has no attribute 'set_daemon'
It looks like there's been some mixup with threading... in an earlier
beta there was setDaemon(), then it became set_daemon(), and now it is
back to setDaemon() again. And unfortunately, the obvious fix (change
the name to setDaemon()), although it gets past this problem, just leads
to another:
$ ~/opt/python30b3/bin/idle # using setDaemon
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/mark/opt/python30b3/lib/python3.0/idlelib/run.py", line
76, in main
sockthread.setDaemon(True)
File "/home/mark/opt/python30b3/lib/python3.0/threading.py", line 674,
in setDaemon
"Thread.daemon property", DeprecationWarning)
File "/home/mark/opt/python30b3/lib/python3.0/warnings.py", line 18,
in showwarning
file.write(formatwarning(message, category, filename, lineno, line))
TypeError: idle_formatwarning_subproc() takes exactly 4 positional
arguments (5 given)
I did run make test and got 300 tests OK with 22 skipped all expected on
linux2.

This should be changed in 2.6 as well (from sockthread.setDaemon(True) to
sockthread.daemon = True).
By the way, I notice that there are also used of setDaemon, isDaemon,
getName and setName in Lib/multiprocessing/dummy/__init__.py; these
should probably also be replaced.