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
(76) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Dipl. I. S. G. B. <se...@us...> - 2025-02-10 19:47:22
|
Is such panic really needed? Just wondering, because never saw it before for such functions in TCL-API... I mean a branch (conditional jump) to check an obscure case that never happens? Wouldn't an assert be enough? Regards, Serg. 07.02.2025 14:39, Jan Nijtmans wrote: > I now changed the implementation such that the function panic's when objPtr = NULL. > > Any more remarks? > > Regards, > Jan Nijtmans > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core [1] Links: ------ [1] https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Poor Y. <org...@po...> - 2025-02-10 19:40:25
|
On 2025-02-10 21:30, Jan Nijtmans wrote: > Op ma 10 feb 2025 om 19:54 schreef Rolf Ade <tcl...@po...>: > >> It is a bit unfortunate that the TIP 711 text does not reflect the >> state >> of the implementation after the discussions last week. >> > > Indeed, that was unintentional: I thought I already edited the TIP too. > > Should be fixed now. > > Thanks! > Jan Nijtmans > BTW, Tcl_IsEmpty exposes a function that I originally implemented in Tcl a couple of years ago, and developed further since then. -- Yorick |
From: Jan N. <jan...@gm...> - 2025-02-10 19:31:20
|
Op ma 10 feb 2025 om 19:54 schreef Rolf Ade <tcl...@po...>: > It is a bit unfortunate that the TIP 711 text does not reflect the state > of the implementation after the discussions last week. > Indeed, that was unintentional: I thought I already edited the TIP too. Should be fixed now. Thanks! Jan Nijtmans |
From: Rolf A. <tcl...@po...> - 2025-02-10 18:54:04
|
Jan Nijtmans writes: > Hi all, > > This is a CFV for TIP 711. Let's have the vote in by > noon 2025/02/21 UTC [clock format 1740139200] It is a bit unfortunate that the TIP 711 text does not reflect the state of the implementation after the discussions last week. The TIP text still say the result of the new function will be three-state (which I dislike as others that raised voice). The implementation was changed by you to 0/1 (and panic in case of NULL instead of Tcl_Obj), which I think is much better. (And btw the comment about the implementation also still describes your orignal three-state behaviour, so it also doesn't match the implementation. I would have loved to hear your option on Ashoks suggestion: > Any comments on the suggestion to implement Tcl_IsEmpty via a > "isEmpty" method to Tcl_ObjType? The motive is the same as in the TIP > - avoid string generation - except it would help types defined in > extensions and not just Tcl core types. Your CFV is an answer but it doesn't spell out your reasoning why not or why not now. rolf |
From: Jan N. <jan...@gm...> - 2025-02-10 17:38:19
|
Hi all, This is a CFV for TIP 711. Let's have the vote in by noon 2025/02/21 UTC [clock format 1740139200] My vote: TP #711: YES. Thanks, Jan Nijtmans |
From: Steve L. <st...@di...> - 2025-02-10 10:36:08
|
A reminder that the next meetup will be held Tuesday February 11 2025 at [clock format 1739300400] Tuesday 11am US West, 1pm US Central, 2pm US East, 7pm UTC, 7pm UK, 8pm Western Europe, Wednesday 12:30am India, 3am Australia West / Singapore / China, 4am Japan, 6am Australia East, 8am New Zealand. Details (including how to connect) are available via https://wiki.tcl-lang.org/page/Monthly+Virtual+Meetup -- Steve |
From: Schelte B. <tc...@tc...> - 2025-02-10 10:09:06
|
During the last Tk telco Andreas revealed that the fx service <https://core.tcl-lang.org/akupries/fx> runs on the core server. This was set up before fossil had the ability to send emails. The service sends out emails for ticket updates to involved parties, if they provided their email address. The mails are relayed through a server that Reinhard is kind enough to host. The fx service also takes care of mirroring to github. With much help from Roy it is now possible to send emails from within the various fossil repositories on the core server, if configured. However, I get the impression that daily digest mails won't yet work on some repositories, with Tcl being the most notable example. It does work for Tk. The remaining questions in my mind are now: * For which repositories should self registration be activated? As Donal indicated, there may be reasons not to allow this on some repositories. o Should email verification for self-registration be activated? o Which privileges should be given to a user who self-registered? * How can users request an upgrade of their privileges? o Would it be useful to request a new fossil feature that introduces a privilege setting for contacting administrators? * Is it useful to have both fx and fossil sending out emails? It is not apparent to me if fossil will send out emails for ticket updates to the involved parties if they didn't sign up to be notified for all ticket changes. I suppose the fx service will still be needed for mirroring to github. o Should fx be changed to send out emails directly from the core server now that that's possible, rather than relaying them through an external server? This would reduce the potential points of failure. Schelte. |
From: <apn...@ya...> - 2025-02-10 05:11:10
|
Marc, In fact one of the motivations was all the editing needed starting from the sample extension. The template asks for the package name and then generates configure.ac et al, nmake, test stubs, the init function etc. with appropriate names. The generated files should not need any renaming of files or deletion of code except for a build-config implementation that is recommended for every extension (TIP 599) that can be deleted if not desired. Francois, sampleextension is intended as a tutorial to some extent. The template generator is not (by intent, see above). There are some secondary reasons. I do not agree with how Tcl_InitStubs is called in sampleextension, I prefer pkgIndex to allow for loading from platform-specific directories etc. Not significant enough to enter into a debate in changing sampleextension. /Ashok From: Marc Culler <cul...@gm...> Sent: Sunday, February 9, 2025 11:30 PM To: Francois Vogel <fvo...@fr...> Cc: apn...@ya...; tcl...@li... Subject: Re: [TCLCORE] Three small tools for Tcl extension writers One thing that I found when using the sample extension as a starting point is that there is a lot of code that needs to be removed and replaced. And that editing is a non-trivial job. Hopefully the template does not require a lot of editing. - Marc On Sun, Feb 9, 2025 at 11:11 AM Francois Vogel <fvo...@fr... <mailto:fvo...@fr...> > wrote: Hello Ashok, Looks interesting! How does this compare to sampleextension? (I mean: further than the additionally provided workflows)? Couldn't/shouldn't these two be merged into a single thing? Thanks, Francois Le 07/02/2025 à 18:19, apnmbx-public--- via Tcl-Core a écrit : Announcing some potentially useful tools for extension writers. tcl-extension-template Generate a skeleton of a Tcl extension, including directory structure, autoconf and nmake based files, init function and header, build-config command, and Github action workflows. Docs: https://github.com/apnadkarni/tcl-extension-template/blob/main/README.md Download: https://github.com/apnadkarni/tcl-extension-template/releases The workflows in the above template can be used independently as well and make use of the following Github actions which may also be used independently. tcl-setup Github action to set up a TEA environment for building against a specific Tcl release or commit tag. Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md tcl-build-extension Github action to build a Tcl extension. Docs: https://github.com/apnadkarni/tcl-build-extension/blob/main/README.md /Ashok _______________________________________________ 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: Marc C. <cul...@gm...> - 2025-02-09 18:00:43
|
One thing that I found when using the sample extension as a starting point is that there is a lot of code that needs to be removed and replaced. And that editing is a non-trivial job. Hopefully the template does not require a lot of editing. - Marc On Sun, Feb 9, 2025 at 11:11 AM Francois Vogel <fvo...@fr...> wrote: > Hello Ashok, > > Looks interesting! How does this compare to sampleextension? (I mean: > further than the additionally provided workflows)? > > Couldn't/shouldn't these two be merged into a single thing? > > Thanks, > > Francois > Le 07/02/2025 à 18:19, apnmbx-public--- via Tcl-Core a écrit : > > Announcing some potentially useful tools for extension writers. > > > > *tcl-extension-template* > > > > Generate a skeleton of a Tcl extension, including directory structure, > autoconf and nmake based files, init function and header, build-config > command, and Github action workflows. > > > > Docs: > https://github.com/apnadkarni/tcl-extension-template/blob/main/README.md > > Download: https://github.com/apnadkarni/tcl-extension-template/releases > > > > The workflows in the above template can be used independently as well and > make use of the following Github actions which may also be used > independently. > > > > *tcl-setup* > > > > Github action to set up a TEA environment for building against a specific > Tcl release or commit tag. > > Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md > > > > *tcl-build-extension* > > > > Github action to build a Tcl extension. > > Docs: > https://github.com/apnadkarni/tcl-build-extension/blob/main/README.md > > > > /Ashok > > > > > > > _______________________________________________ > Tcl-Core mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tcl-core > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core > |
From: Francois V. <fvo...@fr...> - 2025-02-09 17:11:02
|
Hello Ashok, Looks interesting! How does this compare to sampleextension? (I mean: further than the additionally provided workflows)? Couldn't/shouldn't these two be merged into a single thing? Thanks, Francois Le 07/02/2025 à 18:19, apnmbx-public--- via Tcl-Core a écrit : > > Announcing some potentially useful tools for extension writers. > > *tcl-extension-template* > > Generate a skeleton of a Tcl extension, including directory structure, > autoconf and nmake based files, init function and header, build-config > command, and Github action workflows. > > Docs: > https://github.com/apnadkarni/tcl-extension-template/blob/main/README.md > > Download: https://github.com/apnadkarni/tcl-extension-template/releases > > The workflows in the above template can be used independently as well > and make use of the following Github actions which may also be used > independently. > > *tcl-setup* > > Github action to set up a TEA environment for building against a > specific Tcl release or commit tag. > > Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md > > *tcl-build-extension* > > Github action to build a Tcl extension. > > Docs: > https://github.com/apnadkarni/tcl-build-extension/blob/main/README.md > > /Ashok > > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: B H. <bra...@gm...> - 2025-02-09 00:14:49
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On Feb 8, 2025, at 05:43, Dipl. Ing. Sergey G. Brester <se...@us...> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"> <p>Normally <span style="color: #444444; font-family: 'Source Code Pro', Menlo, Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', 'Deja Vu Sans Mono', 'Letter Gothic', 'Letter Gothic Std', 'Prestige Elite Std', Courier, 'Courier New', monospace; font-size: 14.9333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">cmdPtr->clientData</span> is paired with <span style="color: #444444; font-family: 'Source Code Pro', Menlo, Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', 'Deja Vu Sans Mono', 'Letter Gothic', 'Letter Gothic Std', 'Prestige Elite Std', Courier, 'Courier New', monospace; font-size: 14.9333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">cmdPtr->proc</span>, what previously (in 8.x) was TclInvokeObjectCommand, and yes, it expected the pointer to command to be invoked in that case.<br>In case of 9.0, there is simply no (Tcl)InvokeObjectCommand anymore (was removed there) and <span style="color: #444444; font-family: 'Source Code Pro', Menlo, Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', 'Deja Vu Sans Mono', 'Letter Gothic', 'Letter Gothic Std', 'Prestige Elite Std', Courier, 'Courier New', monospace; font-size: 14.9333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">cmdPtr->proc</span> will be never executed in favor of <span style="color: #444444; font-family: 'Source Code Pro', Menlo, Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', 'Deja Vu Sans Mono', 'Letter Gothic', 'Letter Gothic Std', 'Prestige Elite Std', Courier, 'Courier New', monospace; font-size: 14.9333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">cmdPtr->objProc</span>, excepting InvokeStringCommand, which is intended for that purposes.<br> Probably the reset was forgotten in <a href="https://core.tcl-lang.org/tcl/info/5a28eecf3519c645">[5a28eecf3519c645]</a>.</p></div></blockquote><div><br></div><div>Ahh, ok. I was scanning 9 code, then going back to see where it started (the beginning of our repo), but didn’t follow through tracing its usage in 7/8 before I sent my question. Glad I did, I appreciate the explanation and “fix”.</div><div><br></div><div>I ran into my question doing some work where I accidentally de-referenced clientData instead of objClientData, and it didn’t fault, but also didn’t do what I expected (obviously); it took some time before I realized it wasn’t a logic error or deep misunderstanding, but that I was referencing the wrong memory, saw the source of that, and put in NULLs appropriately and it worked, but I was worried about some Chesterson Fence.</div><div><br></div><div>Thanks Serg,</div><div><br></div><div>-bch</div><br><blockquote type="cite"><div dir="ltr"> <p>I "fixed" in now (see <a href="https://core.tcl-lang.org/tcl/info/e4f09c520653309c">[e4f09c520653309c]</a>), thanks for reporting, Brad.</p> <p>Regards,<br>Serg.</p> <p>07.02.2025 21:56, B Harder wrote:</p> <blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px"><!-- html ignored --><!-- head ignored --><!-- meta ignored --> <div> </div> <div>Can anybody explain why the "extra" clientData fields for any command seem to be filled w the Tcl_Command address rather than being NULL?</div> <div> </div> <div>ref: <a href="https://core.tcl-lang.org/tcl/file?name=generic/tclBasic.c&ci=tip&ln=2949">https://core.tcl-lang.org/tcl/file?name=generic/tclBasic.c&ci=tip&ln=2949</a></div> <div> </div> <div>cheers,</div> <div>-bch</div> <!-- html ignored --><br> <pre>_______________________________________________ Tcl-Core mailing list <a href="mailto:Tcl...@li...">Tcl...@li...</a> <a href="https://lists.sourceforge.net/lists/listinfo/tcl-core">https://lists.sourceforge.net/lists/listinfo/tcl-core</a> </pre> </blockquote> </div></blockquote></body></html> |
From: Dipl. I. S. G. B. <se...@us...> - 2025-02-08 13:44:08
|
Normally cmdPtr->clientData is paired with cmdPtr->proc, what previously (in 8.x) was TclInvokeObjectCommand, and yes, it expected the pointer to command to be invoked in that case. In case of 9.0, there is simply no (Tcl)InvokeObjectCommand anymore (was removed there) and cmdPtr->proc will be never executed in favor of cmdPtr->objProc, excepting InvokeStringCommand, which is intended for that purposes. Probably the reset was forgotten in [5a28eecf3519c645] [3]. I "fixed" in now (see [e4f09c520653309c] [4]), thanks for reporting, Brad. Regards, Serg. 07.02.2025 21:56, B Harder wrote: > Can anybody explain why the "extra" clientData fields for any command seem to be filled w the Tcl_Command address rather than being NULL? > > ref: https://core.tcl-lang.org/tcl/file?name=generic/tclBasic.c&ci=tip&ln=2949 [2] > > cheers, > -bch > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core [1] Links: ------ [1] https://lists.sourceforge.net/lists/listinfo/tcl-core [2] https://core.tcl-lang.org/tcl/file?name=generic/tclBasic.c&ci=tip&ln=2949 [3] https://core.tcl-lang.org/tcl/info/5a28eecf3519c645 [4] https://core.tcl-lang.org/tcl/info/e4f09c520653309c |
From: Brian G. <bri...@ea...> - 2025-02-08 04:10:50
|
> On Feb 7, 2025, at 19:02, apnmbx-public--- via Tcl-Core <tcl...@li...> wrote: > > >> >> From: Jan Nijtmans <jan...@gm...> >> Indeed! Implementation is fixed now, and some testcases added. Thanks! > > Thanks. I didn't see a test case for " " though it appears to work fine. Might be a good idea to add that as it was the original failure mode. > >> I now changed the implementation such that the function panic's when objPtr = NULL. > > +1 > >> Any more remarks? > > Any comments on the suggestion to implement Tcl_IsEmpty via a "isEmpty" method to Tcl_ObjType? The motive is the same as in the TIP - avoid string generation - except it would help types defined in extensions and not just Tcl core types. For example, my tarray extension is intended to internally store large structures (not necessarily lists). It would be nice if comparisons to "" did not generate a string of a few megabytes. Any views on that? (Not that this is a knock against the TIP as it stands) This sounds like a good optimization. I’ve also been thinking of adding methods to handle scalar values to avoid shimmering alternative representations of things like doubles, to be called by Tcl_GetDoubleFromObj for example. Right now it’s just a concept in my mind. I’ll probably try something out in the coming weeks. -Brian > > /Ashok > > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core > |
From: <apn...@ya...> - 2025-02-08 03:06:05
|
I think this is not the only page with this problem. If memory serves, Torsten had highlighted this issue as something to be addressed as part of TIP 700 work (or thereafter). /Ashok From: Karl Koehler via Tcl-Core <tcl...@li...> Sent: Friday, February 7, 2025 12:15 AM To: tcl...@li... Subject: [TCLCORE] TCL manual pages - how are they reviewed ? Hi, I was looking up something for TCL 9.0, I am experiencing differences in the 'clock' command between TCL 9.0 and TCL 8.6 and was wondering if that's just me ? So I went to the authoritative website: https://www.tcl-lang.org/man/tcl9.0/TclCmd/clock.html Note ! The URL specifies this is for TCL 9.0 ! But in the text: SYNOPSIS package require Tcl 8.5- clock add timeVal ?count unit...? ?-option value? This indicates that the documentation has not been reviewed since TCL 8.5 . Is this even the right list for this kind of gripes ( I didn't seem to see anything that fits better ) ? Thanks, - Karl |
From: <apn...@ya...> - 2025-02-08 03:01:59
|
>From: Jan Nijtmans <jan...@gm...> >Indeed! Implementation is fixed now, and some testcases added. Thanks! Thanks. I didn't see a test case for " " though it appears to work fine. Might be a good idea to add that as it was the original failure mode. >I now changed the implementation such that the function panic's when objPtr = NULL. +1 >Any more remarks? Any comments on the suggestion to implement Tcl_IsEmpty via a "isEmpty" method to Tcl_ObjType? The motive is the same as in the TIP - avoid string generation - except it would help types defined in extensions and not just Tcl core types. For example, my tarray extension is intended to internally store large structures (not necessarily lists). It would be nice if comparisons to "" did not generate a string of a few megabytes. Any views on that? (Not that this is a knock against the TIP as it stands) /Ashok |
From: <apn...@ya...> - 2025-02-08 02:50:58
|
Harald, Rather than cloning the repository, you are better off downloading the release archive. Cloning the repository and using that as your extension repository will make your extension repository a fork of the template repository which is probably not what you want. /Ashok -----Original Message----- From: Harald Oehlmann <har...@el...> Sent: Friday, February 7, 2025 11:02 PM To: tcl...@li... Subject: Re: [TCLCORE] Three small tools for Tcl extension writers Great work, Ashok. Sounds like a time warp in future. May I - clone the repository and create the (new) sample extension from it? Thanks again, Harald Am 07.02.2025 um 18:19 schrieb apnmbx-public--- via Tcl-Core: > Announcing some potentially useful tools for extension writers. > > *tcl-extension-template* > > Generate a skeleton of a Tcl extension, including directory structure, > autoconf and nmake based files, init function and header, build-config > command, and Github action workflows. > > Docs: https://github.com/apnadkarni/tcl-extension-template/blob/main/ > README.md <https://github.com/apnadkarni/tcl-extension-template/blob/ > main/README.md> > > Download: https://github.com/apnadkarni/tcl-extension-template/releases > <https://github.com/apnadkarni/tcl-extension-template/releases> > > The workflows in the above template can be used independently as well > and make use of the following Github actions which may also be used > independently. > > *tcl-setup* > > Github action to set up a TEA environment for building against a > specific Tcl release or commit tag. > > Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md > <https://github.com/apnadkarni/tcl-setup/blob/main/README.md> > > *tcl-build-extension* > > Github action to build a Tcl extension. > > Docs: https://github.com/apnadkarni/tcl-build-extension/blob/main/ > README.md <https://github.com/apnadkarni/tcl-build-extension/blob/main/ > README.md> > > /Ashok |
From: B H. <bra...@gm...> - 2025-02-07 20:56:29
|
Can anybody explain why the "extra" clientData fields for any command seem to be filled w the Tcl_Command address rather than being NULL? ref: https://core.tcl-lang.org/tcl/file?name=generic/tclBasic.c&ci=tip&ln=2949 cheers, -bch |
From: Harald O. <har...@el...> - 2025-02-07 17:32:14
|
Great work, Ashok. Sounds like a time warp in future. May I - clone the repository and create the (new) sample extension from it? Thanks again, Harald Am 07.02.2025 um 18:19 schrieb apnmbx-public--- via Tcl-Core: > Announcing some potentially useful tools for extension writers. > > *tcl-extension-template* > > Generate a skeleton of a Tcl extension, including directory structure, > autoconf and nmake based files, init function and header, build-config > command, and Github action workflows. > > Docs: https://github.com/apnadkarni/tcl-extension-template/blob/main/ > README.md <https://github.com/apnadkarni/tcl-extension-template/blob/ > main/README.md> > > Download: https://github.com/apnadkarni/tcl-extension-template/releases > <https://github.com/apnadkarni/tcl-extension-template/releases> > > The workflows in the above template can be used independently as well > and make use of the following Github actions which may also be used > independently. > > *tcl-setup* > > Github action to set up a TEA environment for building against a > specific Tcl release or commit tag. > > Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md > <https://github.com/apnadkarni/tcl-setup/blob/main/README.md> > > *tcl-build-extension* > > Github action to build a Tcl extension. > > Docs: https://github.com/apnadkarni/tcl-build-extension/blob/main/ > README.md <https://github.com/apnadkarni/tcl-build-extension/blob/main/ > README.md> > > /Ashok |
From: <apn...@ya...> - 2025-02-07 17:19:36
|
Announcing some potentially useful tools for extension writers. tcl-extension-template Generate a skeleton of a Tcl extension, including directory structure, autoconf and nmake based files, init function and header, build-config command, and Github action workflows. Docs: https://github.com/apnadkarni/tcl-extension-template/blob/main/README.md Download: https://github.com/apnadkarni/tcl-extension-template/releases The workflows in the above template can be used independently as well and make use of the following Github actions which may also be used independently. tcl-setup Github action to set up a TEA environment for building against a specific Tcl release or commit tag. Docs: https://github.com/apnadkarni/tcl-setup/blob/main/README.md tcl-build-extension Github action to build a Tcl extension. Docs: https://github.com/apnadkarni/tcl-build-extension/blob/main/README.md /Ashok |
From: Jan N. <jan...@gm...> - 2025-02-07 13:39:47
|
Op do 6 feb 2025 om 19:04 schreef Ashok: > First, reviewing the implementation, I think it is broken in how it tests > for lengths of lists and dictionaries, in particular the case where > objPtr->bytes is a sequence of spaces that has been shimmered to a dict or > list. > Indeed! Implementation is fixed now, and some testcases added. Thanks! > I do not think it is good practice to have functions named as booleans > (IsXXX) to return tristate values. > I now changed the implementation such that the function panic's when objPtr = NULL. Any more remarks? Regards, Jan Nijtmans |
From: Dipl. I. S. G. B. <se...@us...> - 2025-02-07 09:51:08
|
It's not entirely true - clock command got several changes at user level, see the TIPs 688 [1] and 690 [2]. Regarding the documentation: it also got a lot of changes (clock format now, -validate option etc), see: fossil diff --from core-8-6-branch --to main doc/clock.n (no idea whether or how it is possible via fossil-UI). Regards, Serg. 07.02.2025 00:41, Brian Griffin wrote: > The clock command hasn't changed from a usage perspective, hence the 8.5- specification. > > -Brian Links: ------ [1] https://core.tcl-lang.org/tips/doc/trunk/tip/688.md [2] https://core.tcl-lang.org/tips/doc/trunk/tip/690.md |
From: Brian G. <bri...@ea...> - 2025-02-06 23:56:58
|
The value "8.5-" indicates that the code herein will work with any version >= 8.5 If a package/code is compatible without any changes, then this technique can be used instead of having to release a new version simply to change the package require statement. The clock command hasn't changed from a usage perspective, hence the 8.5- specification. -Brian On Feb 6, 2025, at 10:44, Karl Koehler via Tcl-Core <tcl...@li...> wrote: Hi, I was looking up something for TCL 9.0, I am experiencing differences in the ‘clock’ command between TCL 9.0 and TCL 8.6 and was wondering if that’s just me ? So I went to the authoritative website: https://www.tcl-lang.org/man/tcl9.0/TclCmd/clock.html Note ! The URL specifies this is for TCL 9.0 ! But in the text: SYNOPSIS package require Tcl 8.5- clock add timeVal ?count unit...? ?-option value? This indicates that the documentation has not been reviewed since TCL 8.5 … Is this even the right list for this kind of gripes ( I didn’t seem to see anything that fits better ) ? Thanks, * Karl _______________________________________________ Tcl-Core mailing list Tcl...@li...<mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: <apn...@ya...> - 2025-02-06 19:28:20
|
Jan wrote: One thing Ashok pointed out is that memorymodule wouldn't work with WINE. Actually, I tried it (on Ubuntu 24.) and all testcases work except one As a point of clarification, having never used WINE I specifically *quoted* Christian’s WINE-related comment based on his initial tests as documented in his post in the ticket. Jan wrote: My current approach is to prove all of Ashok's arguments to be false, one by one. That will take time, but that's what it is. I appreciate and empathise that proving software does not have a bug is impossible. However, there is a level of confidence that arises from the number and nature of tests that have been done. I will point out that you insisted, and I quote, I did additional testing with TLS (thread-local storage). That worked too. Forcing me to illustrate with the simplest of TLS test cases that it in fact did not work. I appreciate additional effort has been made in this area with disabling memory loading of TLS dependent DLL’s, exception testing etc. Maybe it is stable now, I have not reviewed and do not have the time to construct further tests. Since the matter is dragging on, I’ll summarize the crux of the matter. My concern is implementing undocumented Windows behaviors carries inherent risk because the implementation may not handle all cases correctly, and even if it did, Windows could change it in any release breaking existing applications that made use of TIP 709. I am also conservative in that anything that carries risk should be outweighed by its benefits. I do not believe that is the case here. Your response is that you believe the issues I raised have been, or are being, fixed and testing of a bunch of Tcl extensions points to that. Second, even if there are some features missing or buggy, none of those are used by Tcl extensions and therefore possible implementation shortcomings do not matter for Tcl applications. Further, the chances of Windows breaking TIP 709 applications by changing the loader implementation in a manner that affects Tcl extensions are vanishingly small. Fair enough. I see it as we have different philosophies and degrees of conservatism in software practice. If you and Christian are confident, you really do not have to wait to convince me, I’m just one opinion. /Ashok From: Jan Nijtmans <jan...@gm...> Sent: Thursday, February 6, 2025 4:15 PM To: Harald Oehlmann <har...@el...> Cc: Steve Landers <st...@di...>; Tcl Core List <tcl...@li...> Subject: Re: [TCLCORE] TIP 709: Windows memory module: explicit usages proposal Op wo 5 feb 2025 om 10:37 schreef Harald Oehlmann: I am not in favour, that the feature is optionally compiled in. If it is in, it should be in any suitable Windows build of TCL. I would be OK with enabling it always. If a "-windowsignoretls" option is necessary to get this TIP passed, that would be a pity: A new option which should be on always. Remember: the first Tcl extension for which TIP #709 doesn't work still has to be found. (It didn't work for TLS, but that's solved now) My current approach is to prove all of Ashok's arguments to be false, one by one. That will take time, but that's what it is. One thing Ashok pointed out is that memorymodule wouldn't work with WINE. Actually, I tried it (on Ubuntu 24.) and all testcases work except one: ========================================================== $ make test-tcl TESTFLAGS="-file memorymodule.test" .... wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available. Test files run in separate interpreters Running tests that match: * Skipping test files that match: l.*.test Only running test files that match: memorymodule.test Tests began at Thu Feb 06 11:24:39 +0100 2025 memorymodule.test ==== memorymodule-2.2 nexted exception FAILED ==== Contents of test case: NestedException ---- Result was: 0 ---- Result should have been (exact matching): 1 ==== memorymodule-2.2 FAILED Tests ended at Thu Feb 06 11:24:39 +0100 2025 all.tcl: Total 9 Passed 8 Skipped 0 Failed 1 =================================================== Then I tried the same without the --enable-memorymodule option. Guess what: the memorymodule-2.2 testcase failed as well. Conclusion: Exception throwing/catching doesn't work well with WINE, but without memorymodule it doesn't work well either. Conclusion: this is a bug in WINE, not in memorymodule. Hope this helps, Jan Nijtmans |
From: Karl K. <ka...@ac...> - 2025-02-06 19:00:25
|
Hi, I was looking up something for TCL 9.0, I am experiencing differences in the 'clock' command between TCL 9.0 and TCL 8.6 and was wondering if that's just me ? So I went to the authoritative website: https://www.tcl-lang.org/man/tcl9.0/TclCmd/clock.html Note ! The URL specifies this is for TCL 9.0 ! But in the text: SYNOPSIS package require Tcl 8.5- clock add timeVal ?count unit...? ?-option value? This indicates that the documentation has not been reviewed since TCL 8.5 ... Is this even the right list for this kind of gripes ( I didn't seem to see anything that fits better ) ? Thanks, * Karl |
From: Brian G. <bri...@ea...> - 2025-02-06 18:36:44
|
I agree with Ashok’s comments. If the function is to return multiple values (more than two), then the function name needs to reflect that. Ex: Tcl_GetObjEmptyState() Not that I think such a function is necessary. :) -Brian (from mobile device) On Feb 6, 2025, at 10:05, apnmbx-public--- via Tcl-Core <tcl...@li...> wrote: I think this would be a useful addition, but I have some questions and suggestions. First, reviewing the implementation, I think it is broken in how it tests for lengths of lists and dictionaries, in particular the case where objPtr->bytes is a sequence of spaces that has been shimmered to a dict or list. For example (using the tcltest testisempty command in the apn-tip-711 branch), % set x " " % testisempty $x 0 % dict size $x 0 % testisempty $x 1 % string length $x 6 Ditto for lists. A design related comment - make Tcl_IsEmpty a part of the Tcl_ObjType (like abstract lists). That immediately makes available the same quick check and avoidance of shimmering for new Tcl_Obj types defined within extensions. It is the same exact reason for having the LengthProc method in Tcl_ObjType. Second, with respect to the API, I have two comments that pertain to style. May be considered bike-shedding by some but naming and principle of least surprise is important. I do not think it is good practice to have functions named as booleans (IsXXX) to return tristate values. For anyone considering this a trivial matter, take a look at the SSL paper on certificate validation by Georgiev et al. It is the most natural thing for programmers to write if (IsXXX(...))... when they should really be checking three values. I don't remember the details but if a validation API returned 1 for valid, 0 for invalid and -1 for server unreachable you can see the trouble it leads to. IsEmpty is not validating certs but returning three values from a function with that name is not a good idea. Names are important. Further, it would suffice to return 0, non-zero and mandate that objPtr be non-NULL. Your response to Sergey that it is an external function is not particularly convincing as the vast majority of public Tcl API's require passed Tcl_Obj* be non-NULL. One final comment. I understand this is the comment stage, not ready for vote so test cases are not present and still to be written. Just as a point to note though, the Tcl core does not exercise the function at all since (a) the call is generally not used in favor of existing checks as Sergey alluded, (b) In the cases where it is used (AppendObjToObj), string rep is generated anyways so the return value is immaterial (only an optimization, not a functional bug, thus not detected). So having those test cases becomes more critical before a CFV. /Ashok From: Jan Nijtmans <jan...@gm...> Sent: Thursday, February 6, 2025 7:33 PM To: Tcl Core List <tcl...@li...> Subject: [TCLCORE] CFV warning: TIP #711: New function: Tcl_IsEmpty() This is a CFV warning for TIP #711: New function: Tcl_IsEmpty() <https://core.tcl-lang.org/tips/doc/trunk/tip/711.md> This is the first TIP targeting 9.1, a useful simple one to make a start. If you think this is a bad idea, speak up now. If not, I'll start the vote in a few days. Regards, Jan Nijtmans _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core |