Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chars that look different in .fc break :i regex matches #6132

Closed
p6rt opened this issue Mar 8, 2017 · 7 comments
Closed

chars that look different in .fc break :i regex matches #6132

p6rt opened this issue Mar 8, 2017 · 7 comments
Labels
regex Regular expressions, pattern matching, user-defined grammars, tokens and rules regression Issue did not exist previously testcommitted

Comments

@p6rt
Copy link

p6rt commented Mar 8, 2017

Migrated from rt.perl.org#130953 (status was 'resolved')

Searchable as RT130953$

@p6rt
Copy link
Author

p6rt commented Mar 8, 2017

From @zoffixznet

The mere presence of this ligature, breaks the :i regex match for 'T'​:

  IOninja m​: say "st T" ~~ m​:i/T/
  camelia rakudo-moar 44b60a​: OUTPUT​: «False␤»

Note that the issue goes away without `​:i` or if the space is removed.

Bisectable points to a version bump that brought this commit​: MoarVM/MoarVM@ab426c1

@p6rt
Copy link
Author

p6rt commented Mar 8, 2017

From @zoffixznet

Looks like might be related to char count​: https://irclog.perlgeek.de/perl6-dev/2017-03-08#i_14225428

10​:54 jnthn m​: say "st".fc.chars
10​:54 camelia rakudo-moar 44b60a​: OUTPUT​: «2␤»
10​:54 jnthn m​: say "st".lc.chars
10​:54 camelia rakudo-moar 44b60a​: OUTPUT​: «1␤»
10​:55 jnthn It's probably something to do with the foldcase of it expanding the char count
10​:55 Exactly how, I'm not sure

10​:59 m​: say "ststT" ~~ m​:i/T/
10​:59 camelia rakudo-moar 44b60a​: OUTPUT​: «False␤»
10​:59 IOninja m​: say "stststT" ~~ m​:i/T/
10​:59 camelia rakudo-moar 44b60a​: OUTPUT​: «「T」␤»
10​:59 IOninja m​: say "ststststT" ~~ m​:i/T/
10​:59 camelia rakudo-moar 44b60a​: OUTPUT​: «False␤»
10​:59 IOninja m​: say "stststststT" ~~ m​:i/T/
10​:59 camelia rakudo-moar 44b60a​: OUTPUT​: «「T」␤»

@p6rt
Copy link
Author

p6rt commented Mar 8, 2017

From @zoffixznet

Another datapoint. Use .match method with such a regex hangs​:

13​:14 m​: "ststT".match(m​:i/T/)
13​:14 (hangs)
13​:14 camelia rakudo-moar fc8608​: OUTPUT​: «(timeout)Use of uninitialized value of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block <unit> at <tmp> line 1␤»

@p6rt
Copy link
Author

p6rt commented Mar 8, 2017

From @zoffixznet

Ooops. Never mind. That hang is due to RT#​130940

As for this ticket, I've added fudged tests to cover it now​: Raku/roast@2fa32e11eb

Please note, this ticket is now marked as a release blocker, with the release scheduled to occur on March 18, 2017.

@p6rt
Copy link
Author

p6rt commented Mar 10, 2017

From @samcv

On Wed, 08 Mar 2017 05​:36​:41 -0800, cpan@​zoffix.com wrote​:

Ooops. Never mind. That hang is due to RT#​130940

As for this ticket, I've added fudged tests to cover it now​:
Raku/roast@2fa32e11eb

Please note, this ticket is now marked as a release blocker, with the
release scheduled to occur on March 18, 2017.

I have fixed this as of this commit MoarVM/MoarVM@5845784

There is now a nqp op that used to not be callable as nqp​::eqatic, even though it was called another way during the regex. There are now some tests in the nqp repo that test this case insensitive op which is the one that was breaking the regex.

@p6rt
Copy link
Author

p6rt commented Mar 10, 2017

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Mar 10, 2017

@samcv - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Mar 10, 2017
@p6rt p6rt added regex Regular expressions, pattern matching, user-defined grammars, tokens and rules regression Issue did not exist previously testcommitted labels Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
regex Regular expressions, pattern matching, user-defined grammars, tokens and rules regression Issue did not exist previously testcommitted
Projects
None yet
Development

No branches or pull requests

1 participant