On Mon, Mar 10, 2008 at 3:52 PM, chromatic <[EMAIL PROTECTED]> wrote: > On Monday 10 March 2008 12:37:50 Will Coleda wrote: > > > The conversion of tcllist.pmc to PDD17 isn't complete: there are > > currently several invocations of String's replace method which in > > trunk is the old C-style METHOD but in branch, is the new PDD17 style > > METHOD. I tried to replace these, for example: > > > > - Parrot_String_nci_replace(INTERP, P0, > > - string_from_literal(INTERP, "\\"), > > string_from_literal(INTERP, "\\\\")); > > > > + STRING* orig,repl; > > + orig = string_from_literal(INTERP, "\t"); > > + repl = string_from_literal(INTERP, "\\t"); > > + PCCINVOKE(INTERP, P0, "replace", STRING *orig, STRING *repl) > > Try Parrot_PCCINVOKE instead of PCCINVOKE. The latter is a stupid macro that > doesn't work very well. > > -- c > >
Ok, that worked, thanks. Note that: > > + STRING* orig,repl; doesn't DWIM. Also, if you're not careful, pmc2c.pl tries to rewrite Parrot_PCCINVOKE too, not just PCCINVOKE. (I used a more verbose style than I would have otherwise to avoid this.) "make test" in tcl is now passing failing only tests that already failed in trunk (and fewer of them!) -- Will "Coke" Coleda