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


Can I say again that I think it's cheating that python has tests directly in 
t/ , so leo notices breakage there sooner? =-) 

Attached is a patch that allows "(cd languages/tcl && make test)" to work 
again. Looks like an unguarded access in MRO. Didn't self apply so Leo could 
poke at it, in case the tcl pmcs are exploiting a hole in pmc2c2.pl. 

Index: src/pmc.c
===================================================================
RCS file: /cvs/public/parrot/src/pmc.c,v
retrieving revision 1.97
diff -b -u -r1.97 pmc.c
--- src/pmc.c   10 Mar 2005 16:41:28 -0000      1.97
+++ src/pmc.c   14 Mar 2005 17:24:42 -0000
@@ -470,10 +470,11 @@
         parent_type = pmc_type(interpreter, class_name);
         if (!parent_type)   /* abstract classes don't have a vtable */
             break;
+        if (!Parrot_base_vtables[parent_type])   /* Makes Tcl Work Again */
+            break;
         class = Parrot_base_vtables[parent_type]->class;
-        if (!class) {
+        if (!class)
             class = create_class_pmc(interpreter, parent_type);
-        }
         VTABLE_push_pmc(interpreter, mro, class);
         if (pos >= total)
             break;

Reply via email to