[PD-dev] gem vs. mrpeach strings?

Martin Peach martin.peach at sympatico.ca
Fri Nov 9 15:27:57 CET 2007


IOhannes m zmoelnig wrote:
>
> i think the problem is, that your patch introduces "reserved" symbols in 
> the first place.
> personally i would remove the entire [string <...>( message and replace 
> it by a [list <...>( (don't use a special selector)
>
>   
>> I would like to know if the problems go away with that. (What's a 
>> consistency check? It's c++, right?)
>>     
>
> no, it's a pd thing. you also get this when you use weird (that is: non 
> pd-ish, user-defined) atoms and pd doesn't know how to handle them.
>   
The particular error "consistency check failed: class_addmethod: 
text2d_string: bad argument types"
is generated in class_addmethod in m_class.c whenever the arguments 
don't match the type.

For example adding a list method but not giving A_GIMME as the expected 
type:
   else if (sel == &s_list)
    {
        if (argtype != A_GIMME) goto phooey;
        class_addlist(c, fn);
    }

phooey prints the consistency check error:

phooey:
    bug("class_addmethod: %s_%s: bad argument types\n",
        c->c_name->s_name, sel->s_name);

So an error like

consistency check failed: class_addmethod: text2d_string: bad argument types

is caused when the expected arguments to text2d_String don't match the type.
It has absolutely nothing to do with the existence of a string/blob type unless text2dstring wants string/blob arguments.
Maybe the patch is not being applied properly?
Why does this happen only with gem when the patch has been applied for the last 6 months and nothing else has broken?

Martin






More information about the Pd-dev mailing list