Message12122

Author jeff.allen
Recipients jeff.allen, zyasoft
Date 2018-09-25.07:37:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1537861037.44.0.545547206417.issue2686@psf.upfronthosting.co.za>
In-reply-to
Content
#5 Yes, I have broken Jython on Linux. There's a bug in my handling of -Dkey=value.

This is easily fixed. It doesn't emerge on Windows because the launcher jython.py collects -D and -J-D options and makes them all Java -D definitions. That design also changes the semantics slightly, relative to the shell script, as *Java* -D definitions (supplied by -J-D) become pre-properties in initialisation, while -D definitions given to *Jython* directly become post-properties, so take ultimate precedence in the registry.

However, jython.py appears to have been broken on Linux for some time by the shebang line. (#2707 raised.)

jython.py is also slightly broken on both Linux and Windows in the way it handles -c: it fails always to preserve the option argument (the code) as a single string by quoting. If I work around #2707 and fix the -D bug

For me, in a developer-built Jython, dist/bin/jython means the shell script, but in test_jython_launcher, jython.py is explicitly used. Then you can see the command string, having lost its quotes, is treated as a series of arguments not as a single option to -c. I'd observed some weirdness on Windows, but it varied between posh and cmd, and I put it down to quote-handing in the shell. I may have broken this when refactoring the launcher for unicode.

Grrr. Every time I get close to closing a bug I seem to have to open two more.
History
Date User Action Args
2018-09-25 07:37:17jeff.allensetmessageid: <1537861037.44.0.545547206417.issue2686@psf.upfronthosting.co.za>
2018-09-25 07:37:17jeff.allensetrecipients: + jeff.allen, zyasoft
2018-09-25 07:37:17jeff.allenlinkissue2686 messages
2018-09-25 07:37:16jeff.allencreate