[PD] packing anything in .33 can be dangerous

Miller Puckette mpuckett at man104-1.ucsd.edu
Thu Jun 21 07:40:52 CEST 2001


No, I'm getting doged eround by W2K...  I'l try to get the "pack"
fix out tomorrow...

cheers
Miller

On Wed, Jun 20, 2001 at 11:52:24AM -0700, Miller Puckette wrote:
> Oops.. It looks like I'd better patch this one up... I'll try to turn it
> around tonight...  
> 
> cheers
> Miller
> 
> On Wed, Jun 20, 2001 at 11:27:21AM +0200, Krzysztof Czaja wrote:
> > 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



More information about the Pd-list mailing list