[perl #132228] [SEGV] nqp::push to a typeobject of a class with repr("VMArray")

2017-10-06 Thread via RT
# New Ticket Created by  Zoffix Znet 
# Please include the string:  [perl #132228]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=132228 >


IRC: https://irclog.perlgeek.de/perl6-dev/2017-10-06#i_15265279

10:40   Zoffix  m: use nqp; nqp::push(class :: is repr("VMArray") {}, 42)
10:40   camelia rakudo-moar 96669c: OUTPUT: «(signal SEGV)»
10:40   Zoffix  (no .new)


[perl #131814] quote bug in shell command on windows

2017-10-06 Thread Zoffix Znet via RT
On Fri, 06 Oct 2017 09:49:54 -0700, steve.mynott+bitc...@gmail.com wrote:
> I propose this ticket be closed.

No, there's definitely some bug exists. On 2017.07 Star, I get this (\x[22] is 
the double-quote char):

C:\Users\zoffix>perl6 -e "say qqx/echo \x[22]foo\x[22]/;"
\"foo\"

While the presence of quotes is a thing of Windows's shell, looks like rakudo 
tries to escape the quotes (incorrectly?) and the slashes make it into the 
output


[perl #131814] quote bug in shell command on windows

2017-10-06 Thread Zoffix Znet via RT
On Fri, 06 Oct 2017 09:49:54 -0700, steve.mynott+bitc...@gmail.com wrote:
> I propose this ticket be closed.

No, there's definitely some bug exists. On 2017.07 Star, I get this (\x[22] is 
the double-quote char):

C:\Users\zoffix>perl6 -e "say qqx/echo \x[22]foo\x[22]/;"
\"foo\"

While the presence of quotes is a thing of Windows's shell, looks like rakudo 
tries to escape the quotes (incorrectly?) and the slashes make it into the 
output



[perl #126757] [LTA] error message talks about ~ but there is no ~ in my code (33..126 .pick.chr)

2017-10-06 Thread Sam S. via RT
On Wed, 04 Oct 2017 22:10:22 -0700, alex.jakime...@gmail.com wrote:
> To produce an error message that is more precise we'll need more
> information
> than just a line number, but we don't have that during the run time.

Couldn't the confusing wording be fixed without additional information?

As I understand it, the problem with the current message is that the

in '⏏~' (indicated by ⏏)

part leads people to think it's referring to a position in the source code, 
when it is actually referring to a position in a string. Especially because the 
"in block ... in file ... at line ..." line comes directly after it.



[perl #132232] [UNI] ignorecase returns too many graphemes for expanding foldcase graphemes

2017-10-06 Thread via RT
# New Ticket Created by  Samantha McVey 
# Please include the string:  [perl #132232]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=132232 >


`is '_fi_' ~~ /:i fi /, "fi", "ignorecase with ligature needle matches
only ligature needle";`

Returns: 'fi_' instead of just 'fi'. This is because 'fi' expands to 'f' +
'i' under foldcase.


[perl #131936] [TESTNEEDED] [REGRESSION] [REGEX] Match.made leaks a `NQPMu`

2017-10-06 Thread Sam S. via RT
Test were added by Zoffix a month ago:
https://github.com/perl6/roast/commit/8674f1e8c

Closing.



[perl #132233] [UNI] ignorecase doesn't use foldcase semantics when the haystack is interpolated

2017-10-06 Thread via RT
# New Ticket Created by  Samantha McVey 
# Please include the string:  [perl #132233]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=132233 >


my $fi   = 'fi';
my $fi_d = 'fi';

#?rakudo.moar 2 todo "ignorecase doesn't use foldcase semantics when the
haystack is interpolated"
ok $fi_d ~~ /:i $fi /, "ignorecase with ligature needle in variable
matches";
ok 'fi' ~~ /:i $fi /, "ignorecase with ligature needle in variable matches";

These two fail. See failing tests in S05-modifier/ignorecase.t

Please note, for reasons I am not sure of, sometimes this will work if
you try and do it yourself in the REPL for instance. This needs more
investigating, but today I have not been able to figure out what is
going on. Help wanted.


[perl #126951] [TESTNEEDED] Interpolating a typed hash into an argument list produces wrong keys

2017-10-06 Thread Sam S. via RT
Test added: https://github.com/perl6/roast/commit/8773139c37

Closing.



[perl #131973] [TESTNEEDED] [REGEX] Backtracking modifiers on individual atoms fail to override a regex-global `:ratchet` modifier.

2017-10-06 Thread Sam S. via RT
Tests were added here: https://github.com/perl6/roast/commit/65a762217



[perl #130117] [TESTNEEDED] [REGEX] Sequential alternation `||` does not respect `:ratchet`

2017-10-06 Thread Sam S. via RT
Tests were added here: https://github.com/perl6/roast/commit/65a762217



[perl #130906] [TESTNEEDED] [REGRESSION] Reducing a Seq with `=>` fails with "P6opaque: no such attribute '$!reified' in type List"

2017-10-06 Thread Sam S. via RT
Tests committed: https://github.com/perl6/roast/commit/9ea27ad2e

Closing.



[perl #125500] [SEGV] double free or corruption, invalid pointer

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
I'll close this ticket. I'm failing to reproduce the issue on 2015-ish versions
of rakudo, let alone HEAD. I think the actual problem was resolved and
hopefully there are tests for it, but trying to find what exactly fixed it is a
total waste of time unfortunately. Even with all powers of whateverables this
is not going to happen.

Maybe I can try bisecting it manually, but I know that it will just point to a
random moar/nqp bump and that will be it. We'd much rather spend time on new
SEGV tickets than this one.

On 2017-02-26 20:55:48, alex.jakime...@gmail.com wrote:
> On 2017-02-26 20:16:14, ddgr...@gmail.com wrote:
> > I ran this in a loop both in and outside valgrind for several hours
> > and never got an error of any kind. I haven't attempted to golf or
> > bisect it, but I believe whatever the problem was it's now fixed.
>
>
> That's not surprising given that the problem went away if you did
> *any* kind of
> change to the source code. Now that rakudo changed a lot, surely it
> doesn't
> crash anymore.
>
> Does it mean that the bug was fixed? Nobody knows. But I guess we
> should close
> this anyway.



[perl #125596] [LTA] error message with if; and unless; without conditions

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
Oof. I'm wondering why is it a .sorry and not .panic. Panic will blow up
immediately with a good error message, but I think there's some reason for it
to be a sorry. I can't figure out what it is exactly. Maybe something about
subs called “if”? I tried various ways to trigger it erroneously but couldn't
come up with anything useful.

In any case, you may be wondering why it prints it 4 times. Here are backtraces
of all four sorry-s:

 1
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:terminator:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:terminator)
from :1 (blib/Perl6/Grammar.moarvm:stdstopper)
from src/Perl6/Grammar.nqp:3996 (blib/Perl6/Grammar.moarvm:infixish)
from gen/moar/stage2/NQPHLL.nqp:939
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from :1 (blib/Perl6/Grammar.moarvm:arglist)
from src/Perl6/Grammar.nqp:3478 (blib/Perl6/Grammar.moarvm:args)
from src/Perl6/Grammar.nqp:3425 (blib/Perl6/Grammar.moarvm:term:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:term)
from src/Perl6/Grammar.nqp:3941 (blib/Perl6/Grammar.moarvm:termish)
from gen/moar/stage2/NQPHLL.nqp:875
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1864
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1780
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1813
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1816
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1802
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1511
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1636
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1682
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1617
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)


 2
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:terminator:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:terminator)
from :1 (blib/Perl6/Grammar.moarvm:stdstopper)
from src/Perl6/Grammar.nqp:4042 (blib/Perl6/Grammar.moarvm:postfixish)
from src/Perl6/Grammar.nqp:3955 (blib/Perl6/Grammar.moarvm:termish)
from gen/moar/stage2/NQPHLL.nqp:875
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/

[perl #125596] [LTA] error message with if; and unless; without conditions

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
OK, RT refuses to display it, so let's try again.

Previous message:

Oof. I'm wondering why is it a .sorry and not .panic. Panic will blow up
immediately with a good error message, but I think there's some reason for it
to be a sorry. I can't figure out what it is exactly. Maybe something about
subs called “if”? I tried various ways to trigger it erroneously but couldn't
come up with anything useful.
In any case, you may be wondering why it prints it 4 times. Here are backtraces
of all four sorry-s:



[perl #125596] [LTA] error message with if; and unless; without conditions

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
 3
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:terminator:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:terminator)
from :1 (blib/Perl6/Grammar.moarvm:stdstopper)
from src/Perl6/Grammar.nqp:3996 (blib/Perl6/Grammar.moarvm:infixish)
from gen/moar/stage2/NQPHLL.nqp:939
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1864
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1780
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1813
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1816
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1802
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1511
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1636
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1682
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1617
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)


 4
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:statement_mod_loop:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:statement_mod_loop)
from src/Perl6/Grammar.nqp:1308 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1864
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1780
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1813
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1816
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1802
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1511
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1636
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1682
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1617
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)



[perl #125596] [LTA] error message with if; and unless; without conditions

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
 1
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:terminator:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:terminator)
from :1 (blib/Perl6/Grammar.moarvm:stdstopper)
from src/Perl6/Grammar.nqp:3996 (blib/Perl6/Grammar.moarvm:infixish)
from gen/moar/stage2/NQPHLL.nqp:939
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from :1 (blib/Perl6/Grammar.moarvm:arglist)
from src/Perl6/Grammar.nqp:3478 (blib/Perl6/Grammar.moarvm:args)
from src/Perl6/Grammar.nqp:3425 (blib/Perl6/Grammar.moarvm:term:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:term)
from src/Perl6/Grammar.nqp:3941 (blib/Perl6/Grammar.moarvm:termish)
from gen/moar/stage2/NQPHLL.nqp:875
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1864
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1780
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1813
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1816
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1802
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1511
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1636
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1682
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1617
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)
from :1 (/home/alex/git/rakudo/perl6.moarvm:)

 2
debug
at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw)
from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic)
from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok)
from :1 (blib/Perl6/Grammar.moarvm:terminator:sym)
from gen/moar/stage2/QRegex.nqp:1721
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from :1 (blib/Perl6/Grammar.moarvm:terminator)
from :1 (blib/Perl6/Grammar.moarvm:stdstopper)
from src/Perl6/Grammar.nqp:4042 (blib/Perl6/Grammar.moarvm:postfixish)
from src/Perl6/Grammar.nqp:3955 (blib/Perl6/Grammar.moarvm:termish)
from gen/moar/stage2/NQPHLL.nqp:875
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1105
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330
(/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1864
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1780
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1813
(/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nq

[perl #127279] [BUG] Infinite loop with |"a".."z"

2017-10-06 Thread Brian S. Julin via RT
On Fri, 15 Jan 2016 10:24:16 -0800, c...@zoffix.com wrote:
> The slip (|) before a range has higher precedence and it interprets
> the starting point of the range as a single-item list. This leads to
> two types of bugs, and both situations should likely be error
> messages:
> 
> 1) Infinite loop when range contains letters, as the range starts from
> 1 and tries to reach the second letter by increasing a number:
> 
>  m: .say for |"g".."z";
>  rakudo-moar 3259ba:
> OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
> 
> 2) Incorrect range is produced when numbers are used for the range.
> It'll always start at 1 and proceed until the end number:
>  m: .say for |10..20
>  rakudo-moar 3259ba:
> OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤»
>  m: .say for |10..5
>  rakudo-moar 3259ba: OUTPUT«1␤2␤3␤4␤5␤»
> 
> Relevant IRC conversation: http://irclog.perlgeek.de/perl6/2016-01-
> 15#i_11894289

I submitted:

https://github.com/rakudo/rakudo/pull/1182

...which warns on these:

$ perl6 -e 'say |4..5'
Potential difficulties:
To apply a Slip flattener to a range, parenthesize the whole range.
(Or parenthesize the whole endpoint expression, if you meant that.)
at -e:1
--> say ⏏|4..5
1..5
$ perl6 -e 'say ~4..5'
Potential difficulties:
To stringify a range, parenthesize the whole range.
(Or parenthesize the whole endpoint expression, if you meant that.)
at -e:1
--> say ⏏~4..5
"4"..5
$ perl6 -e 'say |4 R.. 5'
Potential difficulties:
To apply a Slip flattener to a range, parenthesize the whole range.
(Or parenthesize the whole endpoint expression, if you meant that.)
at -e:1
--> say ⏏|4 R.. 5
5..1
$ perl6 -e 'say ~4 R.. 5'
Potential difficulties:
To stringify a range, parenthesize the whole range.
(Or parenthesize the whole endpoint expression, if you meant that.)
at -e:1
--> say ⏏~4 R.. 5
5..4

(don't know why that last one "works", but still worth warning.)

It also handles all the ^..^ variants.



[perl #125641] [LTA] error messages when right bracket is missing: $<> , <>, () and so on

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
See this pull request: https://github.com/rakudo/rakudo/pull/1183

Unfortunately not all of the things are covered. For example:

perl6 -e 'my $x = q:to/foo/;
blah
'
===SORRY!=== Error while compiling -e
Ending delimiter foo not found
at -e:3
--> ⏏
expecting any of:
whitespace

Then there's also:
*
https://github.com/rakudo/rakudo/blob/f62ae60c48d1372df18b49aca44e10af44ead2d6/src/Perl6
/Grammar.nqp#L3741
*
https://github.com/rakudo/rakudo/blob/f62ae60c48d1372df18b49aca44e10af44ead2d6/src/Perl6/Grammar.nqp#L3780-L3792
*
https://github.com/rakudo/rakudo/blob/f62ae60c48d1372df18b49aca44e10af44ead2d6/src/Perl6/Grammar.nqp#L3820-L3826

And maybe other things too. For example, nqp itself prints a similar error
message and does not mention the starter. I don't know if any user will ever
see the error message from NQP though.

So there's a lot to be done to resolve this ticket fully…

Oh, also! I did not remove “expecting any of:” part. This has to be done also.

On 2015-07-18 12:38:41, alex.jakime...@gmail.com wrote:
> Similar issue: https://rt.perl.org/Public/Bug/Display.html?id=125247
> (unclosed multiline comments). This time it is about other unclosed things.
>
> Code:
> say $ # some code here
>
> Error:
> Unable to parse quote-words subscript; couldn't find right angle quote
> at ./test.pl:25
> --> ⏏
> expecting any of:
> argument list
> term
>
> Similar problem with:
> say  say < say (word;
> say [word;
> ... more?
>
> 1) "expecting any of" section does not help that much. There is no need to
> add terms or argument lists to the end of your file to fix the problem, the
> only thing that is actually expected is a closing bracket.
> 2) The end of file does not count as a helpful line number, especially if
> the file is long. It would be great to have the same "(corresponding < was
> at line 1)"-like message as with multiline comments



[perl #125247] [LTA] Error message for unclosed multiline comments points to last line of the file

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
FWIW for those wondering how exactly it was resolved, here's the commit:
https://github.com/rakudo/rakudo/commit/382c78a97ae6132d0054e0112cf19ceb2d50fef6

On 2016-12-10 10:10:48, c...@zoffix.com wrote:
> Tests now exist:
>
https://github.com/perl6/roast/commit/da6fde44ab97cdcbb50bf181528f55671914612c



[perl #131814] quote bug in shell command on windows

2017-10-06 Thread steve mynott via RT
There does seem to be a quoting bug in Windows shell but none of the above 
examples show it.

See #132183: Insufficient debug messages from zef/perl6.bat when package build 
fails

I propose this ticket be closed.



[perl #131814] quote bug in shell command on windows

2017-10-06 Thread steve mynott via RT
I don't think this is a bug in the shell command on windows since cmd.exe 
behaves differently to Bourne type shells.

UNIX
$ echo "foo"
foo

Windows
C:\Windows\system32>echo "foo"
"foo"



[perl #125674] [LTA] error message prints wrong eject position (if True if { };)

2017-10-06 Thread Aleks-Daniel Jakimenko-Aleksejev via RT
This one is a bit harder than it seems.

So here is what throws:
https://github.com/rakudo/rakudo/blob/f62ae60c48d1372df18b49aca44e10af44ead2d6/src/Perl6/Grammar.nqp#L315

However, the cursor has wrong position for some reason. Looking at the lines
above, it may seem that doing this:

self.'!cursor_pos'($pos);

should fix the problem… but it doesn't! $pos variable is set correctly, but
!cursor_pos does absolutely nothing. In fact, you can try setting it to 0 or
any other value, no effect whatsoever.

This suggests that the use of !cursor_pos in the same method does not work too.
What is the right way to set the cursor?

And why does the cursor even have the incorrect value there?

As a bonus, this line seems to be unreachable:
self.missing("block (taken by some undeclared routine?)");

I tried various things but nothing can trigger it. I found (via google) some
code snippets that used to result in this error message, but nowadays it simply
says “Missing block”. I bisected that change to
https://github.com/rakudo/rakudo/commit/8a70c921e98ed260d3198d81b81b0960c8daa83b


On 2015-07-24 05:13:59, alex.jakime...@gmail.com wrote:
> Code:
> if True if { };
>
> ===SORRY!=== Error while compiling ./test.pl
> Missing block
> at ./test.pl:3
> --> if True if ⏏{ };
>
> Clearly the block is there. It seems like it expects a block before the
> second "if", but the cursor is placed incorrectly. STD gets it right:
>
> 15:03:25 std: if True if { };
> 15:03:26 std 28329a7: OUTPUT«===SORRY!===␤Missing block at
> /tmp/XbS0PJUJZo line 1:␤--> if True ⏏if { };␤Parse
> failed␤FAILED 00:00 135m␤»
>
> Similar problem with "unless", "while" and maybe some others.
>
> Tiny IRC discussion: http://irclog.perlgeek.de/perl6/2015-07-24#i_10947603