Hi all,
after bugfixing of pd_defaultlist() in Pd.33 this little snippet:
#X msg 100 50 foo bar; #X obj 100 100 pack s; #X obj 100 150 print; #X connect 0 0 1 0; #X connect 1 0 2 0;
loops forever (or rather, until it eats up all the memory...) due to the cycling defaultlist/anymethod invocations. In Pd.32 this resulted in "symbol foo" printout.
Indeed, such a pack usage is strange (it is probably meant to be unpack really) but is it illegal? Max pack allows this. The Max printout gives simply "foo".
Perhaps the pack class should have a listmethod? Or pack_anything() should check if (x->x_n > 1)? Or single argument packs should be banned altogether?
Btw. the behaviour of abs, sin and other unary operators is also affected, but without such a deadly consequences. These objects now simply refuse to operate on lists, while their previous behaviour (compatible with Max) was to take the first list element, as if preceded in a patch with an implicit $1 message.
Krzysztof