[AK] (2023-11-14) Seeing a number of `Replaced package require Tcl 8.X with package require Tcl 8.X-` notes I believe that I should note that there might be a better way than this. While going from `8.X` to `8.X-` opens the package to `9`, it also opens it to 10, 11, etc. A more restricted way would be to go to `package require Tcl 8.X 9`. The two requirements, `8.X`, and `9` are OR-ed. The command accepts the Tcl version if it matches at least one of the requirements. With this change the package is opened to `9`, but not beyond. This is not my idea. It came from Rolf Ade in his work on making Tcllib ready for Tcl 9. I had to reread the `package` manpage to understand. [PO] - 2023-11-13 This page is the summary of my experiences trying to port the Tcl packages or programs supported by [BAWT] to Tcl9. The following Tcl and Tk versions have been used for the porting tests: +++ Tcl9.0b1 9.0b1+9f0391c078075f932d389334cb30ca66b3215e477de6c0c9f4cd95b6f02d39df.gcc-702 Tk8.7b1 8.7b1+6e002715a6698c676a3e99eafaa1a0d68042de2b4d6a686c759a016c3bb05448.gcc-702.utf-16.win32 +++ * Table `Packages` lists all packages looked at and their current status. * Table `Changes in Tcl` summarizes all changes done at the Tcl level for all packages. * Table `Changes in C` summarizes all changes done at the C level for all packages. * All other tables summarize the changes done for each individual package or program. Please feel free to add your experiences, additions and comments. ---- Other porting experiences: * Migrating scripts to Tcl 9 [https://core.tcl-lang.org/tcl/wiki?name=Migrating%20scripts%20to%20Tcl%209] * Migrating C extensions to Tcl 9 [https://core.tcl-lang.org/tcl/wiki?name=Migrating%20C%20extensions%20to%20Tcl%209] * [Rolf Ade]'s EuroTcl2023 presentation [https://openacs.org/conf2023/info/download/file/porting-tcllib-tcl9.pdf%|%Porting tcllib to Tcl 9] * [Tcl 9 functions using Tcl_Size] * Preview of Tcl/Tk 9.0b1 manual [https://www.tcl3d.org/bawt/download/Preview/Tcl9/TclTkManual/index.html] ---- <> **Packages** This table summarizes the status of the package ports. The columns show the folllowing information: * '''Library:''' The name and a link to the package home page. * '''Start version:''' The version number and a link to the source of the package as used for start of the porting. * '''Ported version:''' The version number and a link to the source of the ported package. If entry is `Worked`, then the Start version is working. If entry is `N/A`, I either did not look at the package or it was too much effort. * '''Build:''' The modified package could be compiled with Tcl 9. * '''Require:''' A `package require` suceeded for the package with Tcl 9. * '''Bawt Test:''' The simple BAWT test program for this package works with Tcl 9. * '''Responsible:''' Add a name or link, if you are the maintainer or feel responsible for this package. * '''Comments:''' Short comments regarding this package. Add longer comments at the end of the table. %| Library | Start version | Ported version | Build | Require | Bawt Test | Responsible | Comments|% &|https://aplsimple.github.io/en/tcl/pave/index.html%|%apave%|%|https://www.tcl3d.org/bawt/download/InputLibs/apave-3.4.8.7z%|%3.4.8%|%|https://github.com/aplsimple/pave%|%4.3.4%|%|`Yes`|`Yes`|`Yes`|[aplsimple]|[aplsimple]: Tested on Linux and Windows|& &|https://sourceforge.net/projects/tcl-awthemes/%|%awthemes%|%|https://www.tcl3d.org/bawt/download/InputLibs/awthemes-10.4.0.7z%|%10.4.0%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://core.tcl-lang.org/bwidget/%|%BWidget%|%|https://www.tcl3d.org/bawt/download/InputLibs/BWidget-1.9.16.7z%|%1.9.16%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/BWidget-1.9.17.7z%|%1.9.17%|%|`Yes`|`Yes`|`Yes`||[oehhar]: Checked in upstream by [https://core.tcl-lang.org/bwidget/info/c2f71bcc5845af19]|& &|http://3dcanvas.tcl-lang.org/%|%Canvas3d%|%|https://www.tcl3d.org/bawt/download/InputLibs/Canvas3d-1.2.2.7z%|%1.2.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Canvas3d-1.2.3.7z%|%1.2.3%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.cawt.tcl3d.org/%|%cawt%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/cawt-2.9.4.7z%|%2.9.4%|%|`N/A`|`Yes`|`Yes`|`No`|[PO]|Twapi not yet working with Tcl9|& &|https://github.com/apnadkarni/tcl-cffi%|%cffi%|%|https://www.tcl3d.org/bawt/download/InputLibs/cffi-1.2.0.7z%|%1.2.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/cffi-1.2.1.7z%|%1.2.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://andreas-kupries.github.io/critcl/%|%critcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/critcl-3.2.7z%|%3.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/critcl-3.2.1.7z%|%3.2.1%|%|`Yes`|`Yes`|`N/A`|[AK]||& &|https://github.com/pspjuth/DiffUtilTcl/%|%DiffUtil%|%|https://www.tcl3d.org/bawt/download/InputLibs/DiffUtil-0.4.2.7z%|%0.4.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/DiffUtil-0.4.3.7z%|%0.4.3%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/expect/%|%expect%|%|https://www.tcl3d.org/bawt/download/InputLibs/expect-5.45.4.7z%|%5.45.4%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://github.com/prs-de/ffidl%|%ffidl%|%|https://www.tcl3d.org/bawt/download/InputLibs/Ffidl-0.9.0.7z%|%0.9.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Ffidl-0.9.1.7z%|%0.9.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/fitsTcl_home.html%|%fitsTcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/fitsTcl-2.5.7z%|%2.5%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/fitsTcl-2.5.1.7z%|%2.5.1%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.schwartzcomputer.com/tcl-tk/tcl-tk.html%|%gdi%|%|https://www.tcl3d.org/bawt/download/InputLibs/gdi-0.9.9.15.7z%|%0.9.9.15%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|https://github.com/zdia/gorilla/wiki%|%gorilla%|%|https://www.tcl3d.org/bawt/download/InputLibs/gorilla-1.6.0.7z%|%1.6.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/gorilla-1.6.1.7z%|%1.6.1%|%|`Yes`|`Yes`|`N/A`|||& &|http://www.schwartzcomputer.com/tcl-tk/tcl-tk.html%|%hdc%|%|https://www.tcl3d.org/bawt/download/InputLibs/hdc-0.2.0.1.7z%|%0.2.0.1%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|https://sourceforge.net/projects/tkimg/%|%Img%|%|https://www.tcl3d.org/bawt/download/InputLibs/Img-1.4.14.7z%|%1.4.14%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Img-1.4.15.7z%|%1.4.15%|%|`Yes`|`Yes`|`Yes`|[PO]||& &|https://www.androwish.org/home/dir?name=jni/imgjp2%|%imgjp2%|%|https://www.tcl3d.org/bawt/download/InputLibs/imgjp2-0.1.7z%|%0.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/imgjp2-0.1.1.7z%|%0.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|http://tkimgtools.sourceforge.net/%|%imgtools%|%|https://www.tcl3d.org/bawt/download/InputLibs/imgtools-0.3.7z%|%0.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/imgtools-0.3.1.7z%|%0.3.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://github.com/apnadkarni/iocp/%|%iocp%|%|https://www.tcl3d.org/bawt/download/InputLibs/iocp-1.1.0.7z%|%1.1.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/iocp-1.1.1.7z%|%1.1.1%|%|`Yes`|`Yes`|`No`|||& &|https://sourceforge.net/projects/incrtcl/%|%itk%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/itk-4.2.3.7z%|%4.2.3%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/incrtcl/%|%iwidgets%|%|https://www.tcl3d.org/bawt/download/InputLibs/iwidgets-4.1.1.7z%|%4.1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/iwidgets-4.1.2.7z%|%4.1.2%|%|`Yes`|`Yes`|`Yes`|||& &|https://www.androwish.org/%|%materialicons%|%|https://www.tcl3d.org/bawt/download/InputLibs/materialicons-0.2.7z%|%0.2%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|http://www.mawt.tcl3d.org/%|%mawt%|%|https://www.tcl3d.org/bawt/download/InputLibs/mawt-0.4.1.7z%|%0.4.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/mawt-0.4.3.7z%|%0.4.3%|%|`Yes`|`Yes`|`Yes`|[PO]||& &|http://memchan.sourceforge.net/%|%memchan%|%|https://www.tcl3d.org/bawt/download/InputLibs/memchan-2.3.7z%|%2.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/memchan-2.3.1.7z%|%2.3.1%|%|`Yes`|`Yes`|`No`|||& &|http://www.nemethi.de/%|%mentry%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/mentry-3.18.7z%|%3.18%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/mpexpr/%|%Mpexpr%|%|https://www.tcl3d.org/bawt/download/InputLibs/Mpexpr-1.2.7z%|%1.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Mpexpr-1.2.1.7z%|%1.2.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://chiselapp.com/user/schelte/repository/mqtt/home%|%mqtt%|%|https://www.tcl3d.org/bawt/download/InputLibs/mqtt-3.1.7z%|%3.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/mqtt-3.1.1.7z%|%3.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/irrational-numbers/%|%MuPDFWidget%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/MuPDFWidget-2.3.1.7z%|%2.3.1%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://tcl.sowaswie.de/repos/fossil/nacl/home%|%nacl%|%|https://www.tcl3d.org/bawt/download/InputLibs/nacl-1.1.7z%|%1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/nacl-1.1.1.7z%|%1.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://next-scripting.org%|%nsf%|%|https://www.tcl3d.org/bawt/download/InputLibs/nsf-2.4.0.7z%|%2.4.0%|%|`N/A`|`Yes`|`No`|`No`|||& &|https://tcl.sowaswie.de/repos/fossil/ooxml/home%|%ooxml%|%|https://www.tcl3d.org/bawt/download/InputLibs/ooxml-1.6.1.7z%|%1.6.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/ooxml-1.6.2.7z%|%1.6.2%|%|`Yes`|`Yes`|`Yes`|||& &|http://oratcl.sourceforge.net%|%oratcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/oratcl-4.6.7z%|%4.6%|%|`NoTcl9`|`No`|`No`|`N/A`|||& &|https://github.com/RubyLane/parse_args%|%parse_args%|%|https://www.tcl3d.org/bawt/download/InputLibs/parse_args-0.3.3.7z%|%0.3.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/parse_args-0.3.4.7z%|%0.3.4%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.pawt.tcl3d.org/%|%pawt%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/pawt-1.1.3.7z%|%1.1.3%|%|`Works`|`Yes`|`Yes`|`Yes`|[PO]||& &|https://sourceforge.net/projects/pdf4tcl/%|%pdf4tcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/pdf4tcl-0.9.4.7z%|%0.9.4%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/pgintcl/%|%pgintcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/pgintcl-3.5.1.7z%|%3.5.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/pgintcl-3.5.2.7z%|%3.5.2%|%|`Yes`|`Yes`|`N/A`|||& &|https://github.com/auriocus/PhotoResize%|%photoresize%|%|https://www.tcl3d.org/bawt/download/InputLibs/photoresize-0.2.7z%|%0.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/photoresize-0.2.1.7z%|%0.2.1%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.poSoft.de/html/poTools.html%|%poApps%|%|https://www.tcl3d.org/bawt/download/InputLibs/poApps-2.11.0.7z%|%2.11.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/poApps-2.12.1.7z%|%2.12.1%|%|`Yes`|`Yes`|`N/A`|[PO]||& &|http://www.poSoft.de/%|%poImg%|%|https://www.tcl3d.org/bawt/download/InputLibs/poImg-2.0.2.7z%|%2.0.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/poImg-2.0.5.7z%|%2.0.5%|%|`Yes`|`Yes`|`Yes`|[PO]||& &|http://www.schwartzcomputer.com/tcl-tk/tcl-tk.html%|%printer%|%|https://www.tcl3d.org/bawt/download/InputLibs/printer-0.9.6.15.7z%|%0.9.6.15%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/printer-0.9.6.16.7z%|%0.9.6.16%|%|`Yes`|`Yes`|`Yes`|||& &|https://www.androwish.org/%|%puppyicons%|%|https://www.tcl3d.org/bawt/download/InputLibs/puppyicons-0.1.7z%|%0.1%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|http://www.sourceforge.net/projects/rbctoolkit/%|%rbc%|%|https://www.tcl3d.org/bawt/download/InputLibs/rbc-0.2.7z%|%0.2%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://github.com/RubyLane/rl_json%|%rl_json%|%|https://www.tcl3d.org/bawt/download/InputLibs/rl_json-0.11.5.7z%|%0.11.5%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/rl_json-0.11.6.7z%|%0.11.6%|%|`Yes`|`No`|`No`|||& &|https://ruff.magicsplat.com/%|%ruff%|%|https://www.tcl3d.org/bawt/download/InputLibs/ruff-2.3.0.7z%|%2.3.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/ruff-2.3.1.7z%|%2.3.1%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.nemethi.de/%|%scrollutil%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/scrollutil-1.19.7z%|%1.19%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|http://wiki.tcl-lang.org/17859%|%shellicon%|%|https://www.tcl3d.org/bawt/download/InputLibs/shellicon-0.1.7z%|%0.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/shellicon-0.1.1.7z%|%0.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://github.com/mittelmark/shtmlview/%|%shtmlview%|%|https://www.tcl3d.org/bawt/download/InputLibs/shtmlview-1.0.0.7z%|%1.0.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/shtmlview-1.0.1.7z%|%1.0.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://github.com/scottypitcher/tcl-snack%|%Snack%|%|https://www.tcl3d.org/bawt/download/InputLibs/Snack-2.2.11.7z%|%2.2.11%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Snack-2.2.12.7z%|%2.2.12%|%|`Yes`|`Yes`|`Yes`|||& &|http://www.nemethi.de/%|%tablelist%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tablelist-6.22.7z%|%6.22%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://github.com/ActiveState/teapot/tree/master/lib/tbcload%|%tbcload%|%|https://www.tcl3d.org/bawt/download/InputLibs/tbcload-1.7.1.7z%|%1.7.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tbcload-1.7.2.7z%|%1.7.2%|%|`Yes`|`No`|`N/A`|||& &|https://www.tcl3d.org/%|%tcl3dBasic%|%|https://www.tcl3d.org/bawt/download/InputLibs/tcl3d-0.9.5.7z%|%0.9.5%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcl3d-0.9.6.7z%|%0.9.6%|%|`Yes`|`Yes`|`Yes`|[PO]||& &|https://sourceforge.net/projects/tcladdressbook/%|%Tcladdressbook%|%|https://www.tcl3d.org/bawt/download/InputLibs/Tcladdressbook-1.2.4.7z%|%1.2.4%|%|`NoTcl9`|`No`|`No`|`N/A`|||& &|https://sourceforge.net/projects/tclae/%|%tclAE%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclAE-2.0.7.7z%|%2.0.7%|%|`NoTcl9`|`No`|`No`|`N/A`|||& &|https://sourceforge.net/projects/tclapplescript/%|%Tclapplescript%|%|https://www.tcl3d.org/bawt/download/InputLibs/Tclapplescript-2.2.7z%|%2.2%|%|`NoTcl9`|`No`|`No`|`N/A`|||& &|http://www.chevreux.org/projects_tcl.html%|%tclargp%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclargp-0.2.7z%|%0.2%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://github.com/ActiveState/teapot/tree/master/lib/tclcompiler%|%tclcompiler%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclcompiler-1.7.3.7z%|%1.7.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclcompiler-1.7.4.7z%|%1.7.4%|%|`Yes`|`Yes`|`No`|||& &|https://sourceforge.net/projects/tclcsv%|%tclcsv%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclcsv-2.3.7z%|%2.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclcsv-2.3.1.7z%|%2.3.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://github.com/lamuzzachiodi/tclfpdf%|%tclfpdf%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclfpdf-1.6.7z%|%1.6%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://github.com/flightaware/tcl.gd%|%tclgd%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclgd-1.4.7z%|%1.4%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclgd-1.4.1.7z%|%1.4.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/kbskit/%|%Tclkit%|%|`N/A`|`N/A`|`Yes`|`Yes`|`N/A`|||& &|https://core.tcl-lang.org/tcllib%|%tcllib%|%|https://www.tcl3d.org/bawt/download/InputLibs/tcllib-1.21.7z%|%1.21%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcllib-2.0.7z%|%2.0%|%|`Yes`|`Yes`|`Yes`||No tcllibc|& &|https://sourceforge.net/projects/irrational-numbers/%|%tclMuPdf%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclMuPdf-2.3.7z%|%2.3%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://github.com/flightaware/TclProDebug/tree/master/lib/tclparser%|%tclparser%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclparser-1.8.7z%|%1.8%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclparser-1.8.1.7z%|%1.8.1%|%|`Yes`|`Yes`|`N/A`|||& &|https://github.com/aidanhs/libtclpy%|%tclpy%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclpy-0.4.7z%|%0.4%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclpy-0.4.1.7z%|%0.4.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://github.com/tclssg/tclssg%|%tclssg%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclssg-2.2.1.7z%|%2.2.1%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|http://core.tcl-lang.org/tcltls/%|%tcltls%|%|https://www.tcl3d.org/bawt/download/InputLibs/tcltls-1.7.22.7z%|%1.7.22%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z%|%1.7.23%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/tclvfs/%|%tclvfs%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclvfs-1.4.2.7z%|%1.4.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclvfs-1.4.3.7z%|%1.4.3%|%|`Yes`|`Yes`|`Yes`|||& &|https://core.tcl-lang.org/tclws/%|%tclws%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclws-3.4.0.7z%|%3.4.0%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tclws-3.4.1.7z%|%3.4.1%|%|`Yes`|`Yes`|`N/A`||[oehhar]: Ported upstream by commit [https://core.tcl-lang.org/tclws/info/940f1b929d7271e3]|& &|https://github.com/flightaware/tclx/%|%tclx%|%|https://www.tcl3d.org/bawt/download/InputLibs/tclx-8.4.4.7z%|%8.4.4%|%|`NoTcl9`|`No`|`No`|`No`||Stopped porting because of unknown replacement for Tcl_Value and Tcl_ValueType<
><
>[chrstphrchvz]: see previous attempt https://github.com/flightaware/tclx/pull/12|& &|http://tdom.org/%|%tdom%|%|https://www.tcl3d.org/bawt/download/InputLibs/tdom-0.9.3.7z%|%0.9.3%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|http://tix.sourceforge.net/%|%Tix%|%|https://www.tcl3d.org/bawt/download/InputLibs/Tix-8.4.3.7z%|%8.4.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Tix-8.4.4.7z%|%8.4.4%|%|`Yes`|`Yes`|`No`|||& &|https://github.com/wjoye/tkcon/%|%tkcon%|%|https://www.tcl3d.org/bawt/download/InputLibs/tkcon-2.7.10.7z%|%2.7.10%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|https://github.com/petasis/tkdnd%|%tkdnd%|%|https://www.tcl3d.org/bawt/download/InputLibs/tkdnd-2.9.3.7z%|%2.9.3%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tkdnd-2.9.4.7z%|%2.9.4%|%|`Yes`|`Yes`|`Yes`|||& &|http://tkhtml.tcl.tk/index.html%|%Tkhtml%|%|https://www.tcl3d.org/bawt/download/InputLibs/Tkhtml-3.0.1.7z%|%3.0.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Tkhtml-3.0.2.7z%|%3.0.2%|%|`Yes`|`Yes`|`Yes`|||& &|https://core.tcl-lang.org/tklib%|%tklib%|%|https://www.tcl3d.org/bawt/download/InputLibs/tklib-0.7.7z%|%0.7%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tklib-0.8.7z%|%0.8%|%|`Yes`|`Yes`|`N/A`|||& &|http://chiselapp.com/user/rene/repository/tkpath/%|%tkpath%|%|https://www.tcl3d.org/bawt/download/InputLibs/tkpath-0.3.3.7z%|%0.3.3%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://github.com/petasis/tkribbon%|%tkribbon%|%|https://www.tcl3d.org/bawt/download/InputLibs/tkribbon-1.1.7z%|%1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tkribbon-1.2.7z%|%1.2%|%|`Yes`|`Yes`|`N/A`|||& &|http://reddog.s35.xrea.com/wiki/TkSQLite.html%|%tksqlite%|%|https://www.tcl3d.org/bawt/download/InputLibs/tksqlite-0.5.13.7z%|%0.5.13%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tksqlite-0.5.14.7z%|%0.5.14%|%|`Yes`|`Yes`|`N/A`|||& &|https://github.com/oehhar/tksvg/%|%tksvg%|%|https://www.tcl3d.org/bawt/download/InputLibs/tksvg-0.12.7z%|%0.12%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tksvg-0.13.7z%|%0.13%|%|`Yes`|`Yes`|`Yes`||Not needed for Tk 8.7. [oehhar]:Thanks, committed upstream and released with version 0.14|& &|http://tktable.sourceforge.net/%|%Tktable%|%|https://www.tcl3d.org/bawt/download/InputLibs/Tktable-2.11.7z%|%2.11%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/Tktable-2.11.1.7z%|%2.11.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/tkwintrack/%|%tkwintrack%|%|https://www.tcl3d.org/bawt/download/InputLibs/tkwintrack-2.0.1.7z%|%2.0.1%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|https://sourceforge.net/projects/tktreectrl/%|%treectrl%|%|https://www.tcl3d.org/bawt/download/InputLibs/treectrl-2.4.1.7z%|%2.4.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/treectrl-2.4.2.7z%|%2.4.2%|%|`Yes`|`Yes`|`Yes`|||& &|http://tcltrf.sourceforge.net/%|%Trf%|%|https://www.tcl3d.org/bawt/download/InputLibs/Trf-2.1.4.7z%|%2.1.4%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://math.nist.gov/~DPorter/tcltk/trofs/%|%trofs%|%|https://www.tcl3d.org/bawt/download/InputLibs/trofs-0.4.9.7z%|%0.4.9%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://tcl.sowaswie.de/repos/fossil/tserialport/home%|%tserialport%|%|https://www.tcl3d.org/bawt/download/InputLibs/tserialport-1.1.7z%|%1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tserialport-1.1.1.7z%|%1.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://twapi.magicsplat.com/%|%twapi%|%|https://www.tcl3d.org/bawt/download/InputLibs/twapi-4.7.2.7z%|%4.7.2%|%|`NoTcl9`|`No`|`No`|`No`|||& &|https://tcl.sowaswie.de/repos/fossil/tzint/home%|%tzint%|%|https://www.tcl3d.org/bawt/download/InputLibs/tzint-1.1.7z%|%1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/tzint-1.1.1.7z%|%1.1.1%|%|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/tcludp/%|%udp%|%|https://www.tcl3d.org/bawt/download/InputLibs/udp-1.0.11.7z%|%1.0.11%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/udp-1.0.12.7z%|%1.0.12%|%|`Yes`|`Yes`|`No`|||& &|https://github.com/auriocus/ukaz%|%ukaz%|%|https://www.tcl3d.org/bawt/download/InputLibs/ukaz-2.0a3.7z%|%2.0a3%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|http://auriocus.github.io/VecTcl/%|%vectcl%|%|https://www.tcl3d.org/bawt/download/InputLibs/vectcl-0.2.7z%|%0.2%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/vectcl-0.2.1.7z%|%0.2.1%|%|`Yes`|`Yes`|`No`|||& &|http://www.nemethi.de/%|%wcb%|%|https://www.tcl3d.org/bawt/download/InputLibs/wcb-3.8.7z%|%3.8%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|https://sourceforge.net/projects/tkwintrack/%|%windetect%|%|https://www.tcl3d.org/bawt/download/InputLibs/windetect-1.0.0.7z%|%1.0.0%|%|`Works`|`Yes`|`Yes`|`N/A`|||& &|https://www.androwish.org/index.html/dir?name=undroid/winhelp%|%winhelp%|%|https://www.tcl3d.org/bawt/download/InputLibs/winhelp-1.1.7z%|%1.1%|%|https://www.tcl3d.org/bawt/download/Preview/Tcl9/winhelp-1.1.1.7z%|%1.1.1%|%|`Yes`|`Yes`|`Yes`|||& '''Additional comments:''' ---- **Changes in Tcl** %| Common changes in Tcl files | Comments|% &|Replaced `$tcl_platform` with `$::tcl_platform` in namespaces||& &|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &|Added `string totitle` in pkgIndex.tcl.in or pkgIndex.tcl||& &|Added `string totitle` in Makefile.in||& &|Replaced `"~"` with `file tildeexpand "~"` for Tcl >= 9||& &|Use `source -encoding utf-8` instead of plain `source`||& &|Changed functionality: `ttk::combobox::current` returns empty string instead of -1||& &|Check for octal numbers.||& '''Additional comments:''' ---- **Changes in C** This table summarizes the changes done for porting C/C++ extensions. Some of the actions are described first as code examples. '''Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined''' ======c /* Check, if Tcl version supports Tcl_Size, which was introduced in Tcl 8.7 and 9. */ #ifndef TCL_SIZE_MAX #include #define TCL_SIZE_MAX INT_MAX #ifndef Tcl_Size typedef int Tcl_Size; #endif #define TCL_SIZE_MODIFIER "" #define Tcl_GetSizeIntFromObj Tcl_GetIntFromObj #define Tcl_NewSizeIntObj Tcl_NewIntObj #endif ====== '''Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions''' ======c #if TCL_MAJOR_VERSION < 9 Tcl_SavedResult savedResult; #else Tcl_InterpState savedResult; #endif #if TCL_MAJOR_VERSION < 9 Tcl_SaveResult(interp, &savedResult); #else savedResult = Tcl_SaveInterpState(interp, TCL_OK); #endif #if TCL_MAJOR_VERSION < 9 Tcl_RestoreResult(interp, &savedResult); #else Tcl_RestoreInterpState(interp, savedResult); #endif #if TCL_MAJOR_VERSION < 9 Tcl_DiscardResult(&state); #else Tcl_DiscardInterpState(state); #endif ====== %| Common changes in C/C++ files | Comments|% &|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|Added `#include `||& &|Removed `_ANSI_ARGS_` statements||& &|Added definition of `_ANSI_ARGS_`|Too lazy to replace them all|& &|Added definition of `TCL_VARARGS`|Too lazy to replace them all|& &|||& &|Changed `CONST` to `const`||& &|Changed `CONST84` to `const`||& &|Changed `CONST86` to `const`||& &|Changed `VOID` to `void`||& &|||& &|Replaced `TCL_CHANNEL_VERSION_2` with `TCL_CHANNEL_VERSION_5`||& &|Replaced `TCL_CHANNEL_VERSION_4` with `TCL_CHANNEL_VERSION_5`||& &|||& &|Unicode related changes||& &|Replaced `Tcl_UniCharNcasecmp` with `Tcl_UtfNcasecmp`||& &|Replaced `Tcl_UniCharNcmp` with `Tcl_UtfNcmp`||& &|Replaced `Tcl_UniCharCaseMatch` with `Tcl_StringCaseMatch`||& &|Replaced `Tcl_Backslash` with `Tcl_UtfBackslash`|Recommended replacement ??|& &|Replaced `Tcl_DStringTrunc` with `Tcl_DStringSetLength`||& &|Replaced `TclOffset` with `offsetof`||& &|Replaced `Tcl_WinUtfToTChar` with `Tcl_UtfToChar16DString`||& &|Replaced `Tk_BackgroundError` with `Tcl_BackgroundError`||& &|Replaced `Tk_CancelIdleCall` with `Tcl_CancelIdleCall`||& &|Replaced `Tk_DoWhenIdle` with `Tcl_DoWhenIdle`||& &|Replaced `Tk_EventuallyFree` with `Tcl_EventuallyFree`||& &|Replaced `Tk_Preserve` with `Tcl_Preserve`||& &|Replaced `Tk_Release` with `Tcl_Release`||& &|Replaced `TkpDrawHighlightBorder` with `Tk_DrawHighlightBorder` for Tcl >= 9||& &|Replaced `TkpMakeWindow` with `Tk_MakeWindow` for Tcl >= 9||& &|Replaced `TclSetPreInitScript` with `Tcl_SetPreInitScript` for Tcl >= 9||& &|Added parameter `compRule` to `Tk_PhotoPutBlock` for Tcl >= 9||& &|Replaced `Tk_PhotoPutBlock_NoComposite` with `Tk_PhotoPutBlock(..., TK_PHOTO_COMPOSITE_OVERLAY)`||& &|Replaced `Tcl_PanicVA` with ``Tcl_Panic` using method described in TIP 422||& &|Replaced `panic` with `Tcl_Panic`||& &|Replaced `Tcl_DriverCloseProc` with `Tcl_DriverClose2Proc`. Changed signature of corresponding function.||& &|||& &|Removed expressions using obsolete `TCL_INTERP_DESTROYED`|Recommended replacement ??|& &|Removed expressions using obsolete `TCL_PARSE_PART1`|Recommended replacement ??|& &|Replaced obsolete `TCL_OUT_LINE_COMPILE` with `TCL_ERROR`||& &|Replaced obsolete `TK_X_EVENTS` with `TCL_WINDOW_EVENTS`||& &|Replaced obsolete `TK_DONT_WAIT` with `TCL_DONT_WAIT`||& &|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|||& &|Updated `tclconfig` files||& &|Updated files `config.guess` and `config.sub`||& &|||& &|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|Replaced `NULL` with `(char *)NULL` in calls of function `Tcl_AppendResult` or `Tcl_SetErrorCode`||& '''Additional comments:''' [DKF]: Note that `Tcl_SaveResult()` has basically been deprecated since Tcl 8.5 because it doesn't handle the full state of the interpreter (and can't; not enough space in the `Tcl_SavedResult` structure definition and that's caller allocated; by comparison, `Tcl_InterpState` is an opaque handle and has its definition entirely managed by Tcl's internals). Unless you ''need'' the code to still work in Tcl 8.4 and before, you should update to use the new API. Tcl 9.0 just removes that deprecated API; Tcl 8.5 and 8.6 were the transition period (over a decade). [chrstphrchvz]: Note that casting the `NULL` sentinel for `Tcl_AppendResult()`/`Tcl_SetErrorCode()` is not for Tcl 9 readiness, but rather something that should be done anyway for portability. [DGP]: Any code still making use of the `TCL_INTERP_DESTROYED` flag should be converted to call the `Tcl_InterpDeleted` routine. [DGP]: The last Tcl release where the `TCL_PARSE_PART1` flag had any effect was Tcl 8.0. Just remove it. ---- **CMake** %| File | Changes | Comments|% &|Modules/FindTCL.cmake|Added search for `tcl9tk87` library files in BAWT Setup script `CMake.bawt`||& '''Additional comments:''' ---- **SWIG** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|Several files|Replaced `NULL` with `(char *)NULL` in calls of function `Tcl_AppendResult` or `Tcl_SetErrorCode`||& &|Lib/tcl/std_vector.i|Replaced `Tcl_GetBoolFromObj` with `SwigGetBoolFromObj`||& &|Lib/tcl/tclruntime.swg|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& '''Additional comments:''' * Renamed Tcl_GetBoolFromObj to SwigGetBoolFromObj, as Tcl_GetBoolFromObj is a macro in Tcl9 ---- **BWidget** %| File | Changes | Comments|% &|demo/tree.tcl|Replaced `"~"` with `file tildeexpand "~"` for Tcl >= 9||& &|dropsite.tcl|Replaced `$tcl_platform` with `$::tcl_platform` in namespaces||& &|widget.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& '''Additional comments:''' ---- **Canvas3d** %| File | Changes | Comments|% &|generic/c3dsearch.c|Removed `CONST86` in struct||& &|generic/c3d.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **cffi** %| File | Changes | Comments|% &|generic/tclhBase.h|Used definitions of `Tclh_SSizeT` and `Tclh_USizeT` as are used for Tcl 8|TODO|& &|generic/tclhBase.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tclhPointer.h|Added `#include `||& &|pkgIndex.tcl.in|Added `string totitle`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **critcl** %| File | Changes | Comments|% &|build.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|lib/critcl/critcl.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|lib/critcl/pkgIndex.tcl|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **DiffUtil** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/diffutil.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|generic/diffutil.c|Replaced `Tcl_UniCharNcasecmp` with `Tcl_UtfNcasecmp`||& &|generic/diffutil.c|Replaced `Tcl_UniCharNcmp` with `Tcl_UtfNcmp`||& &|generic/diffutil.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/diff.c|Unicode related changes||& &|Several files|Changed `CONST` to `const`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **ffidl** %| File | Changes | Comments|% &|generic/ffidl.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|generic/ffidl.c|Changed `CONST` to `const`||& &|generic/ffidl.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/ffidl.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|library/ffidlrt.tcl|Replaced `$tcl_platform` with `$::tcl_platform` in namespaces||& &|library/ffidlrt.tcl|Need to correct stubs number of obsolete `Tcl_GetUnicode` and `Tcl_GetByteArrayFromObj`|TODO|& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **fitsTcl** %| File | Changes | Comments|% &|configure.in|Added search for Tcl9 libraries.||& &|fitsTcl.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& '''Additional comments:''' ---- **gorilla** %| File | Changes | Comments|% &|Several files|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|sources/tcllib|Updated `csv` module to 0.8.1||& &|sources/tcllib|Updated `md5` module to 2.0.8||& &|sources/tcllib|Updated `sha1`module to 2.0.4||& &|sources/tcllib|Updated `sha1`module to 1.0.7||& &|gorilla.tcl|Replaced `"~"` with `file tildeexpand "~"` for Tcl >= 9||& '''Additional comments:''' ---- **imgjp2** %| File | Changes | Comments|% &|Makefile.in|Added `string totitle`||& &|imgjp2.c|Replaced `Tk_PhotoPutBlock_NoComposite` with `Tk_PhotoPutBlock(..., TK_PHOTO_COMPOSITE_OVERLAY)`||& &|imgjp2.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|imgjp2.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **imgtools** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/imgtoolsDecl.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **iocp** %| File | Changes | Comments|% &|win/tclWinIocp.c|Replaced `TCL_CHANNEL_VERSION_4` with `TCL_CHANNEL_VERSION_5`||& &|win/tclWinIocp.c|Replaced `Tcl_DriverCloseProc` with `Tcl_DriverClose2Proc`. Define `IocpChannelClose` only for Tcl < 9.||& &|win/tclWinIocpTcp.c|Replaced `Tcl_DStringTrunc` with `Tcl_DStringSetLength`||& &|win/tclWinIocpWinsock.c|Replaced `Tcl_DStringTrunc` with `Tcl_DStringSetLength`||& &|win/tclWinIocpUtil.c|Replaced `Tcl_PanicVA` with `Tcl_Panic` using method described in TIP 422||& &|win/tclhBase.h|Declared for Tcl9: `typedef ptrdiff_t Tclh_SSizeT`|TODO|& &|win/tclPointer.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|win/tclWinIocp.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **iwidgets** %| File | Changes | Comments|% &|win/iwidgets.tcl|Replaced `$iwidgets` with `$::iwidgets` in namespaces||& &|iwidgets.tcl.in|Replaced `$iwidgets` with `$::iwidgets` in namespaces||& &|iwidgets.tcl.in|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **mawt** %| File | Changes | Comments|% &|swigfiles/mawt.i|Replaced SWIG module name `mawtLib` with `mawt`||& &|swigfiles/mawt.i|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|tclfiles/mawtInterface.tcl|Replaced namespace `mawtlib` with `mawt`||& &|tclfiles/mawtQuery.tcl|Replaced namespace `mawtlib` with `mawt`||& &|tclfiles/pkgIndex.tcl.in|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& '''Additional comments:''' ---- **memchan** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|Several files|Changed `VOID` to `void`||& &|Several header files|Added definition of `_ANSI_ARGS_`||& &|generic/memchanInt.h|Corrected `#if ((TCL_MAJOR_VERSION >= 8) && ...)` to `#if ((TCL_MAJOR_VERSION == 8) && ...)`||& &|generic/memchanInt.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/memchan.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' * BAWT demo gives error: channel type memory/fifo must be version TCL_CHANNEL_VERSION_5 ---- **Mpexpr** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|Several files|Changed `VOID` to `void`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|./generic/mpexpr.h|Added definition of `TCL_VARARGS`||& &|./generic/mpparse.c|Replaced `Tcl_Backslash` with `Tcl_UtfBackslash`||& '''Additional comments:''' ---- **mqtt** %| File | Changes | Comments|% &|mqtt-3.1.tm|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& '''Additional comments:''' ---- **nacl** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/nacl.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/nacl.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **ooxml** %| File | Changes | Comments|% &|helper.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **parse_args** %| File | Changes | Comments|% &|generic/parse_args.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|generic/parse_args.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|generic/parse_argsInt.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **pawt** %| File | Changes | Comments|% &|pkgIndex.tcl|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& '''Additional comments:''' ---- **pgintcl** %| File | Changes | Comments|% &|pgin.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& '''Additional comments:''' ---- **photoresize** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/photoresize_wrap.cpp|Changed `CONST` to `const`||& &|generic/photoresize_wrap.cpp|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|generic/photoresize_wrap.cpp|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **poApps** %| File | Changes | Comments|% &|Several files|Replaced `"~"` with `file tildeexpand "~"` for Tcl >= 9 using new proc GetHomeDir||& &|Several files|Changed functionality: `ttk::combobox::current` returns empty string instead of -1||& '''Additional comments:''' ---- **poImg** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/UTT_TclIf.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **printer** %| File | Changes | Comments|% &|printer.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|printer.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|printer.c|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& '''Additional comments:''' ---- **rl_json** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|generic/rl_json.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|pkgIndex.tcl.in|Added `string totitle`||& &||Updated `tclconfig` files||& '''Additional comments:''' * BAWT demo gives error: Can't retrieve objType for int ---- **rbc** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST86` to `const`||& &|Several files|Added definition of `_ANSI_ARGS_`||& &|Several files|Added definition of `TCL_VARARGS`||& &|Several files|Removed expressions using obsolete `TCL_INTERP_DESTROYED`||& '''Additional comments:''' * Stopped porting because of lots of other needed changes ---- **ruff** %| File | Changes | Comments|% &|ruff.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& '''Additional comments:''' ---- **shellicon** %| File | Changes | Comments|% &|shellicon.c|Changed `CONST` to `const`||& &|shellicon.c|Replaced `Tcl_AppendResult` with `Tcl_SetResult` for return of image name||& '''Additional comments:''' ---- **shtmlview** %| File | Changes | Comments|% &|shtmlview/shtmlview.tcl|Replaced `$tcl_platform` with `$::tcl_platform` in namespaces||& '''Additional comments:''' ---- **Snack** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|Several files|Changed `CONST86` to `const`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|generic/jkSound.h|Added `#if TCL_MAJOR_VERSION >= 9` to hide obsolete `Tcl_SeekOld` and `Tcl_TellOld`||& &|generic/snack.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|Several files|Removed expressions using obsolete `TCL_INTERP_DESTROYED`||& &|Several files|Removed expressions using obsolete `TCL_PARSE_PART1`||& '''Additional comments:''' ---- **tbcload** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `VOID` to `void`||& &|cmpInt.h|Added definition of `_ANSI_ARGS_`||& &|cmpRead.c|Replaced `TclOffset` with `offsetof`||& &||Updated `tclconfig` files||& '''Additional comments:''' * Critical compiler warnings regarding `int *` vs. `size_t *` with ExceptionRange * `package require tbcload` generates error message: InitTypes: failed to find the int type ---- **tcl3dBasic** %| File | Changes | Comments|% &|CMakeModules/Macros.cmake|Added macro `GET_TCL_MAJOR_VERSION`||& &|tcl3dOgl/Togl/togl.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|tcl3dOgl/Togl/togl.c|Replaced `Tk_Preserve` with `Tcl_Preserve`||& &|tcl3dOgl/Togl/togl.c|Replaced `Tk_Release` with `Tcl_Release`||& &|tcl3dOgl/Togl/togl.c|Replaced `TkpMakeWindow` with `Tk_MakeWindow` for Tcl >= 9||& &|tcl3dOgl/Togl/togl.c|Replaced `panic` with ``Tcl_Panic`||& &|tcl3dOgl/Togl/togl.c|Replaced `Tk_DoWhenIdle` with `Tcl_DoWhenIdle`||& &|tcl3dOgl/Togl/togl.c|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|Several files|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|swigfiles/tcl3dDefines.i|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several pkgIndex.tcl files|Use `source -encoding utf-8` instead of plain `source`||& &|Several pkgIndex.tcl files|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &|Several SWIG files|Adapted SWIG module names||& '''Additional comments:''' ---- **tclcompiler** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|cmpInt.h|Added definition of `_ANSI_ARGS_`||& &|cmpInt.h|Replaced `panic` with `Tcl_Panic`||& &|cmpWrite.c|Replaced `TclOffset` with `offsetof`||& &|cmpWrite.c|Replaced obsolete `TCL_OUT_LINE_COMPILE` with `TCL_ERROR`||& &|cmpWrite.c|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|cmpWrite.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|cmpWrite.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &||Updated `tclconfig` files||& '''Additional comments:''' * Critical compiler warnings regarding `int *` vs. `size_t *` with ForeachVarList ---- **tclcsv** %| File | Changes | Comments|% &|src/tclcsv.c|Changed `CONST` to `const`||& &|pkgIndex.tcl.in|Added `string totitle`||& &|src/csv.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tclgd** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|generic/tclgdtcl.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|generic/tclgd.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tclgd.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **Tclkit** %| File | Changes | Comments|% &|kbskit/generic/kitInit.c|Replaced `TclSetPreInitScript` with `Tcl_SetPreInitScript` for Tcl >= 9||& &|Several files|Changed `CONST` to `const`||& &|Several files|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|Several files|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &|kbskit/library/setupvfs.tcl|Added ability to specify different Tcl and Tk versions.||& &|TclVfs/generic/vfs.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|vqtcl/generic/vlerq.c|Replaced `Tcl_WinUtfToTChar` with `Tcl_UtfToChar16DString`||& &|Several files|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|Several files|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tclparser** %| File | Changes | Comments|% &|tclParser.c|Changed `CONST` to `const`||& &|tclParser.c|Removed `_ANSI_ARGS_` statements||& &|tclParser.c|Used `Tcl_Size` for size parameter of `TclFindElement` for Tcl >= 9||& &|tclParser.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|tclParser.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tclpy** %| File | Changes | Comments|% &|generic/tclpy.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|generic/tclpy.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tclpy.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|pkgIndex.tcl.in.cmake|Added `string totitle`||& '''Additional comments:''' ---- **tcltls** %| File | Changes | Comments|% &|Several files|Removed `_ANSI_ARGS_` statements||& &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|Several files|Changed `VOID` to `void`||& &|tlsIO.c|Replaced `TCL_CHANNEL_VERSION_2` with `TCL_CHANNEL_VERSION_5`||& &|tls.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|tls.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|tls.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|tls.c|Replaced `NULL` or `0` with `(Tcl_Size *)NULL` in functions having `Tcl_Size` as input parameter||& &|pkgIndex.tcl.in|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &||Updated files `config.guess` and `config.sub`||& '''Additional comments:''' ---- **tclvfs** %| File | Changes | Comments|% &|generic/vfs.c|Removed `_ANSI_ARGS_` statements||& &|generic/vfs.c|Changed `CONST` to `const`||& &|generic/vfs.c|Changed `CONST86` to `const`||& &|generic/vfs.c|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|generic/vfs.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/vfs.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|generic/vfs.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|library/vfs.tcl.in|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& &|Several files|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tclws** %| File | Changes | Comments|% &|Several files|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& '''Additional comments:''' ---- **tix** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `VOID` to `void`||& &|generic/tix.h|Added definition of `_ANSI_ARGS_`||& &|generic/tix.h|Added definition of `TCL_VARARGS`||& &|generic/tix.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tixInt.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tixGrSort.c|Replaced `Tcl_DStringTrunc` with `Tcl_DStringSetLength`||& &|Several files|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|Several files|Replaced `Tk_Preserve` with `Tcl_Preserve`||& &|Several files|Replaced `Tk_Release` with `Tcl_Release`||& &|Several files|Replaced `Tk_CancelIdleCall` with `Tcl_CancelIdleCall`||& &|Several files|Replaced `Tk_DoWhenIdle` with `Tcl_DoWhenIdle`||& &|Several files|Replaced `Tk_EventuallyFree` with `Tcl_EventuallyFree`||& &|Several files|Replaced `Tk_BackgroundError` with `Tcl_BackgroundError`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|generic/tixWidget.c|Replaced obsolete `TK_X_EVENTS` with `TCL_WINDOW_EVENTS`||& &|generic/tixWidget.c|Replaced obsolete `TK_DONT_WAIT` with `TCL_DONT_WAIT`||& &|library/Init.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|Makefile.in|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' * BAWT demo does not run ---- **tkdnd** %| File | Changes | Comments|% &|library/tkdnd.tcl|Added `string totitle`||& &|Several files|Replaced `Tk_BackgroundError` with `Tcl_BackgroundError`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|Several files|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|win/OleDND.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|win/OleDND.h|Unicode related changes||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tkhtml** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `VOID` to `void`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|src/htmltcl.c|Added `#include `||& &|src/htmltcl.c|Replaced `Tcl_PkgRequire(interp, "Tcl", "8.X", 0)` with `Tcl_PkgRequire(interp, "Tcl", "8.X-", 0)`||& &|src/htmlimage.c|Added parameter `compRule` to `Tk_PhotoPutBlock` for Tcl >= 9||& &|src/html.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|hv/hv3see.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tklib** %| File | Changes | Comments|% &|Lots of files|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|Lots of files|Replaced `package vsatisfies Tcl 8.X` with `package vsatisfies Tcl 8.X-`||& '''Additional comments:''' ---- **tkpath** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `VOID` to `void`||& '''Additional comments:''' * Stopped porting because of lots of needed Tk_OptionSpec adaptions ---- **tkribbon** %| File | Changes | Comments|% &|CMakeLists.txt|Replaced `tkribbon` with `Tkribbon` in `load` command||& &|generic/TkRibbon_Widget.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|win/TkRibbon.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& '''Additional comments:''' ---- **tksqlite** %| File | Changes | Comments|% &|tksqlite.tcl|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &|tksqlite.tcl|Replaced `ttk` with `::ttk` in namespaces||& &|tksqlite.tcl|Replaced `"~"` with `file tildeexpand "~"` for Tcl >= 9||& '''Additional comments:''' ---- **tktable** %| File | Changes | Comments|% &|generic/tkTable.c|Removed expressions using obsolete `TCL_INTERP_DESTROYED`|TODO|& &|generic/tkTable.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `CONST84` to `const`||& &|Several files|Changed `VOID` to `void`||& &|Several files|Removed `_ANSI_ARGS_` statements||& &|Makefile.in|Replaced `package require Tcl 8.X` with `package require Tcl 8.X-`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **treectrl** %| File | Changes | Comments|% &|Several files|Changed `CONST` to `const`||& &|Several files|Changed `VOID` to `void`||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &|generic/tkTreeUtils.c|Removed `_ANSI_ARGS_` statements||& &|generic/tkTreeCtrl.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/qebind.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/qebind.c|Replaced `Tcl_SavedResult, Tcl_DiscardResult, Tcl_SaveResult, Tcl_RestoreResult` with Tcl9 functions||& &|generic/tkTreeDisplay.c|Replaced `TkpDrawHighlightBorder` with `Tk_DrawHighlightBorder` for Tcl >= 9||& &|generic/tkTreeElem.c|Removed expressions using obsolete `TCL_INTERP_DESTROYED`||& &|Makefile.in|Added `string totitle` ||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **tserialport** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle` ||& &||Updated files `config.guess` and `config.sub`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **twapi** %| File | Changes | Comments|% &|twapi/storage/dirmonitor.c|Replaced `Tcl_UniCharCaseMatch` with `Tcl_StringCaseMatch`||& &|twapi/namedpipe/namedpipe.c|Replaced `Tcl_DriverCloseProc` with `Tcl_DriverClose2Proc`. Changed signature of `NPipeCloseProc`||& &|twapi/namedpipe/namedpipe.c|Replaced `TCL_CHANNEL_VERSION_4` with `TCL_CHANNEL_VERSION_5`||& &|twapi/include/twapi.h|tclStubsPtr->tcl_StaticLibrary not available in Tcl9 anymore. Replaced by Tcl_StaticPackage, which enables compilation, but Tcl_StaticPackage can/should not be used with stubs.||& &|pkgIndex.tcl.in|Added `string totitle` ||& '''Additional comments:''' * Compiles, but does not work with `package require` ---- **tzint** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/tzint.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/tzint.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- **udp** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/udp_tcl.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/udp_tcl.c|Changed `CONST` to `const`||& &|generic/udp_tcl.c|Changed `CONST86` to `const`||& &|generic/udp_tcl.c|Replaced `Tcl_DriverCloseProc` with `Tcl_DriverClose2Proc`. Changed signature of corresponding function.||& &|generic/udp_tcl.c|Added `#include `||& &|generic/udp_tcl.c|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' * BAWT demo gives error: channel type udp must be version TCL_CHANNEL_VERSION_5 ---- **vectcl** %| File | Changes | Comments|% &|pkgIndex.tcl.in|Added `string totitle`||& &|generic/vmparser.c|Changed `CONST` to `const`||& &|generic/vmparser.c|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|generic/vectclInt.h|Added `Tcl_Size` related definitions, if `TCL_SIZE_MAX` is not defined||& &|Several files|Replaced `ìnt` with `Tcl_Size` in functions having `Tcl_Size` as output parameter||& &||Updated `tclconfig` files||& '''Additional comments:''' * BAWT demo gives error: expected integer but got "1.0 0.0 0.0" ---- **winhelp** %| File | Changes | Comments|% &|Makefile.in|Added `string totitle`||& &||Updated `tclconfig` files||& '''Additional comments:''' ---- <> Tcl 9