New Command Line Options edit
Tcl Changes edit
New Language Syntax
Changes to Tcl Commands
New Commands
- apply [5]
- chan [6] [7] [8]
- dict [9] [10] [11]
- lassign [12]
- lrepeat [13]
- lreverse [14]
- tcl::mathfunc::abs [15]
- tcl::mathfunc::acos
- tcl::mathfunc::asin
- tcl::mathfunc::atan
- tcl::mathfunc::ceil
- tcl::mathfunc::cos
- tcl::mathfunc::cosh
- tcl::mathfunc::double
- tcl::mathfunc::exp
- tcl::mathfunc::floor
- tcl::mathfunc::fmod
- tcl::mathfunc::hypot
- tcl::mathfunc::int
- tcl::mathfunc::log
- tcl::mathfunc::log10
- tcl::mathfunc::pow
- tcl::mathfunc::rand
- tcl::mathfunc::round
- tcl::mathfunc::sin
- tcl::mathfunc::sqrt
- tcl::mathfunc::srand
- tcl::mathfunc::tan
- tcl::mathfunc::tanh
- tcl::mathfunc::wide
- tcl::mathfunc::bool [16]
- tcl::mathfunc::entier [17]
- tcl::mathfunc::isqrt [18]
- tcl::mathfunc::min [19]
- tcl::mathfunc::max [20]
- tcl::mathop::! [21]
- tcl::mathop::!=
- tcl::mathop::%
- tcl::mathop::&
- tcl::mathop::*
- tcl::mathop::+
- tcl::mathop::-
- tcl::mathop::/
- tcl::mathop::<
- tcl::mathop::<<
- tcl::mathop::<=
- tcl::mathop::==
- tcl::mathop::>
- tcl::mathop::>=
- tcl::mathop::>>
- tcl::mathop::^
- tcl::mathop::eq
- tcl::mathop::ne
- tcl::mathop::|
- tcl::mathop::~
- tcl::mathop::** [22] [23]
- tcl::mathop::in [24]
- tcl::mathop::ni
- tcl::pkgconfig [25]
- tcl::tm::path [26]
- tcl::tm::roots
- unload [27]
Removed Commands
- pkg_compareExtension
New Subcommands
- clock add [28]
- clock microseconds [29]
- clock milliseconds [30]
- encoding dirs [31]
- info frame [32]
- interp bgerror [33]
- interp limit [34]
- namespace ensemble [35]
- namespace path [36]
- namespace unknown [37]
- namespace upvar [38]
- package prefer [39]
- string is list [40]
- string is wideinteger [41]
- string reverse [42]
Expanded Syntax / New Options
- binary format tnmrRqQ arg ... [43]
- binary scan value tnmrRqQu [44] [45]
- catch script ?resultVar? ?optionsArray? [46]
- clock scan string ?-format format? ?-locale name? ?-timezone timeZone? [47]
- clock format integer ?-locale name? ?-timezone timeZone? ?-format format? [48]
- New format sequences for format: %Ec %EC %EE %Ex %EX %Ey %EY %J %N %Od %Oe %OH %OI %Ok %Ol %Om %OM %OS %Ou %Ow %Oy %P %Q %z %+
- exec ?-ignorestderr? executable ?2>@1? [49] [50]
- New expr operators: **, in, ni [51] [52] [53]
- New expr functions: bool(), entier(), isqrt(), min(), max() [54] [55] [56] [57] [58]
- file attributes -readonly -creator -type -hidden -rsrclength [59]
- format %lld%lli%llo%llx%llX [60]
- interp invokehidden interp -namespace namespace [61]
- lsearch -index -nocase -subindices [62] [63]
- lsort -indices -nocase [64] [65]
- open filename BINARY [66]
- open filename [rwa]b
- open {| executable 2>@1} [67]
- package present package ?requirement ...? [68]
- package require package ?requirement ...? [69]
- package vsatisfies requirement ...? [70]
- return -level level -errorline line [71]
- scan %lld%lli%llo%llx%llX [72]
- source -encoding encoding [73] [74]
- switch -nocase -matchvar varName -indexvar varName [75] [76]
New unsupported commands
Changes to Tcl variables
New global variables
- tcl_platform(pointerSize) [77]
Removed global variables
Changed Tcl behavior
- clock clicks returns microseconds since the epoch [79]
- expr: script level definition of functions [80]
- expr, incr, [string is double]: Unlimited range of integer values supported; integer calculations no longer overflow [81]
- incr: auto-initializes unset variable [82]
- global varName ( elemName ) raises error [83]
- lindex,linsert,lrange,lreplace,lset,string index: indices support integer[+-]integer and end[+-]integer syntax [84]
- list: properly quotes the # character [85]
- namespace import returns imported commands [86]
- package unknown callback takes {packageName args} arguments where args is list of requirements. [87]
- upvar level varName ( elemName ) varName ( elemName ) raises error [88]
- Default value of tcl_precision is 0, meaning as many digits as needed for no loss of precision [89]
- Default package unknown supports Tcl Modules [90]
- The following commands are script-modifiable ensembles: chan, clock, dict, info, string
Tk Changes edit
Changes to Tk Commands
New Commands
- tk::pkgconfig [91]
- tk::button [92]
- tk::canvas
- tk::checkbutton
- tk::entry
- tk::frame
- tk::label
- tk::labelframe
- tk::listbox
- tk::menubutton
- tk::message
- tk::panedwindow
- tk::radiobutton
- tk::scale
- tk::scrollbar
- tk::spinbox
- tk::text
- tk::toplevel
- ttk::button
- ttk::checkbutton
- ttk::combobox
- ttk::entry
- ttk::frame
- ttk::labelframe
- ttk::label
- ttk::menubutton
- ttk::notebook
- ttk::panedwindow
- ttk::progressbar
- ttk::radiobutton
- ttk::scrollbar
- ttk::separator
- ttk::sizegrip
- ttk::style
- ttk::treeview
New Subcommands
- grid anchor [93]
- menu xposition index [94]
- text count [95]
- text peer [96]
- text replace [97]
- text window -blockcursor boolean -tabstyle style [98] [99]
- tk inactive [100]
- wm iconphoto [101]
- wm manage and wm forget [102]
Expanded Syntax / New Options
- canvas create line -smooth raw [103]
- canvas create line -smooth true
- canvas create polygon -smooth raw
- canvas create polygon -smooth true
- canvas create text -underline index [104]
- checkbutton -tristatevalue value -tristateimage image [105]
- event generate window event -data string [106]
- font actual font char [107]
- panedwindow paneconfigure window -hide boolean -stretch value [108] [109]
- radiobutton -tristatevalue value -tristateimage image [110]
- text search -all -nolinestop [111]
- tk_messageBox -detail detail [112]
- wm attributes -alpha fraction -fullscreen -topmost -zoomed [113] [114] [115] and -notify (on MacOS X)
- -typevariable added to tk_getOpenFile and tk_getSaveFile [116]
- grid: adds the grid anchor command and the default anchor is nw (while 8.4 behavior was center)
Changed Tk behavior
- checkbutton, radiobutton: new look [117]
- grid columnconfigure, grid rowconfigure: accept widget names and all [118]
- text does smooth scrolling [119]
- winfo toplevel supports extension-created windows [120]
- Photo out of memory give error, not panic [121]
- Enhanced Tk Font Handling (named fonts, etc.) [122]
New Events
Changes to Bundled Packages edit
New packages
- ttk::theme::alt 8.5 [126]
- ttk::theme::classic 8.5 [127]
- ttk::theme::default 8.5 [128]
- ttk::theme::clam 8.5 [129]
- tile 0.8.0 [130]
- Ttk 8.5.0 [131]
- platform 1.0.3 [132]
- platform::shell 1.1.3 [133]
- tcl::tommath 8.5.0
Updated packages
What other kinds of changes will a developer have to make when moving from Tcl 8.4 to 8.5?
- [Migration to 8.5: Big integers]
- [Migration to 8.5: Tile]
- Tcl/Tk 8.5: New public C routines


