Hallo, Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote:
On Wed, 19 Apr 2006, Sciss wrote:
pack accepts a "metasymbol" as first inlet (so i *can* omit the selector here), but only a "symbol" as second inlet.
Note that even with that, [pack]'s output will be a proper list-message, which you can check with:
[a( [symbol b( [symbol c( | | | [pack s s s ] | [print]
will print "list a b c".
I believe that this is a serious misfeature of Pd: interpreting a lone selector as a symbol introduces exceptions because some selectors already mean something else. "set" isn't like "symbol set", "bang" isn't like "symbol bang", "symbol" isn't like "symbol symbol", "float" isn't like "symbol float" (and then some more, depending on which object you send to). Also, if lone selector messages weren't accepted as if they were symbol messages, there would be less confusion between those two things.
Yes, I agree, lets file a bug report against [pack] ... oh, but what about backwards compatibility. :(
I guess, the misleading behaviour comes from the fact, that the first inlet often is an "anything" inlet, which accepts anything: meta-messages, symbols, floats, lists, that sometimes are distributed over other inlets etc.
I'd say, that one should take great care not to rely lone selectors, being converted to symbols because often they aren't, for example not with the Ctrl-4 symbol-atom.
[list] in pd-0.39 works great for adding proper selectors, btw. because by design it adds a list-selector and the message will be auto-converted by Pd to a proper symbol-message later, if the incoming message just contained one non-float element.
Frank Barknecht _ ______footils.org_ __goto10.org__