Skip to content

BBC 5.37.x breaks B::Hooks::Parser #21162

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

Closed
leonerd opened this issue Jun 21, 2023 · 2 comments · Fixed by #21165
Closed

BBC 5.37.x breaks B::Hooks::Parser #21162

leonerd opened this issue Jun 21, 2023 · 2 comments · Fixed by #21165
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s)

Comments

@leonerd
Copy link
Contributor

leonerd commented Jun 21, 2023

E.g.

Parser.xs:175:73: error: macro "scan_word" requires 6 arguments, but only 5 given
  175 |         return scan_word (base_s, dest, destlen, handle_package, res_len);
      |                                                                         ^

(from http://www.cpantesters.org/cpan/report/62c5a506-04c9-11ee-8cc4-947bc154cd3f)

Seems like it is using an internal API function, whose signature was changed recently.

@jkeenan
Copy link
Contributor

jkeenan commented Jun 21, 2023

E.g.

Parser.xs:175:73: error: macro "scan_word" requires 6 arguments, but only 5 given
  175 |         return scan_word (base_s, dest, destlen, handle_package, res_len);
      |                                                                         ^

(from http://www.cpantesters.org/cpan/report/62c5a506-04c9-11ee-8cc4-947bc154cd3f)

Seems like it is using an internal API function, whose signature was changed recently.

This breakage was reported upstream three weeks ago at RT 148418.

The code in this module is apparently very sensitive to changes in the core distribution. Previous breakage in B::Hooks::Parser was reported (and resolved) in #16603 (2019), #15440 (2016), #12364 (2012).

Am currently bisecting to try to identify the breaking commit.

@karenetheridge @zefram

@jkeenan jkeenan added the BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) label Jun 21, 2023
@jkeenan
Copy link
Contributor

jkeenan commented Jun 21, 2023

E.g.

Parser.xs:175:73: error: macro "scan_word" requires 6 arguments, but only 5 given
  175 |         return scan_word (base_s, dest, destlen, handle_package, res_len);
      |                                                                         ^

(from http://www.cpantesters.org/cpan/report/62c5a506-04c9-11ee-8cc4-947bc154cd3f)

Seems like it is using an internal API function, whose signature was changed recently.

Bisection points to 7e2d91e.

commit 7e2d91e6d3a09e2ebb61242bb18ff95d30d9560d (HEAD, refs/bisect/bad)
Author:     Tony Cook <[email protected]>
AuthorDate: Wed Dec 7 16:17:45 2022 +1100
Commit:     Tony Cook <[email protected]>
CommitDate: Tue Feb 7 10:37:30 2023 +1100

    toke.c: deprecation warning for ' as a package separator
    
    First stage of RFC 0015.
    
    This also changes the warning for ' as package separator in
    quoted strings to also be a deprecation warning.

@tonycoz, can you take a look?

tonycoz added a commit to tonycoz/perl5 that referenced this issue Jun 22, 2023
The change in prototype of the non-API scan_word() function caused
B::Hooks::Parser to fail to build.

Instead, rename scan_word() with the new prototype to scan_word2() and
provide a scan_word() with the old signature.

The scan_word2() entry may be removed once tick in symbol becomes an
error.

Fixes Perl#21162
tonycoz added a commit to tonycoz/perl5 that referenced this issue Jun 23, 2023
The change in prototype of the non-API scan_word() function caused
B::Hooks::Parser to fail to build.

Instead, rename scan_word() with the new prototype to scan_word6() and
provide a scan_word() with the old signature that forwards calls to the
new function.

scan_word6() may be removed once tick in symbol becomes an error

Fixes Perl#21162
rjbs pushed a commit that referenced this issue Jun 23, 2023
The change in prototype of the non-API scan_word() function caused
B::Hooks::Parser to fail to build.

Instead, rename scan_word() with the new prototype to scan_word6() and
provide a scan_word() with the old signature that forwards calls to the
new function.

scan_word6() may be removed once tick in symbol becomes an error

Fixes #21162
khwilliamson pushed a commit to khwilliamson/perl5 that referenced this issue Jul 10, 2023
The change in prototype of the non-API scan_word() function caused
B::Hooks::Parser to fail to build.

Instead, rename scan_word() with the new prototype to scan_word6() and
provide a scan_word() with the old signature that forwards calls to the
new function.

scan_word6() may be removed once tick in symbol becomes an error

Fixes Perl#21162
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants