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
(48) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
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 |
From: Gustaf N. (sslmail) <ne...@wu...> - 2025-07-09 16:36:26
|
Dear all, We are glad to announce the final release of NaviServer 5.0.0, marking the most significant update in the project’s history with over 70,000 lines of changes. This release delivers robust security enhancements, modernized infrastructure, and improved scalability. Key highlights include: Security by Default: HTTP client requests now validate server certificates automatically, with configurable trust exceptions and a bundled CA root store. A new pluggable authorization framework (ns_auth) enables scriptable request- and user-level access control. Modernized Core: Unix domain socket support, case-insensitive ns_set, Argon2 password hashing, and streamlined configuration via environment variables (ideal for containers). The reverse proxy is now built into the core, with new forward proxy capabilities. Enhanced Observability and Scalability: Improved logging (dynamic paths, rotation, and new "Security" severity), detailed connection diagnostics (ns_conn urldict, ns_connchan debug), runtime introspection (ns_http keepalives, ns_info buildinfo), persistent client connections, and streaming HTTP client processing. Backward Compatibility & Future-Readiness While introducing cutting-edge features, NaviServer 5.0.0 maintains strong backward compatibility, with deprecated APIs clearly documented and modern replacements provided (e.g., ns_urlencode → ns_percentencode). The release introduces/extends over 50 Tcl commands and subcommands. The upgrade to MPL 1.2 and Tcl 9 support ensures long-term sustainability. Over 20 community-contributed modules (like nsdbpg, nssmtpd) have been updated in lockstep. The following people contributed to this release: Alexander Danilov, Andrew Piskorski, Antonio Pisano, Brendan Graves, Brian Fenton, Danilo Raynor, David F, David Osborne, Filip Minic, Georg Lehner, Gustaf Neumann, Hector Romojaro, Joe Oldak, Oleg Oleinick, Priyank Jalu, Thomas Renner, Zoran Vasiljevic Resources: Download <https://sourceforge.net/projects/naviserver/files/naviserver/5.0.0/> | GitHub <https://github.com/naviserver-project/naviserver> | Docs <https://naviserver.sourceforge.io/5.0/toc.html> This release is a major leap forward in security, flexibility, and maintainability. See below for the detailed changes: Upgrade today! The NaviServer Team Tcl API Changes ns_cache New option cachingmode: Accepts full or none to toggle caching behavior. ns_configsection New option -filter: Filters variables by unread, defaulted, or defaults. ns_configure_variables New command to pull in configuration variables from environment variables (for use in configuration files) ns_conn General enhancements: ns_conn host, ns_conn port, ns_conn protocol: Now return appropriate values for all request types (not limited to forward proxy requests). New subcommands: ns_conn target: Returns the complete request target, including query parameters, from the HTTP start line. ns_conn fragment: Returns the fragment identifier (after #) if present. ns_conn urldict: Parses the request URL into a Tcl dictionary for structured access. ns_conn host: Supports an optional default value if the host is not determined. ns_conn details: Returns a dictionary with driver-specific connection metadata. ns_connchan Security and diagnostics improvements: ns_connchan debug: Set or query the debug level. ns_connchan connect / ns_connchan open: Now accept additional security-related options: -cafile, -capath, -cert, -hostname, -insecure, -driver, and -unixsocket. ns_connchan status: Added -server option for multi-server introspection. ns_connchan write: Now performs buffered writes. More detailed timeout handling ns_driver info, names, stats, and threads support the -server option to allow multi-server diagnostics. ns_http Connection handling and introspection: Persistent HTTP connections supported via the keepalive option in httpclient configuration. Introduced support for multiple task threads. Streaming response support for incremental data handling (useful for large file transfers and LLM interaction). Default timeout configuration for requests. New callbacks: response_header_callback and response_data_callback. Renamed -donecallback to -done_callback (old name deprecated). Added support for informational HTTP status codes (e.g., 100 Continue). New subcommands: ns_http keepalives: Displays active persistent connections. ns_http taskthreads: Provides insight into HTTP client threads. Major internal refactoring of tclhttp.c for modularity and maintainability. ns_ictl getmodules: Now supports the -server option for per-server introspection. ns_info Added subcommands: argv: Returns the original argument vector. bindir: Returns the binary directory path. buildinfo: Displays build-time config and version info. logdir: Path to the log directory. meminfo: Displays memory statistics (when using tcmalloc). ns_ip Added subcommands: inany: Checks if an IP matches any configured address. properties: Returns metadata about configured IPs. public: Determines if an IP is publicly routable. trusted: Checks if an IP is trusted. valid: Validates IP syntax. These enhancements supersede the need for ns_subnetmatch. ns_issmallint New command to check if a value is a valid small integer (replaces the old, now deprecated issmallint). ns_logctl New subcommand grep: Searches log files with pattern matching, stripping color codes and handling line continuations. ns_register* Enhancements All ns_register_* commands now support the -constraints option, enabling context-sensitive behavior. New command: ns_register_auth allows registration of user- and request-level authorization handlers. ns_server New subcommands: authprocs: Lists registered request/user auth procedures. hosts: Lists registered hostnames for the server. logdir: Returns the server log directory. realm: returns or sets the realm of the server serverdir: Returns the base directory for the virtual server (-effective returns the resolved runtime path). vhostenabled: Returns a boolean indicating virtual hosting status. ns_server mapped: New option -all returns a dict with handler and pool info. ns_set Case-insensitive support: New -nocase flag for ns_set create and related operations. Deprecated the i* subcommands (e.g., iget, ifind) in favor of unified interface. Multi-valued key support: -all option retrieves all values for a given key in ns_set and ns_config. New subcommands: format: Pretty-prints the set contents. stats: Returns memory usage statistics. delkey: Now returns a boolean success flag. Internal improvements: Refactored ns_set internals using dense storage for lower memory use and better cache locality. Replaced deeply nested switch logic with modular, maintainable code. ns_thread Unified thread creation: Use ns_thread create for all thread types. Deprecated begin and begindetached to align with ns_cond, ns_mutex, and ns_sema usage. ns_urlspace Wildcard matching now supports path-segment-level matches (previously limited to leaf nodes). Applied improved matching in nscgi to support directory-wide CGI mapping. Renamed option -contextfilter to -constraints in ns_urlspace set/unset to match the new registration API. Database Enhancements ns_db info: Returns a dictionary of metadata for a given DB handle. ns_dbpooldescription: Renamed from the previous ns_pooldescription for consistent naming. ns_db rowcount: Fixed in this release to return actual row counts. New Utilities ns_fseekchars: Efficiently scans a stream for a string (e.g., for multipart/form-data parsing). ns_joinurl: Constructs well-formed URLs from path components. ns_mkdtemp: Creates a unique temporary directory (POSIX-style mkdtemp()). ns_parsehtml: Parses HTML fragments into a structured Tcl dict. ns_parsemessage: Parses MIME-style messages (e.g., emails or HTTP headers). ns_percentencode / ns_percentdecode: Replace deprecated ns_urlencode and ns_urldecode for robust URL-safe encoding/decoding. Changes in Core Modules nscgi New command: ns_register_cgi for dynamic CGI handler registration (supports -noinherit, -path, etc.). Supports unregistration via ns_unregister_op. New environment variables: SCRIPT_FILENAME, REQUEST_URI. Refactored to support major web apps (e.g., WordPress, Joomla). See commit 36027b70215 for implementation details. nscp Integrated with new authorization system (e.g., via nsperm users). New command nscp users: Lists registered users for nscp authentication. nsperm Acts as a pluggable authorization provider for request/user scopes. New config parameter: allowLoopbackEmptyUser—permits unauthenticated loopback access when enabled. Added support for setting default server start pages and nsstats. nsproxy New subcommand: ns_proxy workers—provides detailed runtime info on proxy worker processes. Bug Fixes Stability and Crash Resolutions Addressed multiple potential crash scenarios: Robust handling of HTTP CONNECT requests. Fixed crashes caused by missing or empty argument lists in commands such as ns_filestat, ns_sockcallback, and ns_ictl oncleanup. Prevented crash in ns_log when invoked with an empty message. Resolved a 24-year-old bug in Ns_AdjTime() that could lead to fatal errors due to microsecond overflow in multithreaded environments. Fixed crash in ns_conn copy when operating on empty content. Prevented crash in ns_sema release with invalid semaphore counts. Corrected off-by-one error in ns_adp_bind_args that could access uninitialized Tcl_Obj values. Fixed crash in ns_inet_ntop due to unsafe memory operations with overlapping regions (notably on aarch64 with musl). Resolved crash in Ns_SetIUpdateSz() caused by case mismatch in header keys with the legacy C API. Fixed crash during nscp startup when the users section was not configured. Prevented crash in debug mode when the Host: header could not be mapped to a virtual server and the driver was installed locally. Avoided crash when launching nsd with -c and -t options and no home parameter defined. Fixed crash during computation of ns_conn location when the network driver was not globally installed (global installation now recommended). Fixed crash due to self-destructive header replacement when ns_conn outputheaders are passed via ns_respond ... -headers ... Functional Correctness and Logic Fixes: ns_conn status: Fixed issue where updated status codes were silently ignored. ns_conn doneCallback: Ensured this callback is always invoked in ns_http. nsv_dict get: Fixed a memory leak in value retrieval. ns_conn peeraddr: Resolved race condition in pipelined requests that could yield incorrect peer addresses. ns_cache_eval -force: Fixed race condition that could produce obsolete results. ns_sema create: Corrected handling of initial count values (e.g., 1000). ns_trim: Fixed spacing logic to trim only leading and trailing whitespace, preserving internal spacing. ns_config -int: Corrected fallback behavior when invalid values are supplied, now correctly using documented defaults. ns_sockcallback: Now gracefully handles missing arguments. ns_socknread: Fixed inaccurate results for buffered connections. ns_crypto::aead::encrypt/decrypt: Restored compatibility with OpenSSL 1.1.1. Fixed incorrect parsing of encoded backslashes in URLs. Ns_StrTrimRight(): Corrected UTF-8 handling in right-side string trimming. Fixed ns_conn location when running behind a reverse proxy to always returns a value, even in broken configurations. OpenSSL fixes Added support for detecting and validating OCSP Must-Staple and AIA presence in certificates. Without that, NaviServer might crash, when OCSP is turned on, and NULL values are passed for AIA URLs (letsencrypt) Introduced stable output buffers for send operations to support retries after SSL_ERROR_WANT_WRITE, preventing connection failures under high load. Improved error handling in OpenSSL integration by draining the error stack via DrainErrorStack(). HTTP Client Fixes ns_http: Reordered initialization in NsInitServer() to ensure submodules can access a fully configured server state. HTML and ADP Parsing Fixes ADP Parser: Enhanced support for quoted > characters inside attribute values, aligning with modern HTML parsing rules. return-notice handling: Suppressed spurious error messages when fallback ADP templates are processed outside of a full ADP context. ns_striphtml: Fixed long-standing bug where adjacent HTML entities were incorrectly decoded—only the first entity was processed. Logging and Diagnostics Fixes Fixed misleading log output when dynamically changing extended headers via ns_accesslog extendedheaders .... Improved error messages when port binding fails due to conflicts with driver assignment. Fixed off-by-one error in the virtual server port configuration logic. Clarified or corrected multiple logging messages across modules for better diagnostics. nscgi Module Fixes Fixed file upload failures when uploads were internally spooled by NaviServer — previously returned 500 errors. Corrected processing of CGI script exit codes not 0. Fixed hostname and port reporting for SERVER_NAME. Database Fixes ns_db rowcount: Fixed regression where the row count logic was not invoked, rendering the command a no-op. Build and Compatibility Fixes Suppressed obsolete --enable-threads warning for Tcl versions where thread support is now enabled by default. Fixed compilation failure with glibc 2.38+ due to PTHREAD_STACK_MIN becoming dynamic via sysconf(). General Cleanups Fixed small memory leak triggered by serverrootproc reset. Numerous minor typo corrections, comment clarifications, and small logic cleanups across modules. C-Level Infrastructure, C API Enhancements, and Build System Core Infrastructure Improvements Socket Layer Enhancements: Added sendErrno field to the Sock structure to improve diagnostics and tracking of write errors. Modernized Initialization: Introduced NS_INIT_ONCE() macro for thread-safe one-time initialization, replacing legacy double-lock patterns. Data Structure Utilities: Added utility functions Ns_DListSaveString() and Ns_DListFreeElements() to simplify dynamic list management. Replaced use of legacy Ns_DString functions with standard Tcl_DString, modernizing internal data handling. Debugging Support: Added NsHexPrint() for hex-dumping of byte sequences, aiding in low-level debugging and analysis. Introspection Enhancements: Introduced Ns_TclReturnCodeString() and Ns_ReturnCodeString() to convert internal return codes into readable strings, improving log clarity and diagnostics. Code Quality and Performance: Applied extensive internal refactorings to improve performance, cache locality, and maintainability across multiple subsystems. C API Enhancements General: Added typedefs for Ns_AuthorizeRequestProc, Ns_AuthorizeUserProc,Ns_UrlSpaceMatchInfo, Ns_DriverConnInfoProc Added enum for Ns_RequestType, Ns_UrlSpaceOp, Ns_DriverClientInitArg Added API calls in ns.h: Ns_ConfigFilename, Ns_ConnTarget, Ns_UrlSpaceMatchInfo, Ns_ConnServPtr, Ns_DStringAppendSockState, Ns_RegisterFilter2, Ns_TaskQueueLength, Ns_TaskQueueName, Ns_TaskQueueRequests, Ns_ObjvTablePrint, Ns_InfoLogPath, Ns_LogPath, Ns_ServerLogDir, Ns_ServerRootProcEnabled, Ns_ServerLogGetFd, Ns_ServerLogCloseAll, Ns_ServerLogRollAll, Ns_GetServer, Ns_ServerName, Ns_SockSetSendErrno, Ns_SockGetSendErrno, Ns_SockGetSendRejected, Ns_SockGetSendCount, Ns_SockFlagAdd, Ns_SockFlagClear, Ns_SockSendBufsEx, Ns_SockConnectUnix, Ns_SockGetClientSockAddr, Ns_SockGetConfiguredSockAddr, Ns_SockaddrPublicIpAddress, Ns_SockaddrTrustedReverseProxy, Ns_SockaddrInAny, Ns_SockaddrAddToDictIpProperties, Ns_TclReturnCodeString, Ns_ReturnCodeString, Ns_TclInterpServPtr, Ns_LogDeprecatedParameter, Ns_RegisterFastUrl2File Extended Ns_Request, Ns_TclCallback Refactored Ns_ConnReturnMoved() and Ns_ConnReturnRedirect() to unify redirection logic. Secure Communication and Validation: Added fine-grained certificate validation APIs Improved error stack draining for OpenSSL operations. Extended C API for ns_connchan: Introduced a minimal C-level API for connchan connections, enabling finer control over lower-level network operations. Build Platform Compatibility: Updated Windows build system to use NS_IMPORT in place of deprecated NS_EXTERN. Avoided use of deprecated C functions such as mktemp() to improve portability and security. Build System and Tooling Configuration and Sample Support: Replaced hard-coded OS commands (ls, mv, ...) consistently with build variables Replaced hard-coded OpenSSL binary references with the $(OPENSSL) build variable. Enhanced log path and configuration variable handling to support more dynamic setups. Test Infrastructure: Extended regression and compatibility test coverage to validate edge cases and cross-platform behavior. Build Metadata Introspection: Added support for build-time introspection of environment settings, including allocator type (e.g., malloc), compiler version, and Tcl build info. Optional Deprecation-Free Builds: Introduced build flag NS_NO_DEPRECATED to exclude deprecated functions and APIs, mirroring Tcl’s TCL_NO_DEPRECATED mechanism. CI/CD Modernization: Upgraded GitHub Actions workflows from version 3 to version 4 for improved performance and compatibility. Sample Configuration Files: Improved sample configurations (nsd-config and openacs-config) to use environment-specific settings via ns_configure_variables prefer names http and https instead of nsock and nsssl inside sample configuration files to ease configuration for new users. Documentation Updates Comprehensive Overhaul Conducted a thorough review and restructuring of all documentation: Tcl Command Documentation: Ensured all implemented Tcl commands and their options are fully documented. Removed documentation for obsolete or unimplemented commands. Deprecated commands are no longer advertised in manuals or used in examples. Introduced a dedicated section listing deprecated commands. Enabled automated generation of a complete command reference. Test Alignment: Verified that every implemented Tcl command is covered by regression tests. Ensured that all documented commands are also implemented and tested. Syntax and Formatting Consistency Standardized placeholder syntax across the documentation and syntax error messages (see commit ffbd32774dbfor details). Manual Page Improvements nscgi: Significantly revised documentation and usage examples for clarity and completeness. admin-config.man: Added a new section on “Customizing File Locations”. Added and updated sections covering: Basic templating features. Error handling mechanisms. Recently introduced Tcl commands and options. Visual and Structural Enhancements Updated diagrams and usage examples related to: Request processing flow. Reverse proxy (revproxy) behavior. Additional Improvements Numerous corrections to spelling, grammar, formatting, and internal linking throughout the documentation. Deprecation Management Infrastructure Introduced compiler warnings for usage of deprecated Ns_DString* functions Added log severity level Deprecated to better surface deprecated usage at runtime Documented all deprecated commands in a dedicated section of the command reference Deprecated the use of manual double-checked locking for one-time initialization replaced by the NS_INIT_ONCE() macro for safer and cleaner initialization semantics Deprecations Tcl-Level Command Deprecations Deprecated the following Tcl commands: ns_set print → replaced by ns_set format ns_checkurl and ns_requestauthorize → replaced by ns_auth request ns_thread begin → replaced by ns_thread create ns_thread begindetached → replaced by ns_thread create -detached ns_event → replaced by ns_cond ns_pooldescription → replaced by ns_dbpooldescription keyldel, keylget, keylkeys, keylset (from TclX) → replaced by native dict functionality in Tcl Legacy experimental functions (marked TBD for over 20 years) are now deprecated: ns_browsermatch, ns_choosecharset, ns_cookiecharset, ns_formfieldcharset, ns_formvalueput, ns_paren, ns_tagelement, ns_tagelementset Deprecated non-namespaced functions: getformdata, issmallint ns_parsetime: now officially deprecated (was internally marked "To be removed" for ~15 years) ns_set_precision: deprecated in favor of standard Tcl idioms Tcl-Level Option Deprecations Deprecated options: -buffered in ns_connchan write -donecallback in ns_http → replaced by -done_callback (naming consistency) -binary (previously used to indicate Tcl objects with binary data) → replaced by -data, aligning with conventions where -binary is a boolean flag C-Level API Deprecations Deprecated or removed C functions: Ns_ObjvFlags() → replaced by Ns_ObjvIndex() for option parsing (removed redundancy) Ns_SockSendBufs2() → replaced by Ns_SockSendBufsEx() which returns an additional errorCode Ns_TclInitInterps() → removed (marked as deprecated since 2005) Deprecated internal usage of OpenSSL and Tcl functions that have been marked as deprecated upstream All C functions previously marked as deprecated in source comments are now officially deprecated Configuration Parameter Deprecations Global config parameters: logroll: → replaced by logrollonsignal (standardized log rotation behavior on SIGHUP) serverlog: → replaced by systemlog to reduce ambiguity between system and per-server logs Section parameter changes: serverdir in the fastpath section is now deprecated → use serverdir in the main per-server section instead (reflecting its broader usage scope) Changes in extra Modules letsencrypt Tcl9 compatibility changes nsauthpam Tcl9 compatibility changes License upgrade nscoap Tcl9 compatibility changes NaviServer 5 compatibility License upgrade nsdbbdb Replaced deprecated Ns_DString operations Support for LMDB nsdbi Removed calls to deprecated functions Tcl9 compatibility changes nsdbilite Removed calls to deprecated functions nsdbimy Removed calls to deprecated functions nsdbipg Removed calls to deprecated functions nsdbmysql Removed calls to deprecated functions nsdbpg Tcl9 compatibility changes NaviServer 5 compatibility Removed calls to deprecated functions License upgrade nsdbsqlite Fixed execution of DML queries. Removed calls to deprecated functions Pulled in new upstream version (3.47.2) of qlite3.c nsdns Removed calls to deprecated functions Code cleanup nsldap Added support for LDAP URIs in pool configuration Removed calls to deprecated functions Removed unneeded compile macro Fixed result setting of "connected" subcommand Refactor nsldap Tcl command into modular subcommands Tcl9 compatibility changes Updated documentation nsloopctl Tcl9 compatibility changes Minor code cleanup nsmemcache Removed calls to deprecated functions nsoracle Added experimental boolean configuration parameter convertEncoding: When this Boolean parameter is true, the connection is created with OCIEnvNlsCreate() instead of OCIEnvCreate(). OCIEnvNlsCreate was introduced with Oracle9 and is an enhanced version of OCIEnvCreate() which is used by default (legacy setting) or when ConvertEncoding is not true. This parameter performs on-the-fly conversions when connecting to a Latin1 encoded database. Removed calls to deprecated functions Modernized configuration (range checks) and use Ns_ReturnCode when appropriate Tcl9 compatibility changes nsphp Removed calls to deprecated functions nsshell Updated command list for command completion for NaviServer 5 Updated most JavaScript libraries nssmtpd Simplified configuration (provided defaults were possible) Added support for providing mail server password via userinfo in relayhost Fixed multi-line response parsing Tcl9 compatibility changes NaviServer 5 compatibility Removed calls to deprecated functions Updated documentation License upgrade nssnmp Removed calls to deprecated functions nsstats More detailed reports: added list of loaded modules per server added list of all registered domain names for a driver added server log dir to per-server information Refactored web UI (adjusted layout for NaviServer 4.99 and 5) Added support for dark mode Added support for nsperm module, when installed Made parsing of http client log file more robust License upgrade nssyslogd Removed calls to deprecated functions NaviServer 5 compatibility nstk Tcl9 compatibility changes nsudp Tcl9 compatibility changes NaviServer 5 compatibility License upgrade nswebpush Tcl9 compatibility changes Updated code for newer and more picky web servers Fixed code for aes128gcm revproxy moved code to main repository websocket NaviServer 5 compatibility Avoid deprecated messages for ns_conn write -buffered Improved documentation More detailed timeout handling |
From: Schelte B. <tc...@tc...> - 2025-07-08 20:50:40
|
On 08/07/2025 22:37, Paul Obermeier wrote: > Several tests failed, see https://core.tcl-lang.org/tcltls/ > tktview/82560343da for details. I added the "b" capability for user anonymous. You should now be able to add attachments to the ticket. Schelte. |
From: Paul O. <pa...@po...> - 2025-07-08 20:37:49
|
Am 08.07.2025 um 00:23 schrieb Brian O’Hagan via Tcl-Core: > >> On Jul 7, 2025, at 9:53 AM, Harald Oehlmann<har...@el...> wrote: >> >> Thanks to Don& team to release Tcl/Tk 9.0.2 and all bundled packages! >> >> May I ask for the status of the TCLTLS package? >> Brian OHagan has made a great effort to implement many great features. >> I remember, that there was a "release warning" with a lot of questions? >> Can we expect a release? >> Is it compatible to 9.0.2? >> >> Paul reported, that TCLTLS 2 did not compile for him. >> There are two recent sensitive tickets present. >> >> Thanks for any comments, >> Harald >> >> >> _______________________________________________ >> Tcl-Core mailing list >> Tcl...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-core >> <OpenPGP_signature.asc> > I’m tied up with another project and won’t get back to TclTLS until later this month or early next month. I’ve seen the bug reports and will work on those, but if there is a TCL I/O expert who wants to offer any suggestions, please do. Also, I’m only aware of one person with compile issues on the newsgroup. If there is anyone else, please chime in. > I gave it a new try on Windows using gcc 14.2 and OpenSSL 3.5.1 and now succeeded in building. Several tests failed, see https://core.tcl-lang.org/tcltls/tktview/82560343da for details. Regards, Paul |
From: Jan N. <jan...@gm...> - 2025-07-08 13:59:37
|
The upstream SQLite project released 3.50.2 of SQLite recently >From that, I derived the TEA-based Tcl package we layer on top of it. http://cyqlite.sourceforge.net/cgi-bin/sqlite/timeline That's now available as Tcl package sqlite3.50.2.tar.gz from https://sourceforge.net/projects/tcl/files/Tcl/8.6.16/ or https://sourceforge.net/projects/tcl/files/Tcl/9.0.2/ Unpack that source distribution in the "pkgs" subdir of your Tcl 8.6.x or 9.0.x source code distribution and run `make install` again for your platform. That will build and install the updated sqlite package. Unless another SQLite release happens first, this package will be bundled with Tcl 8.6.17 / Tcl 9.0.3 / Tcl 9.1a0 Regards, Jan Nijtmans |
From: Donald P. <d.g...@co...> - 2025-07-08 10:55:31
|
… or whatever you call being featured on a YouTube channel with ~7K viewers. https://www.youtube.com/watch?v=PYh6D1NhatY The Most MISUNDERSTOOD Programming Language youtube.com I haven’t watched it yet. FWIW. YMMV. DGP |
From: Harald O. <har...@el...> - 2025-07-08 07:04:17
|
Am 08.07.2025 um 00:23 schrieb Brian O’Hagan: > > >> On Jul 7, 2025, at 9:53 AM, Harald Oehlmann <har...@el...> wrote: >> >> Thanks to Don& team to release Tcl/Tk 9.0.2 and all bundled packages! >> >> May I ask for the status of the TCLTLS package? >> Brian OHagan has made a great effort to implement many great features. >> I remember, that there was a "release warning" with a lot of questions? >> Can we expect a release? >> Is it compatible to 9.0.2? >> >> Paul reported, that TCLTLS 2 did not compile for him. >> There are two recent sensitive tickets present. >> >> Thanks for any comments, >> Harald > I’m tied up with another project and won’t get back to TclTLS until later this month or early next month. I’ve seen the bug reports and will work on those, but if there is a TCL I/O expert who wants to offer any suggestions, please do. Also, I’m only aware of one person with compile issues on the newsgroup. If there is anyone else, please chime in. Thanks, Brian, great, I appreciate. I will include this information into the Bologna TCL presentation. Thanks for all, Harald |
From: <apn...@ya...> - 2025-07-08 05:56:17
|
Harald, Thanks for the comments. Yes, agree the TIP needs to be restructured. Its current form was meant primarily for discussion purposes. I'll rearrange accordingly. All, the utf8proc library is covered under multiple "MIT" licenses. See https://github.com/JuliaStrings/utf8proc/blob/master/LICENSE.md The Unicode data license is something Tcl is already subject to as the currently used encoding tables are derived from there. So with respect to TIP 705, I presume no separate TIP is needed to permit code licensed under those terms to be added to the repository. If anyone disagrees, please speak up now. /Ashok -----Original Message----- From: Harald Oehlmann <har...@el...> Sent: Monday, July 7, 2025 7:25 PM To: tcl...@li... Subject: Re: [TCLCORE] TIP 726 - looking for comments Hi Ashok, great work. This is long time awaited feature, very helpful. For me, this all sounds reasonable. I am ok with the "unicode" ensemble and the mode names. It may be added, that those names are also used in other programming languages. Also, the reasoning for the library choice looks good. It is great to ship the source with TCL to be build together. On the TIP organization, I would prefer a clear and short specification at the top (e.g. command, c-api, libraqry choice) and to move all alternatives in an own section at the bottom. I am also the opinion, that the used library may vary due to its availability, even over platforms or use-cases. For me, the command syntax is the main point of the TIP. Thanks for all, GREAT ! Harald Am 06.07.2025 um 10:09 schrieb apnmbx-public--- via Tcl-Core: > I am looking for preliminary comments on TIP 726 ( <https://core.tcl-> https://core.tcl- > lang.org/tips/doc/trunk/tip/726.md <https://core.tcl-lang.org/tips/doc/ > trunk/tip/726.md>) – commands for Unicode normalization. > > In order to avoid wasted effort in re-implementation I’d appreciate > early comments on the choice of libraries in particular. For reasons > stated in the TIP, the plan is to implement normalization using the > utf8proc library from Julia. > > Also, comments on various choices presented for command naming and > placement are preferred sooner than later. > > /Ashok > > > > _______________________________________________ > Tcl-Core mailing list > <mailto:Tcl...@li...> Tcl...@li... > <https://lists.sourceforge.net/lists/listinfo/tcl-core> https://lists.sourceforge.net/lists/listinfo/tcl-core -- ELMICRON Dr. Harald Oehlmann GmbH Koesener Str. 85 06618 NAUMBURG - Germany Phone: +49 3445 781120 Direct: +49 3445 781127 <http://www.Elmicron.de> www.Elmicron.de German legal references: Geschaeftsfuehrer: Dr. Harald Oehlmann UST Nr. / VAT ID No.: DE206105272 HRB 212803 Stendal |
From: Brian O’H. <bri...@co...> - 2025-07-07 22:23:56
|
> On Jul 7, 2025, at 9:53 AM, Harald Oehlmann <har...@el...> wrote: > > Thanks to Don& team to release Tcl/Tk 9.0.2 and all bundled packages! > > May I ask for the status of the TCLTLS package? > Brian OHagan has made a great effort to implement many great features. > I remember, that there was a "release warning" with a lot of questions? > Can we expect a release? > Is it compatible to 9.0.2? > > Paul reported, that TCLTLS 2 did not compile for him. > There are two recent sensitive tickets present. > > Thanks for any comments, > Harald > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core > <OpenPGP_signature.asc> I’m tied up with another project and won’t get back to TclTLS until later this month or early next month. I’ve seen the bug reports and will work on those, but if there is a TCL I/O expert who wants to offer any suggestions, please do. Also, I’m only aware of one person with compile issues on the newsgroup. If there is anyone else, please chime in. |
From: Harald O. <har...@el...> - 2025-07-07 14:52:02
|
Thanks to Don& team to release Tcl/Tk 9.0.2 and all bundled packages! May I ask for the status of the TCLTLS package? Brian OHagan has made a great effort to implement many great features. I remember, that there was a "release warning" with a lot of questions? Can we expect a release? Is it compatible to 9.0.2? Paul reported, that TCLTLS 2 did not compile for him. There are two recent sensitive tickets present. Thanks for any comments, Harald |
From: Harald O. <har...@el...> - 2025-07-07 13:55:40
|
Hi Ashok, great work. This is long time awaited feature, very helpful. For me, this all sounds reasonable. I am ok with the "unicode" ensemble and the mode names. It may be added, that those names are also used in other programming languages. Also, the reasoning for the library choice looks good. It is great to ship the source with TCL to be build together. On the TIP organization, I would prefer a clear and short specification at the top (e.g. command, c-api, libraqry choice) and to move all alternatives in an own section at the bottom. I am also the opinion, that the used library may vary due to its availability, even over platforms or use-cases. For me, the command syntax is the main point of the TIP. Thanks for all, GREAT ! Harald Am 06.07.2025 um 10:09 schrieb apnmbx-public--- via Tcl-Core: > I am looking for preliminary comments on TIP 726 (https://core.tcl- > lang.org/tips/doc/trunk/tip/726.md <https://core.tcl-lang.org/tips/doc/ > trunk/tip/726.md>) – commands for Unicode normalization. > > In order to avoid wasted effort in re-implementation I’d appreciate > early comments on the choice of libraries in particular. For reasons > stated in the TIP, the plan is to implement normalization using the > utf8proc library from Julia. > > Also, comments on various choices presented for command naming and > placement are preferred sooner than later. > > /Ashok > > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core -- 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: <apn...@ya...> - 2025-07-06 08:09:45
|
I am looking for preliminary comments on TIP 726 (https://core.tcl-lang.org/tips/doc/trunk/tip/726.md) - commands for Unicode normalization. In order to avoid wasted effort in re-implementation I'd appreciate early comments on the choice of libraries in particular. For reasons stated in the TIP, the plan is to implement normalization using the utf8proc library from Julia. Also, comments on various choices presented for command naming and placement are preferred sooner than later. /Ashok |
From: <apn...@ya...> - 2025-07-05 13:38:14
|
TIP 649 has been accepted and merged into trunk. Vote-Summary: Accepted 9/0/0 Votes-For: AK, AN, BG, DF, HO, MC, RA, RM, SL Votes-Against: none Thanks all, /Ashok From: apnmbx-public--- via Tcl-Core <tcl...@li...> Sent: Wednesday, June 25, 2025 6:57 AM To: tcl...@li... Subject: [TCLCORE] TIP #649: Call for Votes This is a CFV for TIP #649: Expose additional list functionality in the C API Voting period ends 12PM UTC July 5th. /Ashok |
From: Rolf A. <tcl...@po...> - 2025-07-04 11:12:41
|
apnmbx-public--- via Tcl-Core writes: > This is a CFV for TIP #649: Expose additional list functionality in the C > API TIP #649: yes rolf |
From: Reinhard M. <rei...@m4...> - 2025-07-03 08:41:34
|
Am 25.06.2025 03:27, schrieb apnmbx-public--- via Tcl-Core: > This is a CFV for TIP #649: Expose additional list functionality in the > C > API TIP #649: YES Reinhard |
From: Donal F. <don...@ma...> - 2025-07-03 06:51:42
|
From: Andreas Kupries <and...@gm...> > > This is a CFV for TIP #649: > > Expose additional list functionality in the C API > > TIP #649: YES Me also. TIP 649: YES Donal. |