Thanks Miller for this quick yet powerful fix.
It currently operates on patches as opened from the window menu. Help patches can still be opened more than once from the contextual menu. I verified that this can be fixed by calling glob_open() instead of glob_evalfile() from open_via_helppath() in s_path.c:
glob_open(0, gensym((char*)basename), gensym(dirbuf), (t_floatarg)1);
However to make it work, the prototype of glob_open() must be declared when compiling s_path.c, otherwise the float argument is not passed correctly for some reason (while the file and dir name are, isn't that odd?)
Katja
On 9/23/18, Miller Puckette msp@ucsd.edu wrote:
Well, I ended up simply reverting to the old behavior but leaving a hook in so that users can specifically ask only to open a patch once.
cheers M
On Sun, Sep 23, 2018 at 12:10:01AM +0200, Antoine Rousseau wrote:
Yes I realized that. So it should be something more specific. Why not a wider scope object, like [pdconfig], that would take "once" as an argument?
Antoine Rousseau http://www.metalu.net http://metalu.net __ http://www.metaluachahuter.com/ http://www.metaluachahuter.com/compagnies/al1-ant1/
Le sam. 22 sept. 2018 ?? 23:55, Roman Haefeli reduzent@gmail.com a ??crit :
On Sat, 2018-09-22 at 23:29 +0200, Antoine Rousseau wrote:
Of course [once] would be much better than [lock]....
[once] is taken by iemlib. Not that I think every library in existence should be considered regarding name conflicts when introducing new objects to Pd, but I feel that [once] is in wide use and adding a [once] with totally different behavior would be a bold move.
Roman_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list