For quite a few years, builds for newer macOS versions come with 8.6 while builds for very *old* macOS versions *may* have 8.4. In any case, it's best to check the available Tcl version on load in your plugin / code and issue a warning if it's not supported.
This is something that should probably be added to the platform specific readme: https://github.com/pure-data/pure-data/blob/master/mac/README.txt
On Oct 19, 2023, at 12:00 PM, pd-list-request@lists.iem.at wrote:
Dear all
I?ve looked in the codebase and the list and I cannot find what tcl/tk I can be guaranteed for Pd on MacOS Linux and Windows? should I check in my tcl code if I need 8.5 (for dict support)
Thanks
p
Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Ok thanks. Then I presume that for Linux it is a salad of versions then - I’ll put a test and see what happens
Thanks!
On 19 Oct 2023, at 13:25, Dan Wilcox danomatika@gmail.com wrote:
For quite a few years, builds for newer macOS versions come with 8.6 while builds for very *old* macOS versions *may* have 8.4. In any case, it's best to check the available Tcl version on load in your plugin / code and issue a warning if it's not supported.
This is something that should probably be added to the platform specific readme: https://github.com/pure-data/pure-data/blob/master/mac/README.txt https://github.com/pure-data/pure-data/blob/master/mac/README.txt
On Oct 19, 2023, at 12:00 PM, pd-list-request@lists.iem.at wrote:
Dear all
I?ve looked in the codebase and the list and I cannot find what tcl/tk I can be guaranteed for Pd on MacOS Linux and Windows? should I check in my tcl code if I need 8.5 (for dict support)
Thanks
p
Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Am 19. Oktober 2023 14:33:08 MESZ schrieb Pierre Alexandre Tremblay tremblap@gmail.com:
Ok thanks. Then I presume that for Linux it is a salad of versions then - I’ll put a test and see what happens
Also note that there's a bit of compat wrapper in https://github.com/pure-data/pure-data/blob/master/tcl/pdtcl_compat.tcl
So if you only need some basic dict
functionality, you might just find it there for "all supported" versions (that is: is those wrappers don't work, then pd-gui is probably not working anyhow)
mfg.sfg.jfd IOhannes
This is great! 2 naive questions:
I’m so incompetent at TCL sorry if that is obvious. I’ll also look at what uses these replacements in the codebase so I can find good practice.
On 19 Oct 2023, at 13:44, IOhannes m zmölnig zmoelnig@iem.at wrote:
Am 19. Oktober 2023 14:33:08 MESZ schrieb Pierre Alexandre Tremblay tremblap@gmail.com:
Ok thanks. Then I presume that for Linux it is a salad of versions then - I’ll put a test and see what happens
Also note that there's a bit of compat wrapper in https://github.com/pure-data/pure-data/blob/master/tcl/pdtcl_compat.tcl
So if you only need some basic
dict
functionality, you might just find it there for "all supported" versions (that is: is those wrappers don't work, then pd-gui is probably not working anyhow)mfg.sfg.jfd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On 10/19/23 14:56, Pierre Alexandre Tremblay wrote:
This is great! 2 naive questions:
- if v 8.5 will it default to the (faster) native one? (Or is there a way to code that in)
it's not falling back automatically. but you can do:
package require pdtcl_compat
if { [catch {dict create} ] } { namespace import ::pdtcl_compat::dict }
(i notice that the documentation says differently (and Pd uses the compat library as documented), but the documented way appears to not work correctly (as in: it uses the slow emulation)
- I don’t see an iterator (dict’s “for")
i'm afraid only a subset of dict
is implemented.
i've had no real need for dict for
, so it's not there.
gfmdsa IOhannes
Ok thanks. I try it all and might do a PR if I’m despaired.
On 19 Oct 2023, at 15:07, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 10/19/23 14:56, Pierre Alexandre Tremblay wrote:
This is great! 2 naive questions:
- if v 8.5 will it default to the (faster) native one? (Or is there a way to code that in)
it's not falling back automatically. but you can do:
package require pdtcl_compat if { [catch {dict create} ] } { namespace import ::pdtcl_compat::dict }
(i notice that the documentation says differently (and Pd uses the compat library as documented), but the documented way appears to not work correctly (as in: it uses the slow emulation)
- I don’t see an iterator (dict’s “for")
i'm afraid only a subset of
dict
is implemented. i've had no real need fordict for
, so it's not there.gfmdsa IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list