Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#507 empty lists to [pack] should trigger object

bugfix
open
puredata (375)
5
2013-08-20
2013-02-28
No

"[list 1 2 3( -> [pack 10 20 30 40]" will overwrite the first 3 elements ot [pack] and then trigger the output of the packed list.

but sending an empty list, e.g. "[list( -> [pack 10 20 30 49]", will be silently ignored.
the expected bahaviour is that no elements of [pack] are replaced and that the packed list is sent to the outlet.

the attached patch fixes this, by only calling obj_list() is the list is non-empty (obj_list() will immediately return if it gets an empty list) and instead call pack_bang() in this case.

Discussion

  • the underlying bug becomes obvious when using [trigger anything] to forward a [bang(: [t a] will silently convert a "bang" into an empty list, so the following patch doesn't do anything:

    [bang(
    |
    [t a]

    |
    [pack 0 50]
    |
    [print]

     
  • I think this is a problem with obj_list but I'm afraid to mess with that
    qo close to a release - so I think the best thing to do is to fork 0.45 off,
    apply this patch to 0.45 and fix obj_list for 0.46 and on.

     


Anonymous


Cancel   Add attachments