(based on Tcl/Tk 8.5b3) ''Please note this page is for reference, not discussions'' (see [Changes in Tcl/Tk]) ---- **New Command Line Options** * '''tclsh -encoding''' ''encoding'' [http://tip.tcl.tk/137] [http://tip.tcl.tk/151] * '''wish -encoding''' ''encoding'' ---- **Tcl Changes** ***New Language Syntax*** * [{*}]''word'' [http://tip.tcl.tk/157] [http://tip.tcl.tk/293] ***Changes to Tcl Commands*** ****New Commands**** * [apply] [http://tip.tcl.tk/194] * [chan] [http://tip.tcl.tk/208] [http://tip.tcl.tk/219] [http://tip.tcl.tk/287] * [dict] [http://tip.tcl.tk/111] [http://tip.tcl.tk/163] [http://tip.tcl.tk/212] * [lassign] [http://tip.tcl.tk/57] * [lrepeat] [http://tip.tcl.tk/136] * [lreverse] [http://tip.tcl.tk/272] * [tcl::mathfunc]::[abs] [http://tip.tcl.tk/232] * 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] [http://tip.tcl.tk/182] * tcl::mathfunc::[entier] [http://tip.tcl.tk/237] * tcl::mathfunc::[isqrt] [http://tip.tcl.tk/299] * tcl::mathfunc::[min] [http://tip.tcl.tk/255] * tcl::mathfunc::[max] [http://tip.tcl.tk/255] * [tcl::mathop]::[!] [http://tip.tcl.tk/174] * 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::[**] [http://tip.tcl.tk/123] [http://tip.tcl.tk/274] * tcl::mathop::[in] [http://tip.tcl.tk/201] * tcl::mathop::[ni] * [tcl::pkgconfig] [http://tip.tcl.tk/59] * [tcl::tm::path] [http://tip.tcl.tk/189] * [tcl::tm::roots] * [unload] [http://tip.tcl.tk/100] ****Removed Commands**** * '''pkg_compareExtension''' ****New Subcommands**** * [clock add] [http://tip.tcl.tk/173] * [clock microseconds] [http://tip.tcl.tk/209] * [clock milliseconds] [http://tip.tcl.tk/209] * [encoding dirs] [http://tip.tcl.tk/258] * [info frame] [http://tip.tcl.tk/280] * [interp bgerror] [http://tip.tcl.tk/221] * [interp limit] [http://tip.tcl.tk/143] * [namespace ensemble] [http://tip.tcl.tk/112] * [namespace path] [http://tip.tcl.tk/229] * [namespace unknown] [http://tip.tcl.tk/181] * [namespace upvar] [http://tip.tcl.tk/250] * [package prefer] [http://tip.tcl.tk/268] * [string is list] [http://tip.tcl.tk/269] * [string is wideinteger] [http://tip.tcl.tk/188] * [string reverse] [http://tip.tcl.tk/272] ****Expanded Syntax / New Options**** * [binary format] '''tnmrRqQ''' ''arg ...'' [http://tip.tcl.tk/129] * [binary scan] ''value'' '''tnmrRqQu''' [http://tip.tcl.tk/129] [http://tip.tcl.tk/275] * [catch] ''script'' ?''resultVar''? ?''optionsArray''? [http://tip.tcl.tk/90] * [clock scan] ''string'' ?'''-format''' ''format''? ?'''-locale''' ''name''? ?'''-timezone''' ''timeZone''? [http://tip.tcl.tk/173] * [clock format] ''integer'' ?'''-locale''' ''name''? ?'''-timezone''' ''timeZone''? ?'''-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%+'''? [http://tip.tcl.tk/173] * [exec] ?'''-ignorestderr'''? ''executable'' ?2>@1? [http://tip.tcl.tk/202] [http://tip.tcl.tk/267] * New [expr] operators: '''**''', '''in''', '''ni''' [http://tip.tcl.tk/123] [http://tip.tcl.tk/274] [http://tip.tcl.tk/201] * New [expr] functions: '''bool()''', '''entier()''', '''isqrt()''', '''min()''', '''max()''' [http://tip.tcl.tk/182] [http://tip.tcl.tk/237] [http://tip.tcl.tk/299] [http://tip.tcl.tk/255] [http://tip.tcl.tk/255] * [file attributes] '''-readonly -creator -type -hidden -rsrclength''' [http://tip.tcl.tk/118] * [format] '''%lld%lli%llo%llx%llX''' [http://tip.tcl.tk/237] * [interp invokehidden] ''interp'' '''-namespace''' ''namespace'' [http://tip.tcl.tk/207] * [lsearch] '''-index''' '''-nocase''' '''-subindices''' [http://tip.tcl.tk/127] [http://tip.tcl.tk/241] * [lsort] '''-indices''' '''-nocase''' [http://tip.tcl.tk/217] [http://tip.tcl.tk/241] * [open] ''filename'' '''BINARY''' [http://tip.tcl.tk/183] * [open] ''filename'' [[rwa]]'''b''' * [open] {'''|''' ''executable'' '''2>@1'''} [http://tip.tcl.tk/202] * [package present] ''package'' ?''requirement'' ...? [http://tip.tcl.tk/268] * [package require] ''package'' ?''requirement'' ...? [http://tip.tcl.tk/268] * [package vsatisfies] ''requirement'' ...? [http://tip.tcl.tk/268] * [return] '''-level''' ''level'' '''-errorline''' ''line'' [http://tip.tcl.tk/90] * [scan] '''%lld%lli%llo%llx%llX''' [http://tip.tcl.tk/237] * [source] '''-encoding''' ''encoding'' [http://tip.tcl.tk/137] [http://tip.tcl.tk/151] * [switch] '''-nocase''' '''-matchvar''' ''varName'' '''-indexvar''' ''varName'' [http://tip.tcl.tk/75] [http://tip.tcl.tk/241] ***Changes to Tcl variables*** ****New global variables**** * [tcl_platform]('''pointerSize''') [http://tip.tcl.tk/291] ****Removed global variables**** * [auto_oldpath] * [tcl_libPath] [http://tip.tcl.tk/258] ***Changed Tcl behavior*** * [clock clicks] returns microseconds since the epoch [http://tip.tcl.tk/124] * [expr]: script level definition of functions [http://tip.tcl.tk/232] * [expr], [incr], [string is double]: Unlimited range of integer values supported; integer calculations no longer overflow [http://tip.tcl.tk/237] * [incr]: auto-initializes unset variable [http://tip.tcl.tk/215] * [global] ''varName'' '''(''' ''elemName'' ''')''' raises error [http://tip.tcl.tk/184] * [lindex],[linsert],[lrange],[lreplace],[lset],[string index]: indices support ''integer''[[+-]]''integer'' and '''end'''[[+-]]''integer'' syntax [http://tip.tcl.tk/176] * [list]: properly quotes the '''#''' character [http://tip.tcl.tk/148] * [namespace import] returns imported commands [http://tip.tcl.tk/261] * [package unknown] callback takes {''packageName'' '''args'''} arguments where '''args''' is list of requirements. [http://tip.tcl.tk/268] * [upvar] ''level'' ''varName'' '''(''' ''elemName'' ''')''' ''varName'' '''(''' ''elemName'' ''')''' raises error [http://tip.tcl.tk/184] * Default value of [tcl_precision] is '''0''', meaning ''as many digits as needed for no loss of precision'' [http://tip.tcl.tk/132] * Default [package unknown] supports Tcl Modules [http://tip.tcl.tk/189] * [tcl_precision] has the value 0 by default (was 12 in Tcl 8.4) * The following commands are script-modifiable [ensemble]s: [chan], [clock], [dict], [info], [string] ---- **Tk Changes** ***Changes to Tk Commands*** ****New Commands**** * [tk::pkgconfig] [http://tip.tcl.tk/205] * tk::[button] [http://tip.tcl.tk/248] * 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] [http://tip.tcl.tk/146] * ''[menu]'' '''xposition''' ''index'' [http://tip.tcl.tk/286] * ''[text]'' '''count''' [http://tip.tcl.tk/155] * ''[text]'' '''peer''' [http://tip.tcl.tk/169] * ''[text]'' '''replace''' [http://tip.tcl.tk/155] * [text] ''window'' '''-blockcursor''' ''boolean'' '''-tabstyle''' ''style'' [http://tip.tcl.tk/155] [http://tip.tcl.tk/256] * [tk inactive] [http://tip.tcl.tk/245] * [wm iconphoto] [http://tip.tcl.tk/159] * [wm manage] and [wm forget] [http://tip.tcl.tk/125] ****Expanded Syntax / New Options**** * ''[canvas]'' '''create line -smooth raw''' [http://tip.tcl.tk/168] * ''[canvas]'' '''create line -smooth true''' * ''[canvas]'' '''create polygon -smooth raw''' * ''[canvas]'' '''create polygon -smooth true''' * ''[canvas]'' '''create text -underline''' ''index'' [http://tip.tcl.tk/260] * [checkbutton] '''-tristatevalue''' ''value'' '''-tristateimage''' ''image'' [http://tip.tcl.tk/110] * [event generate] ''window'' ''event'' '''-data''' ''string'' [http://tip.tcl.tk/165] * [font actual] ''font'' ''char'' [http://tip.tcl.tk/300] * ''[panedwindow]'' '''paneconfigure''' ''window'' '''-hide''' ''boolean'' '''-stretch''' ''value'' [http://tip.tcl.tk/177] [http://tip.tcl.tk/179] * [radiobutton] '''-tristatevalue''' ''value'' '''-tristateimage''' ''image'' [http://tip.tcl.tk/110] * ''[text]'' '''search -all -nolinestop''' [http://tip.tcl.tk/113] * [tk_messageBox] '''-detail''' ''detail'' [http://tip.tcl.tk/152] * [wm attributes] '''-alpha''' ''fraction'' '''-fullscreen -topmost -zoomed''' [http://tip.tcl.tk/222] [http://tip.tcl.tk/223] [http://tip.tcl.tk/231] and '''-notify''' (on MacOS X) * '''-typevariable''' added to [tk_getOpenFile] and [tk_getSaveFile] [http://tip.tcl.tk/242] * [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 [http://tip.tcl.tk/109] * [grid columnconfigure], [grid rowconfigure]: accept widget names and '''all''' [http://tip.tcl.tk/147] * [text] does smooth scrolling [http://tip.tcl.tk/155] * [winfo toplevel] supports extension-created windows [http://tip.tcl.tk/153] * Photo out of memory give error, not panic [http://tip.tcl.tk/116] * Enhanced Tk Font Handling (named fonts, etc.) [http://tip.tcl.tk/145] ****New Events**** * '''''' [http://tip.tcl.tk/204] * '''''' [http://tip.tcl.tk/204] * '''''' on Windows [http://tip.tcl.tk/158] ---- **Changes to Bundled Packages** ***New packages*** * [ttk::theme::alt] '''8.5''' [http://tip.tcl.tk/248] * [ttk::theme::classic] '''8.5''' [http://tip.tcl.tk/248] * [ttk::theme::default] '''8.5''' [http://tip.tcl.tk/248] * [ttk::theme::clam] '''8.5''' [http://tip.tcl.tk/248] * [tile] '''0.8.0''' [http://tip.tcl.tk/248] * [Ttk] '''8.5b2''' [http://tip.tcl.tk/248] * [platform] '''1.0.3''' [http://tip.tcl.tk/291] * [platform::shell] '''1.1.3''' [http://tip.tcl.tk/291] * [tcl::tommath] '''8.5b2''' ***Updated packages*** * [dde] 1.3.2 [http://tip.tcl.tk/120] [http://tip.tcl.tk/130] [http://tip.tcl.tk/135] * [msgcat] 1.4.2 [http://tip.tcl.tk/156] * [opt] 0.4.5 * [registry] 1.2.1 * [tcltest] 2.3b1 ---- [What other kinds of changes will a developer have to make when moving from Tcl 8.4 to 8.5?] ---- !!!!!! %|[Category Documentation]|[Changes in Tcl/Tk]|% !!!!!!