You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(19) |
Jul
(96) |
Aug
(144) |
Sep
(222) |
Oct
(496) |
Nov
(171) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(4) |
Feb
(4) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
(6) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(52) |
Aug
(47) |
Sep
(47) |
Oct
(95) |
Nov
(56) |
Dec
(34) |
2003 |
Jan
(99) |
Feb
(116) |
Mar
(125) |
Apr
(99) |
May
(123) |
Jun
(69) |
Jul
(110) |
Aug
(130) |
Sep
(289) |
Oct
(211) |
Nov
(98) |
Dec
(140) |
2004 |
Jan
(85) |
Feb
(87) |
Mar
(342) |
Apr
(125) |
May
(101) |
Jun
(60) |
Jul
(151) |
Aug
(118) |
Sep
(162) |
Oct
(117) |
Nov
(125) |
Dec
(95) |
2005 |
Jan
(141) |
Feb
(54) |
Mar
(79) |
Apr
(83) |
May
(74) |
Jun
(125) |
Jul
(63) |
Aug
(89) |
Sep
(130) |
Oct
(89) |
Nov
(34) |
Dec
(39) |
2006 |
Jan
(98) |
Feb
(62) |
Mar
(56) |
Apr
(94) |
May
(169) |
Jun
(41) |
Jul
(34) |
Aug
(35) |
Sep
(132) |
Oct
(722) |
Nov
(381) |
Dec
(36) |
2007 |
Jan
(34) |
Feb
(174) |
Mar
(15) |
Apr
(35) |
May
(74) |
Jun
(15) |
Jul
(8) |
Aug
(18) |
Sep
(39) |
Oct
(125) |
Nov
(89) |
Dec
(129) |
2008 |
Jan
(176) |
Feb
(91) |
Mar
(69) |
Apr
(178) |
May
(310) |
Jun
(434) |
Jul
(171) |
Aug
(73) |
Sep
(187) |
Oct
(132) |
Nov
(259) |
Dec
(292) |
2009 |
Jan
(27) |
Feb
(54) |
Mar
(35) |
Apr
(54) |
May
(93) |
Jun
(10) |
Jul
(36) |
Aug
(36) |
Sep
(93) |
Oct
(52) |
Nov
(45) |
Dec
(74) |
2010 |
Jan
(20) |
Feb
(120) |
Mar
(165) |
Apr
(101) |
May
(56) |
Jun
(12) |
Jul
(73) |
Aug
(306) |
Sep
(154) |
Oct
(82) |
Nov
(63) |
Dec
(42) |
2011 |
Jan
(176) |
Feb
(86) |
Mar
(199) |
Apr
(86) |
May
(237) |
Jun
(50) |
Jul
(26) |
Aug
(56) |
Sep
(42) |
Oct
(62) |
Nov
(62) |
Dec
(52) |
2012 |
Jan
(35) |
Feb
(33) |
Mar
(128) |
Apr
(152) |
May
(133) |
Jun
(21) |
Jul
(74) |
Aug
(423) |
Sep
(165) |
Oct
(129) |
Nov
(387) |
Dec
(276) |
2013 |
Jan
(105) |
Feb
(30) |
Mar
(130) |
Apr
(42) |
May
(60) |
Jun
(79) |
Jul
(101) |
Aug
(46) |
Sep
(81) |
Oct
(14) |
Nov
(43) |
Dec
(4) |
2014 |
Jan
(25) |
Feb
(32) |
Mar
(30) |
Apr
(80) |
May
(42) |
Jun
(23) |
Jul
(68) |
Aug
(127) |
Sep
(112) |
Oct
(72) |
Nov
(29) |
Dec
(69) |
2015 |
Jan
(35) |
Feb
(49) |
Mar
(95) |
Apr
(10) |
May
(70) |
Jun
(64) |
Jul
(93) |
Aug
(85) |
Sep
(43) |
Oct
(38) |
Nov
(124) |
Dec
(29) |
2016 |
Jan
(253) |
Feb
(181) |
Mar
(132) |
Apr
(419) |
May
(68) |
Jun
(90) |
Jul
(52) |
Aug
(142) |
Sep
(131) |
Oct
(80) |
Nov
(84) |
Dec
(192) |
2017 |
Jan
(329) |
Feb
(842) |
Mar
(248) |
Apr
(85) |
May
(247) |
Jun
(186) |
Jul
(37) |
Aug
(73) |
Sep
(98) |
Oct
(108) |
Nov
(143) |
Dec
(143) |
2018 |
Jan
(155) |
Feb
(139) |
Mar
(72) |
Apr
(112) |
May
(82) |
Jun
(119) |
Jul
(24) |
Aug
(33) |
Sep
(179) |
Oct
(295) |
Nov
(111) |
Dec
(34) |
2019 |
Jan
(20) |
Feb
(29) |
Mar
(49) |
Apr
(89) |
May
(185) |
Jun
(131) |
Jul
(9) |
Aug
(59) |
Sep
(30) |
Oct
(44) |
Nov
(118) |
Dec
(53) |
2020 |
Jan
(70) |
Feb
(108) |
Mar
(50) |
Apr
(9) |
May
(70) |
Jun
(24) |
Jul
(103) |
Aug
(82) |
Sep
(132) |
Oct
(119) |
Nov
(174) |
Dec
(169) |
2021 |
Jan
(75) |
Feb
(51) |
Mar
(76) |
Apr
(73) |
May
(53) |
Jun
(120) |
Jul
(114) |
Aug
(73) |
Sep
(70) |
Oct
(18) |
Nov
(26) |
Dec
|
2022 |
Jan
(26) |
Feb
(63) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(74) |
Jul
(129) |
Aug
(106) |
Sep
(238) |
Oct
(169) |
Nov
(149) |
Dec
(111) |
2023 |
Jan
(110) |
Feb
(47) |
Mar
(82) |
Apr
(106) |
May
(168) |
Jun
(101) |
Jul
(155) |
Aug
(35) |
Sep
(51) |
Oct
(55) |
Nov
(134) |
Dec
(202) |
2024 |
Jan
(103) |
Feb
(129) |
Mar
(154) |
Apr
(89) |
May
(60) |
Jun
(162) |
Jul
(201) |
Aug
(61) |
Sep
(167) |
Oct
(111) |
Nov
(133) |
Dec
(141) |
2025 |
Jan
(122) |
Feb
(88) |
Mar
(106) |
Apr
(113) |
May
(203) |
Jun
(185) |
Jul
(124) |
Aug
(202) |
Sep
(176) |
Oct
(11) |
Nov
|
Dec
|
From: Donald G P. <don...@ni...> - 2025-07-17 18:05:55
|
Now available from https://sourceforge.net/projects/tcl/files/Tcl/9.1a0/ is the RC1 release candidate of the first alpha release of Tk 9.1. This is the second of a sequence of candidate releases leading to the release of Tk 9.1a0. Testing of builds and operations on multiple platforms is invited. Open tickets on any problems discovered, or raise the issue in a reply to this message. It is intended that the RC1 release will become the Tk 9.1a0 release on July 21, unless some release-blocking flaw is discovered and reported. Release notes are also available for review and correction. Thank you for your contributions and assistance. -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: da S. P. J <pet...@fl...> - 2025-07-17 15:37:25
|
I don’t think the implementation matters, what I mean is that functionally it’s a specialized array/dict. From: Emiliano <emi...@gm...> Date: Wednesday, July 16, 2025 at 11:48 To: da Silva, Peter J (USA) <pet...@fl...> Cc: tcl...@li... <tcl...@li...> Subject: Re: [TCLCORE] biweekly telco on14th of July at 12:00 UTC On Wed, 16 Jul 2025 14: 15: 46 +0000 "da Silva, Peter J " <peter. dasilva@ flightaware. com> wrote: > Is this a specialized array/dict? There seems considerable overlap. No, it isn't. As specified in TIP 369, the payload of the cargo command On Wed, 16 Jul 2025 14:15:46 +0000 "da Silva, Peter J " <pet...@fl...> wrote: > Is this a specialized array/dict? There seems considerable overlap. No, it isn't. As specified in TIP 369, the payload of the cargo command is a dictionary, so I used a dict Tcl_Obj, but could have used a hash table. Quoting the TIP: "It is proposed that a cargo subcommand be added to most widgets that will allow the user to store data related to the widget in a data dictionary. With the cargo command there are three parameters that can go with it: set, unset, and get. Set adds and alters entries in the cargo dictionary. pathName cargo set name value ?name value ...? " Nothing special here. The main point is coupling the data lifetime to widget lifetime. The difference is syntax; it would become $cargocmd set pathName name value ?name value ...? A simple use case is the tooltip package: it holds the display data in an array, indexed by widget name and, optionally, by a tag or index, separated by a comma. When a widget with an entry in the array is destroyed, no automatic cleanup is done; one must call the cleanup subcommand to delete the data. If the package used a cargo table instead, the cleanup is automatic. Regards -- Emiliano <emi...@gm...> |
From: Jan N. <jan...@gm...> - 2025-07-17 08:02:10
|
Op do 17 jul 2025 om 09:16 schreef Harald Oehlmann <har...@el...>: > Install: > % package require dde > couldn't load library > "C:/test/tcl9.1a0/tcl91a0/lib/dde1.4/tcl9dde15.dll": this library or a > dependent library could not be found in library path This should be fixed here: <https://core.tcl-lang.org/tcl/info/f9fa24b9e8f8f826> Thanks! Jan Nijtmans |
From: Harald O. <har...@el...> - 2025-07-17 07:15:42
|
Am 16.07.2025 um 18:49 schrieb Donald G Porter via Tcl-Core: > > Now available from > > https://sourceforge.net/projects/tcl/files/Tcl/9.1a0/ > > is the RC0 release candidate of the first alpha release of Tk 9.1. > > This is the first of a sequence of candidate releases leading to the > release of > Tk 9.1a0. Testing of builds and operations on multiple platforms is > invited. Open > tickets on any problems discovered, or raise the issue in a reply to > this message. > > This candidate is not expected to become the release. Some additional > work on release notes and other supports is expected to appear in a > subsequent candidate first. > > Thank you for your contributions and assistance. > Dear Don, great release candidate, thank you: Platform: Win 64 GER, MS-VS 2022 64 bit Compilation: clean htmlhelp had one error which I fixed in the main branch Install: % package require dde couldn't load library "C:/test/tcl9.1a0/tcl91a0/lib/dde1.4/tcl9dde15.dll": this library or a dependent library could not be found in library path the library has name "14" while the path in pckIndex is "15". (bin) 6 % package require registry couldn't load library "C:/test/tcl9.1a0/tcl91a0/lib/registry1.3/tcl9registry14.dll": this library or a dependent library could not be found in library path -> the library is named "13" while the pckIndex file has "14" Test: No test failures at all ! Thanks for all, Harald |
From: Donald G P. <don...@ni...> - 2025-07-16 17:03:31
|
Now available from https://sourceforge.net/projects/tcl/files/Tcl/9.1a0/ is the RC0 release candidate of the first alpha release of Tcl 9.1. This is the first of a sequence of candidate releases leading to the release of Tcl 9.1a0. Testing of builds and operations on multiple platforms is invited. Open tickets on any problems discovered, or raise the issue in a reply to this message. This candidate is not expected to become the release. Some additional work on release notes and other supports is expected to appear in a subsequent candidate first. Thank you for your contributions and assistance. |
From: Donald G P. <don...@ni...> - 2025-07-16 16:49:31
|
Now available from https://sourceforge.net/projects/tcl/files/Tcl/9.1a0/ is the RC0 release candidate of the first alpha release of Tk 9.1. This is the first of a sequence of candidate releases leading to the release of Tk 9.1a0. Testing of builds and operations on multiple platforms is invited. Open tickets on any problems discovered, or raise the issue in a reply to this message. This candidate is not expected to become the release. Some additional work on release notes and other supports is expected to appear in a subsequent candidate first. Thank you for your contributions and assistance. -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Emiliano <emi...@gm...> - 2025-07-16 16:48:41
|
On Wed, 16 Jul 2025 14:15:46 +0000 "da Silva, Peter J " <pet...@fl...> wrote: > Is this a specialized array/dict? There seems considerable overlap. No, it isn't. As specified in TIP 369, the payload of the cargo command is a dictionary, so I used a dict Tcl_Obj, but could have used a hash table. Quoting the TIP: "It is proposed that a cargo subcommand be added to most widgets that will allow the user to store data related to the widget in a data dictionary. With the cargo command there are three parameters that can go with it: set, unset, and get. Set adds and alters entries in the cargo dictionary. pathName cargo set name value ?name value ...? " Nothing special here. The main point is coupling the data lifetime to widget lifetime. The difference is syntax; it would become $cargocmd set pathName name value ?name value ...? A simple use case is the tooltip package: it holds the display data in an array, indexed by widget name and, optionally, by a tag or index, separated by a comma. When a widget with an entry in the array is destroyed, no automatic cleanup is done; one must call the cleanup subcommand to delete the data. If the package used a cargo table instead, the cleanup is automatic. Regards -- Emiliano <emi...@gm...> |
From: da S. P. J <pet...@fl...> - 2025-07-16 15:29:15
|
Is this a specialized array/dict? There seems considerable overlap. From: Emiliano <emi...@gm...> Date: Sunday, July 13, 2025 at 14:20 To: tcl...@li... <tcl...@li...> Subject: Re: [TCLCORE] biweekly telco on14th of July at 12:00 UTC On Sat, 12 Jul 2025 09: 03: 59 +0200 Harald Oehlmann <harald. oehlmann@ elmicron. de> wrote: > Dear Tcl/Tk team, > TCL 9. 0. 2 is out. Bologna conference ended. Great stuff ! > Invitation for: biweekly telco on14th of July at 12: 00 UTC On Sat, 12 Jul 2025 09:03:59 +0200 Harald Oehlmann <har...@el...> wrote: > Dear Tcl/Tk team, > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > Invitation for: biweekly telco on14th of July at 12:00 UTC > > Agenda proposal: [...] > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets Just FYI, at https://urldefense.us/v2/url?u=https-3A__chiselapp.com_user_egavilan_repository_tkcargo_home&d=DwICAg&c=MASr1KIcYm9UGIT-jfIzwQg1YBeAkaJoBtxV_4o83uQ&r=BRyGRggIJd8TmKOhvEmGElFuDuCl3O5mT8opva3f-Uc&m=YukZG3NEdZT89PNES2VaV81rM84TNxAfVQ1KZeKWbk_NZhUVZYnNTh1Nrz2DHL-L&s=L-z-yZtZlO-opW0Yxrn7uu2Fbz5w11TnHLqVNbm1auM&e= you can find an experimental implementation of (a variation of) TIP 369. The main difference is that the cargo data does not attach to widgets, but to "cargo tables", which manages the data storage and the corresponding cleanup when the widgets are destroyed. It implements a simple command [tk::cargotable] which creates a table (a command) with the following subcommands: get, exists, names, set, stat and unset. There can be an arbitrary number of tables, and they can carry different data without fear of key clashing. Simple interactive example: % package require tkcargo; tk::cargotable table1 ;# create a table ::table1 % label .l1; label .l2; label .l3 ;# create some widgets .l3 % table1 set .l1 k1 value1 k2 value2 ;# set data for .l1 k1 value1 k2 value2 % table1 get .l1 k1 ;# get data back, with key value1 % table1 get .l1 ;# get data back, whole dict k1 value1 k2 value2 % table1 set .l2 k1 somevalue ;# set data for .l2 k1 somevalue % table1 set .l3 k1 someothervalue ;# set data for .l3 k1 someothervalue % table1 names ;# list widgets with data in this table .l3 .l2 .l1 % destroy .l2 % table1 names ;# destroying widgets cleans up the table entry .l3 .l1 If a limited set of keys is desired, they can be specified at table creation: % ::tk::cargotable table2 {key1 key2 key3} ::table2 % table2 set .l1 foo bar bad key "foo": must be key1, key2, or key3 One advantage of this approach over the one described in TIP 369 is that there's no need to modify the widgets themselves, and it applies to any widget, either core ones or third party ones like tktable, tktreectrl, etc. The other advantage, already mentioned, is that different extensions can have their own table, or tables, with their own data without data clashing. Again, this code is experimental, and is not either documented, tested or pretty. But it can be used as a starting point. Regards -- Emiliano <emi...@gm...> _______________________________________________ Tcl-Core mailing list Tcl...@li... https://urldefense.us/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_tcl-2Dcore&d=DwICAg&c=MASr1KIcYm9UGIT-jfIzwQg1YBeAkaJoBtxV_4o83uQ&r=BRyGRggIJd8TmKOhvEmGElFuDuCl3O5mT8opva3f-Uc&m=YukZG3NEdZT89PNES2VaV81rM84TNxAfVQ1KZeKWbk_NZhUVZYnNTh1Nrz2DHL-L&s=irOPit2Bl-pYluywzaNwvLKUFI1BSI0XNj1TxKVi0TU&e= |
From: <apn...@ya...> - 2025-07-15 06:06:33
|
The Magicsplat Tcl/Tk installers for Windows have been released. 9.0.2-2.0.4 - updated to Tcl/Tk 9.0.2 with new and updated packages 8.6.16-1.16.1 - new and updated packages only See https://www.magicsplat.com/tcl-installer/index.html for list of included packages, downloads etc. |
From: <apn...@ya...> - 2025-07-14 16:58:21
|
I think I missed that the keys are all widget paths and cleaned up automatically. -----Original Message----- From: Emiliano <emi...@gm...> Sent: Monday, July 14, 2025 8:32 PM To: tcl...@li... Subject: Re: [TCLCORE] Report of biweekly telco on14th of July at 12:00 UTC On Mon, 14 Jul 2025 15:10:35 +0200 Harald Oehlmann <har...@el...> wrote: > Dear Tcl/Tk team, > > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > > 1) TCL 9.1a0 support and possible items > > No blocker, all tips voted. > Will be started soon. > > 9.1a0 page on the Developper Exchange pending. > Don Porter will create a skeleton and calls for quality improvements. > > 2) fork of X11: eventual report by Reinhard > > No additional information expect the E-Mail from Christian. > > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets > > Much work. > Emilianos suggestion does not be cleanaed-up with the widget. > A tight link of Widget and Properties is seen as more beneficial. Sorry for not being able to attend. What does it means "... does not be cleanaed-up with the widget.". For me, the main advantage of the proposed extension is the auto cleanup feature it implements when the widget is destroyed. It is set up when the hash table entry is created here https://chiselapp.com/user/egavilan/repository/tkcargo/file?ci=tip&name=gene ric/tkcargo.c&ln=293 and called accordingly. The other big advantage, as stated before, is that it can be applied to any widget, both from core or third party, without modification of the widget themselves. Regards -- Emiliano <emi...@gm...> _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Harald O. <har...@el...> - 2025-07-14 16:21:39
|
Am 14.07.2025 um 17:01 schrieb Emiliano: > On Mon, 14 Jul 2025 15:10:35 +0200 > Harald Oehlmann <har...@el...> wrote: > >> Dear Tcl/Tk team, >> >> TCL 9.0.2 is out. Bologna conference ended. Great stuff ! >> >> 1) TCL 9.1a0 support and possible items >> >> No blocker, all tips voted. >> Will be started soon. >> >> 9.1a0 page on the Developper Exchange pending. >> Don Porter will create a skeleton and calls for quality improvements. >> >> 2) fork of X11: eventual report by Reinhard >> >> No additional information expect the E-Mail from Christian. >> >> 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets >> >> Much work. >> Emilianos suggestion does not be cleanaed-up with the widget. >> A tight link of Widget and Properties is seen as more beneficial. > > Sorry for not being able to attend. > > What does it means "... does not be cleanaed-up with the widget.". For me, > the main advantage of the proposed extension is the auto cleanup feature > it implements when the widget is destroyed. It is set up when the hash table > entry is created here > > https://chiselapp.com/user/egavilan/repository/tkcargo/file?ci=tip&name=generic/tkcargo.c&ln=293 > > and called accordingly. > > The other big advantage, as stated before, is that it can be applied to any > widget, both from core or third party, without modification of the widget > themselves. > > Regards Thanks, Emiliano, for the clarification. We did not understand this. It is clear now. Thanks for all, Harald |
From: Emiliano <emi...@gm...> - 2025-07-14 15:02:13
|
On Mon, 14 Jul 2025 15:10:35 +0200 Harald Oehlmann <har...@el...> wrote: > Dear Tcl/Tk team, > > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > > 1) TCL 9.1a0 support and possible items > > No blocker, all tips voted. > Will be started soon. > > 9.1a0 page on the Developper Exchange pending. > Don Porter will create a skeleton and calls for quality improvements. > > 2) fork of X11: eventual report by Reinhard > > No additional information expect the E-Mail from Christian. > > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets > > Much work. > Emilianos suggestion does not be cleanaed-up with the widget. > A tight link of Widget and Properties is seen as more beneficial. Sorry for not being able to attend. What does it means "... does not be cleanaed-up with the widget.". For me, the main advantage of the proposed extension is the auto cleanup feature it implements when the widget is destroyed. It is set up when the hash table entry is created here https://chiselapp.com/user/egavilan/repository/tkcargo/file?ci=tip&name=generic/tkcargo.c&ln=293 and called accordingly. The other big advantage, as stated before, is that it can be applied to any widget, both from core or third party, without modification of the widget themselves. Regards -- Emiliano <emi...@gm...> |
From: Emiliano <emi...@gm...> - 2025-07-14 14:51:27
|
On Mon, 14 Jul 2025 13:15:11 +0530 apnmbx-public--- via Tcl-Core <tcl...@li...> wrote: > I'm somewhat confused by the purpose of tk::cargotable. > > Is there any benefit over a simple dictionary other than the differences in > search paths and scope between variables and commands and would not a oo > wrapper around dict do the job for whoever needs it? No, there's no advantage over a simple oo::class, except for the auto cleanup feature. At C level, Tk_CreateEventHandler does the right thing wrt DestroyNotify events. At Tcl level, [bind] has at least two features that can be problematic: the toplevel bindtag, which means that when a toplevel with a <Destroy> binding on its name ([bind .top <Destroy> $cleanup_script]) is destroyed, all descendants fires the binding since they all have the .top bindtag on them; and the other is the fact that both the binding themselves and the bindtags can be overriden by the user, making things fragile. > If there is some benefit I missed, I don't see anything Tk specific, so > should this not be a Tcl, not Tk, command? As said, the main (only?) Tk feature is the auto cleanup of the table. All tables, in fact. -- Emiliano <emi...@gm...> |
From: Harald O. <har...@el...> - 2025-07-14 13:10:59
|
Dear Tcl/Tk team, TCL 9.0.2 is out. Bologna conference ended. Great stuff ! 1) TCL 9.1a0 support and possible items No blocker, all tips voted. Will be started soon. 9.1a0 page on the Developper Exchange pending. Don Porter will create a skeleton and calls for quality improvements. 2) fork of X11: eventual report by Reinhard No additional information expect the E-Mail from Christian. 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets Much work. Emilianos suggestion does not be cleanaed-up with the widget. A tight link of Widget and Properties is seen as more beneficial. A 20 years old diff is hard to merge. Csabas work is more like "configure", which is seen as a good idea. TIP 560 may be linked. 4) toggleswitch in the core Is currently a mega-widget of images and a scale. Implementation should duplicate the scale code. This would be welcomed ! 5) tdbccompile/tdbcload/tdbclinter/debugger for orphaned packages Could be possible. New byte code of 9.1 will be a challenge. Debugger works on source code level and is independent on Byte code. tbccompile/tdbcload depend on byte codes. Auxillary data structures have to be added triggered by byte codes using them. There is a wrapper for Comodo, which talks with the debuger (DBGP: Debug protocol -> debug_engine/debug_nab in github of activestate). This may be used with other GUIs. https://github.com/puremourning/TclProDebug tdbcompile is in the tpot source folder. The tcl parser is generic and may be isolated. It is in the debugger and the compiler. https://github.com/ActiveState/teapot 6) extract tcl parser from tdbclinter for various usage (documentation, checking) Is called checker. Parser returns a nested list and a tcl script does the linter. lib-checker in: https://github.com/ActiveState/tdk/ *.pcx files are the checker rules. coreTcl.tcl is for tcl rules. 7) Package repository by Max (teapot 2.0) https://tclrepo.daidze.org/ New one is welcome. There was also a presentation last year by Phytos with dependency solver. BAWT has additional features. Uploader creates the packages and signs them. 8) Tk Path One point to fix: Tk path core dumps, if a used image is removed. images are reference counted and this should not happen. Run demo and delete an image. It did not happen with only one image. --- Next meeting: 28th of July 12:00 UTC on https://meet.jit.si/TclMonthlyMeetup wiki. Thank you for all, Harald |
From: Christian W. <Chr...@t-...> - 2025-07-14 09:19:47
|
On 07/14/2025 09:45 AM, apnmbx-public--- via Tcl-Core wrote: > … > Is there any benefit over a simple dictionary other than the differences in > search paths and scope between variables and commands and would not a oo > wrapper around dict do the job for whoever needs it? > > If there is some benefit I missed, I don't see anything Tk specific, so > should this not be a Tcl, not Tk, command? My guess is that the proposed approach cannot be fooled regarding the <Destroy> widget binding, i.e. the widget's life cycle. So it always ever ever cleans up. BR, Christian |
From: <apn...@ya...> - 2025-07-14 07:45:27
|
I'm somewhat confused by the purpose of tk::cargotable. Is there any benefit over a simple dictionary other than the differences in search paths and scope between variables and commands and would not a oo wrapper around dict do the job for whoever needs it? If there is some benefit I missed, I don't see anything Tk specific, so should this not be a Tcl, not Tk, command? /Ashok -----Original Message----- From: Emiliano <emi...@gm...> Sent: Monday, July 14, 2025 12:49 AM To: tcl...@li... Subject: Re: [TCLCORE] biweekly telco on14th of July at 12:00 UTC On Sat, 12 Jul 2025 09:03:59 +0200 Harald Oehlmann <har...@el...> wrote: > Dear Tcl/Tk team, > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > Invitation for: biweekly telco on14th of July at 12:00 UTC > > Agenda proposal: [...] > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets Just FYI, at https://chiselapp.com/user/egavilan/repository/tkcargo/home you can find an experimental implementation of (a variation of) TIP 369. The main difference is that the cargo data does not attach to widgets, but to "cargo tables", which manages the data storage and the corresponding cleanup when the widgets are destroyed. It implements a simple command [tk::cargotable] which creates a table (a command) with the following subcommands: get, exists, names, set, stat and unset. There can be an arbitrary number of tables, and they can carry different data without fear of key clashing. Simple interactive example: % package require tkcargo; tk::cargotable table1 ;# create a table ::table1 % label .l1; label .l2; label .l3 ;# create some widgets .l3 % table1 set .l1 k1 value1 k2 value2 ;# set data for .l1 k1 value1 k2 value2 % table1 get .l1 k1 ;# get data back, with key value1 % table1 get .l1 ;# get data back, whole dict k1 value1 k2 value2 % table1 set .l2 k1 somevalue ;# set data for .l2 k1 somevalue % table1 set .l3 k1 someothervalue ;# set data for .l3 k1 someothervalue % table1 names ;# list widgets with data in this table .l3 .l2 .l1 % destroy .l2 % table1 names ;# destroying widgets cleans up the table entry .l3 .l1 If a limited set of keys is desired, they can be specified at table creation: % ::tk::cargotable table2 {key1 key2 key3} ::table2 % table2 set .l1 foo bar bad key "foo": must be key1, key2, or key3 One advantage of this approach over the one described in TIP 369 is that there's no need to modify the widgets themselves, and it applies to any widget, either core ones or third party ones like tktable, tktreectrl, etc. The other advantage, already mentioned, is that different extensions can have their own table, or tables, with their own data without data clashing. Again, this code is experimental, and is not either documented, tested or pretty. But it can be used as a starting point. Regards -- Emiliano <emi...@gm...> _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Steve L. <st...@di...> - 2025-07-14 00:55:32
|
The link is the correct one, it is used for multiple meetings now. The monthly meetups are focussed on using Tcl, Tk and associated packages (i.e. more user oriented) and the bi-weekly ones are focussed on Tcl and Tk releases. -- Steve On 14 Jul 2025 at 8:12 AM +0800, Andreas Leitgeb <av...@lo...>, wrote: > Harald Oehlmann <har...@el...> wrote: > > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > > Invitation for: biweekly telco on14th of July at 12:00 UTC > > I checked my old browser tabs with tcl wiki for the jitsi meetings, > and those still only mentioned monthly meetings... > > Is the jitsi url ".../TclMonthlyMeetup" still the right one, > (even if the meetings are now biweekly) or is there a new > jitsi url? > > > Agenda proposal: > > > > 1) TCL 9.1a0 support and possible items > > 2) fork of X11: eventual report by Reinhard > > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets > > 4) toggleswitch in the core > > 5) tdbccompile/tdbcload/tdbclinter/debugger for orphaned packages > > 6) extract tcl parser from tdbclinter for various usage (documentation, > > checking) > > 7) Package repository by Max (teapot 2.0) > > Points 2 to 7 are conference results. > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core > |
From: Andreas L. <av...@lo...> - 2025-07-14 00:10:27
|
Harald Oehlmann <har...@el...> wrote: > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > Invitation for: biweekly telco on14th of July at 12:00 UTC I checked my old browser tabs with tcl wiki for the jitsi meetings, and those still only mentioned monthly meetings... Is the jitsi url ".../TclMonthlyMeetup" still the right one, (even if the meetings are now biweekly) or is there a new jitsi url? > Agenda proposal: > > 1) TCL 9.1a0 support and possible items > 2) fork of X11: eventual report by Reinhard > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets > 4) toggleswitch in the core > 5) tdbccompile/tdbcload/tdbclinter/debugger for orphaned packages > 6) extract tcl parser from tdbclinter for various usage (documentation, > checking) > 7) Package repository by Max (teapot 2.0) > Points 2 to 7 are conference results. |
From: Harald O. <har...@el...> - 2025-07-13 20:04:44
|
Dear Emiliano, thank you for the proposal. We will discuss it tomorrow 2PM European time on Jitsi. Csaba may also comment. Thanks for all, Harald Am 13.07.2025 um 21:19 schrieb Emiliano: > On Sat, 12 Jul 2025 09:03:59 +0200 > Harald Oehlmann <har...@el...> wrote: > >> Dear Tcl/Tk team, >> TCL 9.0.2 is out. Bologna conference ended. Great stuff ! >> Invitation for: biweekly telco on14th of July at 12:00 UTC >> >> Agenda proposal: > [...] >> 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets > > Just FYI, at https://chiselapp.com/user/egavilan/repository/tkcargo/home > you can find an experimental implementation of (a variation of) TIP 369. > > The main difference is that the cargo data does not attach to widgets, > but to "cargo tables", which manages the data storage and the > corresponding cleanup when the widgets are destroyed. > > It implements a simple command [tk::cargotable] which creates a table > (a command) with the following subcommands: get, exists, names, set, > stat and unset. There can be an arbitrary number of tables, and they > can carry different data without fear of key clashing. > > Simple interactive example: > > % package require tkcargo; tk::cargotable table1 ;# create a table > ::table1 > % label .l1; label .l2; label .l3 ;# create some widgets > .l3 > % table1 set .l1 k1 value1 k2 value2 ;# set data for .l1 > k1 value1 k2 value2 > % table1 get .l1 k1 ;# get data back, with key > value1 > % table1 get .l1 ;# get data back, whole dict > k1 value1 k2 value2 > % table1 set .l2 k1 somevalue ;# set data for .l2 > k1 somevalue > % table1 set .l3 k1 someothervalue ;# set data for .l3 > k1 someothervalue > % table1 names ;# list widgets with data in this table > .l3 .l2 .l1 > % destroy .l2 > % table1 names ;# destroying widgets cleans up the table entry > .l3 .l1 > > If a limited set of keys is desired, they can be specified at table creation: > > % ::tk::cargotable table2 {key1 key2 key3} > ::table2 > % table2 set .l1 foo bar > bad key "foo": must be key1, key2, or key3 > > One advantage of this approach over the one described in TIP 369 is that > there's no need to modify the widgets themselves, and it applies to any > widget, either core ones or third party ones like tktable, tktreectrl, etc. > > The other advantage, already mentioned, is that different extensions can > have their own table, or tables, with their own data without data clashing. > > Again, this code is experimental, and is not either documented, tested > or pretty. But it can be used as a starting point. > > Regards -- ELMICRON Dr. Harald Oehlmann GmbH Koesener Str. 85 06618 NAUMBURG - Germany Phone: +49 3445 781120 Direct: +49 3445 781127 www.Elmicron.de German legal references: Geschaeftsfuehrer: Dr. Harald Oehlmann UST Nr. / VAT ID No.: DE206105272 HRB 212803 Stendal |
From: Emiliano <emi...@gm...> - 2025-07-13 19:19:19
|
On Sat, 12 Jul 2025 09:03:59 +0200 Harald Oehlmann <har...@el...> wrote: > Dear Tcl/Tk team, > TCL 9.0.2 is out. Bologna conference ended. Great stuff ! > Invitation for: biweekly telco on14th of July at 12:00 UTC > > Agenda proposal: [...] > 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets Just FYI, at https://chiselapp.com/user/egavilan/repository/tkcargo/home you can find an experimental implementation of (a variation of) TIP 369. The main difference is that the cargo data does not attach to widgets, but to "cargo tables", which manages the data storage and the corresponding cleanup when the widgets are destroyed. It implements a simple command [tk::cargotable] which creates a table (a command) with the following subcommands: get, exists, names, set, stat and unset. There can be an arbitrary number of tables, and they can carry different data without fear of key clashing. Simple interactive example: % package require tkcargo; tk::cargotable table1 ;# create a table ::table1 % label .l1; label .l2; label .l3 ;# create some widgets .l3 % table1 set .l1 k1 value1 k2 value2 ;# set data for .l1 k1 value1 k2 value2 % table1 get .l1 k1 ;# get data back, with key value1 % table1 get .l1 ;# get data back, whole dict k1 value1 k2 value2 % table1 set .l2 k1 somevalue ;# set data for .l2 k1 somevalue % table1 set .l3 k1 someothervalue ;# set data for .l3 k1 someothervalue % table1 names ;# list widgets with data in this table .l3 .l2 .l1 % destroy .l2 % table1 names ;# destroying widgets cleans up the table entry .l3 .l1 If a limited set of keys is desired, they can be specified at table creation: % ::tk::cargotable table2 {key1 key2 key3} ::table2 % table2 set .l1 foo bar bad key "foo": must be key1, key2, or key3 One advantage of this approach over the one described in TIP 369 is that there's no need to modify the widgets themselves, and it applies to any widget, either core ones or third party ones like tktable, tktreectrl, etc. The other advantage, already mentioned, is that different extensions can have their own table, or tables, with their own data without data clashing. Again, this code is experimental, and is not either documented, tested or pretty. But it can be used as a starting point. Regards -- Emiliano <emi...@gm...> |
From: Marc C. <cul...@gm...> - 2025-07-13 12:25:57
|
TIP #725 has been accepted and merged into main. The vote summary is: RESULT: Accepted 5/0/0 YES: MC, KW, SL, HO, AN NO: none PRESENT: none Thanks, everyone. - Marc On Sun, Jun 29, 2025 at 10:59 AM Marc Culler <cul...@gm...> wrote: > It has now been 2 weeks, rather than 2 days, so I think it is time to call > for votes on TIP #725. > > Recall that this TIP targets Tk 9.1 and only affects the macOS port. It > adds one new command in the ::tk::mac namespace. The new command > GetInfoAsJSON is analogous to the existing command GetAppPath but provides > much more information, namely the entire contents of the Info.plist file, > allowing Tcl code running within a macOS Application to obtain information > about its host Application without enraging Apple's gatekeeper. The > NSDicitionary represented by the Info.plist file is serialized as a > JSON-encoded string which is the return value of the command. The json > package provided by Tcllib can be used to deserialize the JSON data as a > Tcl dict. > > The voting period will be about two weeks, ending at 2025-07-13T00:00:00 > UTC, which has unix timestamp 1752386400. > > My vote: > TIP #725: YES > > - Marc > > On Sun, Jun 15, 2025 at 9:01 AM Marc Culler <cul...@gm...> wrote: > >> This TIP was discussed quite a bit on this list, and the discussion now >> seems to have run its course without any objections having been raised. So >> I intend to call for a vote in a day or two. >> >> - Marc >> > |
From: Marc C. <cul...@gm...> - 2025-07-12 15:07:14
|
On Sat, Jul 12, 2025 at 2:03 AM apnmbx-public--- via Tcl-Core < tcl...@li...> wrote: > The other one - https://github.com/tcltk-depot/tkpath/issues/6 - is > logged by Paul and seems to be macOS specific if Marc or Kevin can take a > look. > I took a look. First, this has nothing to do with tkpath. The same artifacts appear if the tkpath canvas in Paul's example script is replaced by a normal Tk canvas. The example script creates an embedded frame in the canvas which is meant to be draggable. When the frame is dragged the canvas background is not being redrawn in the previous location of the frame, leaving a "vapor trail" in the path of the drag. The bug is not related to the drag operation either. The problem lies with the move command itself. When an embedded frame in a canvas is moved, the rectangle where the frame was located before being moved is not getting redrawn. It does not happen with other canvas items, as can be seen in the canvas items demo. In any case, this is a bug in Aqua Tk, not in tkpath. I will open a ticket. I have no idea what is causing this. - Marc |
From: Harald O. <har...@el...> - 2025-07-12 07:04:22
|
Dear Tcl/Tk team, TCL 9.0.2 is out. Bologna conference ended. Great stuff ! Invitation for: biweekly telco on14th of July at 12:00 UTC Agenda proposal: 1) TCL 9.1a0 support and possible items 2) fork of X11: eventual report by Reinhard 3) TIP 369: Tk widgets with a property dict inspired by Csabas widgets 4) toggleswitch in the core 5) tdbccompile/tdbcload/tdbclinter/debugger for orphaned packages 6) extract tcl parser from tdbclinter for various usage (documentation, checking) 7) Package repository by Max (teapot 2.0) Points 2 to 7 are conference results. Happy to see you at the telco, Harald |
From: <apn...@ya...> - 2025-07-12 07:03:03
|
There are two remaining issues with tkpath – A major one is a crash - https://github.com/tcltk-depot/tkpath/issues/7 for details. Seems to me a reference counting issue with some Tk object (afaict deleting an image while in use on a tkpath canvas causes the crash). Not being familiar with Tk internals, appreciate someone more conversant with Tk investigating or at least suggesting possible causes. The other one - https://github.com/tcltk-depot/tkpath/issues/6 - is logged by Paul and seems to be macOS specific if Marc or Kevin can take a look. Thanks for any help with this, /Ashok From: Paul Obermeier <pa...@po...> Sent: Thursday, June 26, 2025 1:22 AM To: tcl...@li... Subject: Re: [TCLCORE] TkPath 0.4.1 Thanks Ashok for caring. I tested the tcltk-depot version on Windows (gcc), several Linux distros, Raspi and RiscV using Tcl/Tk 8.6.16 and 9.0.1. With the exception of MacOS the test suite runs without errors. On MacOS 15.5 there is 1 test suite error (both using 8.6.16 and 9.0.1), see below. The demos work fine using 8.6.16, but do not work using 9.0.1. I created issues for the 2 MacOS problems in case one of the Mac gurus wants to take a closer look. Regards, Paul Am 25.06.2025 um 17:30 schrieb apnmbx-public--- via Tcl-Core: https://github.com/tcltk-depot/tkpath now (purportedly) holds the merge of all the tkpath forks, versioned 0.4.1. There were more diffs w.r.t. Paul’s 0.4.0 than I expected so it would be nice if someone reviewed the merge. I’ve run the test suite on Windows 64 (VC++) and Ubuntu 20 (WSL). Volunteer needed to test on macOS (at least) and confirm. I do not plan further work on it myself. /Ashok From: Paul Obermeier <mailto:pa...@po...> <pa...@po...> Sent: Thursday, June 19, 2025 12:55 AM To: apn...@ya... <mailto:apn...@ya...> ; tcl...@li... <mailto:tcl...@li...> Subject: Re: [TCLCORE] tclx, tktreectrl and tkpath repositories and a request Some history. I originally had Rene's tkpath version in BAWT (last update was in 2018), which does not compile on Mac. Manfred Rosenberger (author of tkpath based RattleCAD) asked me to add Christian Werner's version of tkpath, because his version runs on Mac and has several other fixes. After Tcl9 release Steve Shaw sent me a Tcl9 ready version of tkpath. Unfortunately this version was based on Rene's version (no Mac) and did only work with Tcl9, but not Tcl8. I then merged the Tcl9 changes into Christian's version, which is the version 0.4.0 available with BAWT. So in my point of view, the BAWT version is the most advanced one. It runs the test suite without errors on Windows and Linux using Tcl/Tk 8.6.16 and Tcl/Tk 9.0.1 The test suite runs on Mac with 1 error both using Tcl/Tk 8.6.16 and 9.0.1, see below. Paul ==== canvText-1.12 configuration options: bad value for -stipple FAILED ==== Contents of test case: .c create text 20 20 -tag test .c itemconfigure test $name $badValue ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== canvText-1.12 FAILED Am 18.06.2025 um 05:26 schrieb apnmbx-public--- via Tcl-Core: Thanks Paul. Do you know if your version of tkpath also incorporates Rene’s changes from chiselapp? I hope someone picks up tkpath, else I will make an attempt at a merge at some point. For the macOS issues, I’m afraid I have no way of testing GUI’s. At least for console only, Github actions can be used (painfully). /Ashok From: Paul Obermeier <mailto:pa...@po...> <pa...@po...> I do have a version of tkpath, which is a merge of Christian's and Steve's work and compiles using Tcl 8.6 and 9.0 on Windows, Linux and Mac. See https://www.bawt.tcl3d.org/download/InputLibs/tkpath-0.4.0.7z It works on Windows and Linux using Tcl 8.6 and 9.0. It works on Mac using 8.6, but does not work with Tcl 9.0. tktreectrl and tkpath have been tested on Windows and Linux. Someone testing on macOS would be helpful. Repository version of tktreectrl works on Windows, Linux, Mac using Tcl 8.6 and 9.0. Note, that I tested the packages only by using the simple scripts contained in the BAWT framework. _______________________________________________ Tcl-Core mailing list Tcl...@li... <mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core _______________________________________________ Tcl-Core mailing list Tcl...@li... <mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Harald O. <har...@el...> - 2025-07-10 06:56:02
|
Zoom links for the conference. We try, no guarantee. Start in 5 minuites... Day 1 <https://wu-ac-at.zoom.us/j/66995049517?pwd=P8V1G9oLbEAGJt00a9fnk7Ks48A5lU.1> Day 2 <https://wu-ac-at.zoom.us/j/69912712725?pwd=wQ4a4D3pQsep2NUPuDWZiESEuFFxlU.1> Harald |