> On 17 Dec 2015, at 17:31, Zefram <zef...@fysh.org> wrote: > > Elizabeth Mattijsen via RT wrote: >> In any case, Str.perl cannot be used, because it puts double quotes >> around it. Which would be a set of double quotes too many. > > I think you've misunderstood somewhere. The code that I proposed does > not have a multiple-quotation bug, but what you've committed *does*, > for the CWD part. (I'm not sure what part of my suggestion you think > gets this wrong. None of it introduces any delimiters itself.) > > For the main path attribute, calling .perl on the Str gets you one layer > of quotation, which is exactly what you need. For CWD, calling .perl on > the Pair object (as in my code) would again get you the needed single > layer of quotation. What you've committed does ":CWD<{$!CWD.perl}>", > which totals two layers of quotation. It gets one layer of quotation > from .perl (on the Str value), and then surrounds that in a second > layer of quotation consisting of the literal angle brackets. You could > correct your code by changing the angle brackets to parens, following > the arrangement you used for the SPEC part, ":SPEC({$!SPEC.perl})”.
Indeed, it was a thinko, fixed in 12ba3410a13663b801c0 > You got quoting right once already (Str.perl). Stop trying to do the > same job again! Don’t think so: if you interpolate a Str into a “”, then it calls the .Str method on it, *not* the .perl method. So the path part of the .perl is not .perlified just yet. Looking into that now. Liz