Bugs item #1415589, was opened at 2006-01-26 19:49 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1415589...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: puredata Group: None Status: Open Resolution: None Priority: 5 Submitted By: Frank Barknecht (fbar) Assigned to: Miller Puckette (millerpuckette) Summary: Sending a list to [select] can leave it in an unusable state
Initial Comment: A [select] object primed with a symbol argument will reset itself into an unusable state by sending it a list with at least two elements.
Attached patch illustrates this behaviour using a [select x]-object. Sending a message [symbol x( will normally make the left outlet generate a bang. However sending a message [list x y( will disturb the [select x] object, so that it will not correctly react to a second [symbol x( message, until reset by a [symbol x( message to its rigth inlet.
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1415589...
SourceForge.net wrote:
Summary: Sending a list to [select] can leave it in an unusable state
Initial Comment: A [select] object primed with a symbol argument will reset itself into an unusable state by sending it a list with at least two elements.
Attached patch illustrates this behaviour using a [select x]-object. Sending a message [symbol x( will normally make the left outlet generate a bang. However sending a message [list x y( will disturb the [select x] object, so that it will not correctly react to a second [symbol x( message, until reset by a [symbol x( message to its rigth inlet.
well, actually it behaves like a lot of (native!) objects with a cold inlet. when sending a [list x y( to [select x] you will re-set the selector to "y"; it is the same as sending a "y" to the right inlet and then an x to the left inlet. the same functionality can be found in [pack] and [line]. (in theory even [f] behaves like that...)
however, i agree that this should be documented somewhere or turned off. (i tend towards the latter as it makes symbol comparision more inline with [==])
mfg.adr IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
well, actually it behaves like a lot of (native!) objects with a cold inlet. when sending a [list x y( to [select x] you will re-set the selector to "y"; it is the same as sending a "y" to the right inlet and then an x to the left inlet.
Ah, I should have tested to send a "symbol y" afterwards, which works as expected - or rather, as I didn't expect. ;)
however, i agree that this should be documented somewhere or turned off. (i tend towards the latter as it makes symbol comparision more inline with [==])
Actually I now think, it should stay as it is, however this case should be added to the documentation. It can be a helpful shortcut when patching.
Ciao