# New Ticket Created by  Zefram 
# Please include the string:  [perl #126950]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=126950 >


IO::Path.perl produces output of the general form
$a.IO(:SPEC($b),:CWD($c)), but it turns out that this expression doesn't
actually replicate the SPEC and CWD attributes:

> "foo".IO(:SPEC(IO::Spec::Unix), :CWD("/bar")).perl
q|foo|.IO(:SPEC(IO::Spec::Unix),:CWD</home/zefram/usr/rakudo/rakudo>)
> "foo".IO(:SPEC(IO::Spec::Win32), :CWD("C:\\bar")).perl
q|foo|.IO(:SPEC(IO::Spec::Unix),:CWD</home/zefram/usr/rakudo/rakudo>)

Empirically, it would work to instead generate a IO::Path.new expression:

> IO::Path.new("foo", :CWD("/bar")).perl
q|foo|.IO(:SPEC(IO::Spec::Unix),:CWD</bar>)
> IO::Path.new("foo", :SPEC(IO::Spec::Win32), :CWD("C:\\bar")).perl
q|foo|.IO(:SPEC(IO::Spec::Win32),:CWD<C:\\bar>)

This is distinct from the string quoting issues that arise in the same
code and are being addressed in [perl #126935].

-zefram

Reply via email to