Massimo,thanks, that you care about tcl9. I think, TCL9 is important for Rivet to overcome the size limits. I know from NaviServer, that they have a lot of trouble with sizes and arguments, like for the seek command, if files get large.
Thanks for the message and this analysis.As you know, I am a big fighter against all those magic macros and their pitfalls.
May I ask you to send the message as given to the core list? It would be great, if people get aware of this? Or even better would be a ticket on core.tcl-lang.org/tcl Thank you and take care, Harald Am 19.11.2023 um 00:50 schrieb Massimo Manghi:
Dear fellow Tcl'ersThis message is more specifically meant for Harald. Thank you Harald for your efforts as a driving force in the current process of having Tcl9.0 outI've built rivet branch tcl-novem with Tcl9 (branch tcl-9-0-b1-rc) and as expected I had to get all the Tcl_Size replace int where the compiler found potentially incompatible representations. That was straightforward.everything was right except for this warning (compiling with gcc 13.2.0) mod_rivet_ng/TclWebapache.c: In function ‘TclWeb_StringToUtf’:/home/manghi/tcltk/include/tclDecls.h:3972:47: warning: right-hand operand of comma expression has no effect [-Wunused-value] 3971 | (Tcl_ExternalToUtfDStringEx(NULL, (encoding), (src), (len), \| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3972 | TCL_ENCODING_PROFILE_TCL8, (ds), NULL), Tcl_DStringValue(ds))| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~mod_rivet_ng/TclWebapache.c:803:5: note: in expansion of macro ‘Tcl_ExternalToUtfDString’803 | Tcl_ExternalToUtfDString(NULL,in,(signed)strlen(in),&dstr); | ^~~~~~~~~~~~~~~~~~~~~~~~ The relevant macro in tclDecls.h #define Tcl_ExternalToUtfDString(encoding, src, len, ds) \ (Tcl_ExternalToUtfDStringEx(NULL, (encoding), (src), (len), \ TCL_ENCODING_PROFILE_TCL8, (ds), NULL), Tcl_DStringValue(ds)) which expands Tcl_ExternalToUtfDString(encoding, src, len, ds) as (Tcl_ExternalToUtfDString(....),Tcl_DStringValue(ds))where apparently the function call on the right of the comma has no meaningful purpose, as it returns the string internal value which goes unassigned.Probably a minor problem but I thought the Tcl includes shouldn't in principle generate unnecessary noise-- Massimo
OpenPGP_signature.asc
Description: OpenPGP digital signature