Reini Urban wrote:

You want one patch only against HEAD? That's easy.
But I dislike the idea, as it violates the usage of single tickets.

This is different than the usual case as it's a collection of dependent patches that can't be evaluated independently. Splitting them out is actually more work for the reviewer/tester.

I've created a branch cygwin070patches for testing this collection. To do platform or language testing, please check out that branch. Reini, please submit further changes as diffs against that branch instead of updates to your previous patch files.

Overall the work is sane. It'll need a few changes before merging in:

In runtime/parrot/library/config.pir you add commented-out code, and a mention that certain logic has to be reversed "when installed versions should run faster than source builds". Those sorts of configuration changes should never involve commenting out and uncommenting bits of configuration files. Make it a compile-time or run-time configuration flag instead.

In lib/Parrot/Configure/Data.pm, you changed some double C<<>> Pod tags to single C<> Pod tags. But, those code items contain "=>" separating the key/value arguments, and the '>' in the arrow will terminate the code tag. The double C<<>> tags avoid terminating on single '>' (which is why they were double C<<>> tags in the first place). So, I reverted that file before committing. (See the output from 'perldoc' or any Pod parser on your modified file.)

In lib/Parrot/Configure/Compiler.pm, I agree that 'CONDITIONED_LINE' and 'INVERSE_CONDITIONED_LINE' aren't the clearest names, but '+' and '-' are far less clear. Change them to something meaningful like 'SHOW_LINE_IF' and 'HIDE_LINE_IF'. We can note the change in DEPRECATED.pod now, and remove 'CONDITIONED_LINE' and 'INVERSE_CONDITIONED_LINE' after a standard deprecation cycle (one release).

Also in lib/Parrot/Configure/Compiler.pm, change the Polish notation of "(and a b (not c d))" to a saner "(a and b not (c and d))". Though really, since you're not implementing the advanced conditions, delete the comment defining the interface and the TODO comments about implementing it, just add a TODO RT ticket or keep it on your private TODO list.

In config/gen/makefiles/pge.in, config/gen/makefiles/tge.in, and config/gen/makefiles/root.in, pick a more meaningful variable name than 'SHRPENV' and a more meaningful condition name than 'cygchkdll'.

Also in config/gen/makefiles/root.in we don't need a makefile target for regenerating the makefile. Delete it. And you added a chunk of commented out code again. Delete it.

Since you've touched the config file and core PIR file for every language, this branch will need extensive platform and language testing before it can be merged in.

The branch is failing one test that passes in trunk, should be a quick fix:

t/codingstd/cuddled_else.t

Thanks!
Allison

Reply via email to