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

New class assigned to $*ARGFILES breaks "IO::CatHandle::Autolines" #3548

Closed
JJ opened this issue Mar 13, 2020 · 3 comments
Closed

New class assigned to $*ARGFILES breaks "IO::CatHandle::Autolines" #3548

JJ opened this issue Mar 13, 2020 · 3 comments
Assignees
Labels
BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously

Comments

@JJ
Copy link
Collaborator

JJ commented Mar 13, 2020

The Problem

IO::CatHandle::Autolines rely on $*ARGFILES being a IO::ArgFiles; it's now become a IO::Handle, at least in the default case.

That causes a number of issues in that module (from 2020.01) as well as derived modules (such as LN, making them fail tests.

Expected Behavior

I guess that was not spec, but there was no warning in the changes either, except for this one:

$*ARGFILES special variable now defaults to $*IN if no arguments [bde1069]

I guess that the problem is that it bounds to $*IN, instead of containing $*IN (but I could be wrong, of course).

The behavior is not a problem per se, but this new behavior should maybe be tested either locally here or in roast, so that we don't break stuff that relies on it later on.

Environment

Tested with 2020.01 and 2020.02

@Altai-man Altai-man added BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously labels Mar 13, 2020
@lizmat
Copy link
Contributor

lizmat commented Mar 13, 2020

Technically, this is not a Rakudo issue. The module uses Rakudo internals information, and that can change without notice. As has happened. This thing is, that change was made to get better performance in the simple case. I don't think it is wise to revert that change, and make every user suffer from performance degradation, just to make this special case work again.

I am now looking at upgrading the module in such a way that it can be used before and after the breaking change in Raku.

@lizmat lizmat self-assigned this Mar 13, 2020
@JJ
Copy link
Collaborator Author

JJ commented Mar 13, 2020 via email

@lizmat
Copy link
Contributor

lizmat commented Mar 15, 2020

The updated versions of IO::CatHandle::AutoLines and LN now work transparently with older as well as newer versions of Rakudo. So I think we can close this ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously
Projects
None yet
Development

No branches or pull requests

3 participants