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