Tcl (Tool Command Language) is an interpreted scripting language optimized for portability and embedding. It's usually used in unison with its companion Tk GUI toolkit. All language operations are commands in prefix notation, and strings are used as most basic data construct, which both allow for variadic and dynamic uses. TclOO adds object-oriented semantics.
Homepage
Download
Recent Releases
8.6.823 Dec 2017 19:59
minor bugfix:
This is a patch release, so it primarily includes bug fixes and corrections
to erratic behavior. Highlighted changes are noted below. The changes file
at the root of the source tree contains a more complete list.
* TIP 477 nmake build system reform
* Support for backrefs in array names -regexp
* info * methods includes mixins
* package prefer stable failing case
* More robust load for ReactOS
* Fix crashes or hangs in...
- traced namespace teardown
- method cloning, oo-15.15
- hash table overflow 32 bits
- ensemble configure -map x -subcommands x
- memory exhaustion, imgPhoto-18.*
- photo image copy to self
- scale set with a bignum value
* Fix memory leaks in...
- text B-tree operations
- photo image operations
- Tk platform code for macOS 10.13
* Canvas closed polylines fully honor -joinstyle
* Fix coords rounding when drawing canvas items
* Linux fontchooser sync with available fonts
* Canvas rotated text overlap detection
* Display of Long non-wrapped lines in text
* Drop support for macOS 10.5
* Tk improvements on macOS...
- Implement wm_iconphoto
- colorspace improvement
- scrolling issues
- clipping regions in scrolling and drawing
- redraw artifacts
- responsive menu bar for command line apps
- support png from mac screenshots
- file selector "all types" setting
- fixes for raise
- support of menu -postcommand
- enable custom icon display
- fix bind failures
- make tk busy -cursor a silent no-op
- wm withdraw on Window and Dock menus
* Updated bundled packages
- Itcl 4.1.1 (incompatible with Itk 4.0, get Itk 4.1)
- sqlite3 3.21.0
- Thread 2.8.2
- tdbc* 1.0.6
- http 2.8.12
8.6.729 Oct 2017 13:29
minor bugfix:
Many bug fixes.
Expanded Syntax / New Options:
oo::copy source target namespace TIP #473
Modified Behavior:
interp alias allows empty command as target
clock and encoding are now ensembles
Updated packages:
tcltest 2.4.1
http 2.8.11
msgcat 1.6.1
Itcl 4.1.0
Thread 2.8.1
sqlite 3.20.0
tdbc* 1.0.5
8.6.611 Jun 2017 16:22
minor bugfix:
Modified Behavior:
file support for more Windows filesystem conventions;
namespace upvar ignores custom resolvers;
namespace delete now has linear performance in size of namespace;
Updated packages:
tcltest 2.4.0: (TIP 447) execution time verbosity option;
registry 1.3.2;
Itcl 4.0.5;
Thread 2.8.0;
sqlite 3.13.0;
8.6.511 Jun 2017 16:20
minor bugfix:
Expanded Syntax / New Options: info object isa returns false rather than error TIP #436 ;
Updated packages:
Itcl 4.0.4;
sqlite3 3.11.0;
tdbc 1.0.4;
tdbc::mysql 1.0.4;
tdbc::odbc 1.0.4;
tdbc::postgres 1.0.4;
tdbc::sqlite3 1.0.4;
Thread 2.7.3;
8.6.423 May 2015 16:56
minor bugfix:
* Updated file dialogs on Windows.
* Restore ability to read again from a channel after EOF.
* Incompatible result from lreplace 1 1 .
* Incompatible result from lappend foo .
* Incorrect result from regsub -all (.* a(b) .
* Restore ability to open comX: r+ .
* Fixed scale handling of negative resolution values.
* Fixed crashes in...
- oo::class destroy .
- apply try on ok - on return .
- improperly optimized expr ession bytecode.
- array set of a traced array.
- scale .s -digits tooBig .
* Bytecode optimized for string cat .
* Support for Windows 10.
8.6.310 Nov 2014 17:05
minor bugfix:
* Updated file dialogs on Windows.
* Restore ability to read again from a channel after EOF.
* Incompatible result from lreplace 1 1 .
* Incompatible result from lappend foo .
* Incorrect result from regsub -all (.* a(b) .
* Restore ability to open comX: r+ .
* Fixed scale handling of negative resolution values.
* Fixed crashes in...
- oo::class destroy .
- apply try on ok - on return .
- improperly optimized expr ession bytecode.
- array set of a traced array.
- scale .s -digits tooBig .
* Bytecode optimized for string cat .
* Support for Windows 10.
8.5.1622 Aug 2014 21:58
minor bugfix:
* Many fixes and improvements to Tk on OSX Cocoa and Retina displays.
Build support for Xcode 5.1+.
* Update to Unicode 7.0.
*** POTENTIAL INCOMPATIBILITY ***
* Enhancement: E G X support in scan .
* Enhancement: PPM image write now permits max value of 65535.
* Fix: bad components in image write files with transparency.
* Fix: menu event race that made popup vanish immediately.
* Fix: Win: avoid stall in async socket connect.
* Fix: Win: readable event on async connect failure.
* Fix: combobox invalid state from interactive selection.
* Fix: Maintain validity in use of bytearray optimizations.
* Workaround: TCL_TEMPLOAD_NO_UNLINK for load from kit troubles.
* Fixed crashes in...
- dict bytecode compilers
- trace-induced race deleting a command and its import
- recursive reflected channel operations
- suicidal close or interp delete in reflected channel ops
- unstacking stacked channels in mid-operation.
- multi-threaded reflected channel map teardown
* Revised refcount usage for Tcl_SetVar*(..,TCL_APPEND_VALUE)
*** POTENTIAL INCOMPATIBILITY ***
* Stop eof blocked state leakage through stacked channels
*** POTENTIAL INCOMPATIBILITY for channel drivers ***
* Tcl_Channel is no longer Tcl_Preserve()-able.
*** POTENTIAL INCOMPATIBILITY ***
* Fix: channel background flush workaround broken select() syscalls.
* Fix: Tcl_CreateNamespace(..., "foo::", ...) deletion failures.
* Fix: many info frame line number reports.
* Fix: Win: avoid serial channel double open; Bluetooth woes.
* Fix: Win: no in normalized extended paths.
* Significant refactoring in I/O core functions.
* Win: update sockets implementation to use Winsock 2.2 .
* Platform support improvements: Win 8.1, FreeBSD 10.0, HP-UX.
* Fix: X: handling of fontconfig dependency in Tk builds.
* New