|
From: Donal F. <don...@ma...> - 2025-10-20 15:43:16
|
Some comments on some of these items as I couldn't make the telcon: 1. Release calendar sounds like a good plan, and I'm happy that it is going well. (Assume from here on that if I don't comment on things, I'm just being generally approving of the way that discussion is going.) 3. Accessibility is quite a requirement (and is something I get pushed on at work), and yet it is often difficult to pin down how to make Tk better at it (or indeed how to integrate with often ill-documented systems put forward for the purpose). That someone's grasped this nettle is great! I approve a lot. The trickiness of the area reminds me of Input Methods, where the explanations were usually completely incomprehensible as well as impossible to implement... 5. The C enums stuff should be fine; enum values are ints (if they fit in the int range) so the few cases where we don't want an int need something else. I think I've accounted for all of that. Also, cases where we expect that users might want to redefine things on the command line in a build (such as overriding a macro definition to get a different buffer length) are inappropriate, as are anything that needs to be processed by the resource compiler (fortunately not too many things). Overall there's two basic cases where things are suitable: sequences of things (such as Tcl_QueuePosition in tcl.h), and bitmasks (e.g., InterpFlags in tclInt.h); both of those cases work fine in all compilers I've ever seen. 6. For the new bytecodes, the only real disruption is the new auxiliary data type. Everything else is super low chance to cause any problems (as the code that has the problem is already delving in deep into the guts of Tcl where we don't give compatibility promises by policy). I make no promises to not introduce further bytecodes as 9.1 progresses; I've been trialling one for the guts of namespace parent, but that gets a bit messy in one awful edge case. Yuck. 8. It's absolutely great that we're moving to C11 as a minimum language profile! I've a number of branches that highlight things we could do with this. I'll talk about this more in a follow-up message. The ancient systems with ancient build requirements... are just a mess to support, especially as using a more recent compiler may well generate better code. (I've seen this directly for gcc when building for embedded ARM, where newer compiler versions produced significantly more compact code, enough that we could stop requiring icc for building that particular codebase...) 9. The key problem with the $(expr) syntax is that it definitely breaks existing code, specifically stooop <https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/stooop/stooop.md> (i.e., tcllib). Otherwise a good idea. Do we have any idea how many stooop users there are? Donal. ________________________________ From: Harald Oehlmann <har...@el...> Sent: Monday, October 20, 2025 14:30 To: Tcl Core List <tcl...@li...> Subject: [TCLCORE] Report of Biweekly telco on 20th of October at 12:00 UTC Dear Tcl/Tk team, here is the report of the biweekly telco of today: Top 1) Release calender (TIP 713) - 9.0.3: October (2 weeks left) SQLite 2.15.1 is planned for in 2 weeks. Might be useful to wait for it Tdbc-sqlite dict extension by Christian may be in a later release. This is the foundation. - 9.1a1: November (6 weeks left) Top 3) TIP 733: accessability (test status) Highly appreciated. Tests should pass. Important for alpha release, as testing is required. People must test the feature. There are historic Tk test files for interactive testing. That would be a path to test this feature. People will test. Top 5) TIP 731: use C enums (no brainer?) enums is prefered, great work ! In addition, compiler can check more cases (case strctures). Little chance for incompatibility, as check for existence (#ifdef) changes. Should be in the compatibility section of the TIP. Not all participants are convinced, if bitmasks are good as enums. Compiler knows the maximum value, if assigned to an int. Top 6) TIP 720: new bytecodes (final, great! Any issues?) Its a risk as disruptive change. Highly appreciated. Top 8) TIP 715: supported build systems Tcl 9.0 currently has minimum C11, with exception of MS-VS 2015 (limited implementation) Old industrial systems controls require older compilers. 2038 will put a hard end on Tcl 8.6. Top 9) $($a+$b) syntax for expressions Thanks for the great contribution. Incompatibility is seen as critical. Breaking change, only for version 10. Only possible in tcl 9 with global nob. Impact on constructed code will cause error cases hard to find. Proposal with "{=}{$a+$b}" would not break basic syntax rules. Jim compatibility is seen as relevant. That is a plus point. Test suite with patch is clean! Discussion may continue. Top 10) Tk test reform by Eric (Thanks !) Appreciated. No discussion due to lack of time Top 11) Tcl depot and awthemes ? Skipped, timeout Top 12) AOB Skipped, timeout Top 13) Next meeting: 3rd of November 12:00 UTC. Thanks for all, Harald |