[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] ---- <> **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%|%|`Works`|`Yes`|`Yes`|`Yes`|||& &|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`|||& &|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`|||& &|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`|||& &|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|& &|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|& &|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:''' ---- **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:''' ----