Wow.
I like this.
.b.
SourceForge.net wrote:
Patches item #1405137, was opened at 2006-01-13 20:33 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1405137...
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: wishlist Status: Open Resolution: None Priority: 5 Submitted By: IOhannes m zmölnig (zmoelnig) Assigned to: Miller Puckette (millerpuckette) Summary: multiple $arg-expansion
Initial Comment: currently $args can only be at the beginning of a A_DOLLARSYM.
this patch allows to have multiple $args within 1 A_DOLLARSYM. e.g. with "foo bar me" the symbol "$1-bla-$3/$2" will expand to "foo-bla-me/bar"
the patch only modifies binbuf_realizedollsym() in m_binbuf.c (and adds another non-exported helper function binbuf_expanddollsym())
the patch is straightforward, but probably i misunderstood the meaning of "tonew" and implemented it in a wrong way (so you should check that)
caveat: the A_DOLLARSYM still has to start with "$[0-9]". this is the way, pd determines whether a given symbol should be $-expanded or not. furthermore, the leading $ is usually stripped by pd. e.g. if you type [$1-bar-$2], the symbol "1-bar-$2" is stored as A_DOLLARSYM. this means that the beginning of the dollarsymbol always has to be expanded. furthermore, [bar-$2] will _never_ be expanded (since pd thinks it is an ordinary symbol).
i didn't dare to change this behaviour since SETDOLLARSYM() and binbuf_realizedollsym() are exposed in m_pd.h and probably used in externals which would then break. however, whenever this might change, binbuf_expanddollsym() is prepared (just need to "#if 1")
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1405137...
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev