(Replacement for 1193279 - Firefox Linux seems to have
trouble attaching files.)
Sourceforge seems to have trouble attaching files from
firefox on Linux... I'll try again
I've made the changes to get ABC OKC working on Linux
again. I think it's important to keep it
multi-platform, because it's a very widely used
application and testing multi-platform
makes the code more reliable. The changes are made
against OKC 281 but they should be generic enough.
I've put in the changed files and a context diff that
can be used with the patch program.
When you're running on Linux, you're running from
source, so the code has to be more versitile: it has
to run under wxPython 2.4 and 2.5 and Python 2.3 and
2.4. This tests the code more completely than on just
one pltform and release, and debugging tools are often
better under Linux. But as a consequence, one should
avoid any features specific to a given release of
wxPython or Python, especially as there are some
issues on Linux on wxPython 2.5, and some bugs that
are showing up on all releases.
I'm made the code conditional on wx.VERSION but in the
case of .Bind code, we could just use the 2.4 style
for both 2.4 and 2.5 - I don't see any major advantage
to the .Bind syntax.
Other changes include:
* Ini/Conf files have to work from DOS or Unix, with
files written by either.
* Files to be written should be written in one chunk.
Leaving the file handle open and writing line-by-line
invites corruption.
* I use os.path.isfile to test for duplicate files.
I'm finding that there are threads still left running,
at least in 2.6.9 OKC 270 and 281 - this is not good.
I've added some code to OnExit in abc.py to diagnose
it, but all non-daemon threads MUST have a stop or
cancel method and be sure to shut them down.
If you could merge these in to the code base that
would be great (are you using CVS on sourceforge?).
When you more them in, I'll send a further set of
patches so that ABC can be installed on a multi-user
system (required for a Unix root install or a Windows
multi-user install) and then we'll be able to do a RPM
installation under Linux.
Thanks for this great piece of software!