Current parrot(in fact, lexical analyzer of PIR) don't play well
with CRLE in Here Docs on Unix-like box such as Linux, you will
get syntax error when feed parrot DOS fileformat(i.e. use CRLF line
terminators) source(include Here Docs, of course) on Linux. And
this is the *real* reason of bug [perl #41158] Here Docs in test
C<cmp> cause t/op/cmp-nonbranch.t abnormal exit.
These attached patches fix this, and I think it's a better fix
for [perl #41158].
I have test it on Linux, it just works fine. Can someone test it
on Windows? Thanks
If you want to test this patch, you need to apply imcc_l.patch first,
and then apply root_in.patch (this will refresh compilers/imcc/imclexer.c
for you, current config/gen/makefiles/root.in will not do that). Then
reconfigure your parrot use option --maintainer (you need working lex,
at least), and make.
BTW, If you use bison and have "uninitialized value" warning when you
reconfigure parrot, you can apply patch in [perl #41163], this fix it.
Lee