Check-in [baa2c94595]

Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:CFV by DKF: 461, 521, 528, 532, 536
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: baa2c945957879bf065a5457341965a5875d259ec76b88e9e09e123807562487
User & Date: dkf 2019-06-08 14:15:06
Context
2019-06-08
16:51
Updated where TIP 167's implementation is. check-in: 81708cd9ed user: dkf tags: trunk
14:15
CFV by DKF: 461, 521, 528, 532, 536 check-in: baa2c94595 user: dkf tags: trunk
12:51
TIP 346 does *not* have an implementation at all. check-in: b9ed346070 user: dkf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to index.json.

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
...
547
548
549
550
551
552
553
554
	"543":{"url":"./tip/543.md","keywords":"Tcl, traces","created":"10-May-2019","post-history":"","state":"Draft","vote":"Pending","tcl-version":"9.0","type":"Project","title":"# TIP 543: Eliminate TCL\\_INTERP\\_DESTROYED flag value","author":["Don Porter <[email protected]>"],"is-jest":false},
	"542":{"url":"./tip/542.md","keywords":"Tcl","created":"10-May-2019","post-history":"","state":"Draft","tcl-branch":"utf-max","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 542:Support for switchable (Androwish-compatible) Full Unicode support.","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false},
	"541":{"url":"./tip/541.md","keywords":"Tcl","created":"8-May-2019","post-history":"","state":"Final","tcl-branch":"bug-2858503fff","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 541: Add support for 'end' index in ttk::combobox current","author":["Francois Vogel <[email protected]>"],"is-jest":false},
	"540":{"url":"./tip/540.md","keywords":"Tcl, Unix, pipeline","created":"03-May-2019","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 540: Add -signal Channel Configure Option to POSIX Pipes","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"539":{"url":"./tip/539.md","tcl-ticket":"2370575","keywords":"Tcl, dict filter, set intersection","created":"27-Nov-2008","obsoleted-by":"341","post-history":"","state":"Withdrawn","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 539: Multiple dict filter patterns","author":["Lars Hellström <[email protected]>"],"is-jest":false},
	"538":{"url":"./tip/538.md","keywords":"Tcl","created":"9-April-2019","post-history":"","state":"Draft","tcl-branch":"digit-bit-60","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 538: Externalize libtommath","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"537":{"url":"./tip/537.md","keywords":"Tcl","created":"7-April-2019","post-history":"","state":"Final","tcl-branch":"regexp-api-64bit","tcl-version":"9.0","vote":"Done","type":"Project","title":"# TIP 537: Enable 64-bit indexes in regexp matching","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"536":{"url":"./tip/536.md","keywords":"Tk","created":"29-March-2019","post-history":"","state":"Draft","tk-branch":"mac_services","tcl-version":"8.6","vote":"","type":"Project","title":"# TIP 536: Improvements to Mac-specific IPC in Tk","author":["Kevin Walzer <[email protected]>"],"is-jest":false},
	"535":{"url":"./tip/535.md","keywords":"Tcl","created":"10-March-2019","post-history":"","state":"Final","tcl-branch":"scale-tick-format","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 535: Remove trailing zeroes in scale ticks","author":["François Vogel <[email protected]>"],"is-jest":false},
	"534":{"url":"./tip/534.md","keywords":"Tcl","created":"02-March-2019","post-history":"","state":"Draft","tcl-branch":"dkf-experimental-fast-number-hash","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 534: Faster Hashing of Small Integers","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"533":{"url":"./tip/533.md","keywords":"Tk, menubutton","":"","[menu man page](https":"//www.tcl.tk/man/tcl/TkCmd/menu.htm).","state":"Final","type":"Project","tk-branch":"bug-70e531918e","author":["Marc Culler"],"three arguments":"two coordinates and an index.  That function uses the","[70e531918e](https":"//core.tcl-lang.org/tk/tktview/70e531918e6d99cbdd8b527386fec15872c64216).","created":"13-Jan-2019","by calling <b>":":tk::PostOverPoint</b> which, like the proposed extension, accepts","a method <b>[nsmenu popupmenupositioningitem":"atLocation:inView]</b> which draws the","title":"# TIP 533: Extension of the menu post command.","the [bug-70e531918e](https":"//core.tcl-lang.org/tk/timeline?r=bug-70e531918e)","post-history":"","vote":"Done","tcl-version":"8.6","is-jest":false},
	"532":{"url":"./tip/532.md","manual (`man bind`) says":"","moreover the following issues have been solved":"","keywords":"Tk, bind, event, event loop","":"","this has been observed in applications [scid](http":"//scid.sourceforge.net), and","state":"Draft","says (`man bind`)":"","type":"Project","tk-branch":"bug6e8afe516d","author":["Gregor Cramer <[email protected]>"],"(same with applications [scid](http":"//scid.sourceforge.net), and","5. legacy implementation cannot handle homogeneous equal sequences properly, see this script":"","2. immediately after startup of application [scidb](http":"//scidb.sourceforge.net)","created":"09-Jan-2019","title":"# TIP 532: Re-implementation of event loop processing.","how to choose the most specific binding, has to be changed":"","4. see following code":"","can be expressed in a different way":"","this problem occurs often in application [scidb](http":"//scidb.sourceforge.net),","post-history":"","vote":"Pending","tcl-version":"8.6","[scid vs pc](http":"//scidvspc.sourceforge.net).","the following problems, caused by event ring overflow, have been solved":"","is-jest":false},
	"531":{"url":"./tip/531.md","keywords":"Tcl, stubs","":"","state":"Draft","type":"Project","author":["Shannon Noe <[email protected]>"],"created":"14-Dec-2018","title":"# TIP 531: Static Tcl Interpreter Creation Function","post-history":"","vote":"Pending","tcl-version":"8.7","tcl-branch":"tip-531","/usr/local/include/tcl8.6/tcldecls.h":"#define Tcl_CreateInterp \\","is-jest":false},
	"530":{"url":"./tip/530.md","created":"13-Dec-2018","post-history":"","state":"Draft","tcl-branch":"tip-530","tcl-version":"8.6","vote":"Pending","type":"Project","title":"# TIP 530: Control over performance impact of TIP 280","author":["Leon Manukyan <[email protected]>"],"is-jest":false},
	"529":{"url":"./tip/529.md","keywords":"Tk, image","created":"07-Dec-2018","state":"Draft","tk-branch":"tip-529-image-metadata","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 529: Add metadata dict property to tk photo image","author":["Harald Oehlmann <[email protected]>"],"is-jest":false},
	"528":{"url":"./tip/528.md","created":"05-Dec-2018","post-history":"","state":"Draft","tk-branch":"offsetof","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 528: Deprecate Tk_Offset()","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"527":{"url":"./tip/527.md","state":"Final","type":"Project","author":["Sergey G. Brester <[email protected]>"],"votes-against":"None","vote-results":"5/0 accepted","votes-for":"KBK, DKF, AK, SL, FV","created":"26-Nov-2018","title":"# TIP 527: New measurement facilities in TCL: New command timerate.","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"sebres-8-6-timerate","discussions-to":"news:comp.lang.tcl","is-jest":false},
	"526":{"url":"./tip/526.md","created":"08-Nov-2018","post-history":"","state":"Draft","tcl-branch":"tip-526","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 526: Make [expr] Only Accept One Argument","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"525":{"url":"./tip/525.md","keywords":"Tcl, testing, continuous integration","state":"Final","type":"Project","author":["Donal K. Fellows <[email protected]>"],"vote-results":"8/0/0 accepted","votes-for":"KBK, SL, AF, DGP, FV, DKF, AK, JN","votes-against":"none","created":"24-Oct-2018","title":"# TIP 525: Make Tcltest Report Overall Success in a Machine-Readable Way","post-history":"","vote":"Done","tcl-version":"8.5","votes-present":"none","is-jest":false},
	"524":{"url":"./tip/524.md","keywords":"Tcl, object orientation, customization","state":"Final","vote-summary":"Accepted 2/0/4","type":"Project","author":["Donal K. Fellows <[email protected]>"],"votes-against":"none","votes-for":"DKF, JN","created":"23-Oct-2018","title":"# TIP 524: Custom Definition Dialects for TclOO","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-524","votes-present":"BG, KBK, FV, SL","is-jest":false},
	"523":{"url":"./tip/523.md","keywords":"queue, stack, pop","state":"Final","vote-summary":"Accepted 7/0/0","type":"Project","author":["Peter Spjuth <[email protected]>"],"votes-against":"none","votes-for":"DKF, BG, KBK, JN, DGP, FV, SL","created":"22-Oct-2018","title":"# TIP 523: New lpop command","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-523","votes-present":"none","is-jest":false},
	"522":{"url":"./tip/522.md","keywords":"tcltest, error codes","state":"Final","type":"Project","author":["Peter Spjuth <[email protected]>"],"vote-results":"8/0/0 accepted","votes-for":"KBK, SL, AF, DGP, FV, DKF, AK, JN","votes-against":"none","created":"22-Oct-2018","title":"# TIP 522: Test error codes with Tcltest","post-history":"","tcl-branch":"tip-522","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false},
	"521":{"url":"./tip/521.md","keywords":"Tcl, floating point, NaN, not a number","created":"21 October 2018","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 521: Floating Point Classification Functions","author":["Kevin B. Kenny <[email protected]>"],"is-jest":false},
	"520":{"url":"./tip/520.md","keywords":"Tcl, floating point, NaN, not a number","created":"18 October 2018","post-history":"","state":"Draft","tcl-branch":"tip-520","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 520: Make NaN Quiet","author":["Kevin B. Kenny <[email protected]>"],"is-jest":false},
	"519":{"url":"./tip/519.md","":"","keywords":"TclOO","state":"Final","vote-summary":"Accepted 4/0/2","this tip proposes to extend the `method` subcommand of the `oo":":define` command","type":"Project","author":["Pietro Cerutti <[email protected]>"],"votes-against":"none","votes-for":"DKF, KBK, JN, SL","follows":"","oo":":define RPCClient {","created":"18-Oct-2018","title":"# TIP 519: Inline export/unexport option to TclOO method definition","the class definition in the previous example would then be as follows":"","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-519","votes-present":"BG, FV","is-jest":false},
	"518":{"url":"./tip/518.md","keywords":"Tk","state":"Final","vote-summary":"Accepted 6/0/0","type":"Project","tk-branch":"tip518-event-last-child-unmanaged","author":["Harald Oehlmann <[email protected]>"],"votes-against":"none","votes-for":"DKF, BG, KBK, JN, FV, SL","created":"22-Sep-2018","title":"# TIP 518: Virtual Event when Last Child is not Managed any more","post-history":"","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false},
	"517":{"url":"./tip/517.md","keywords":"tk menu","created":"13-Sept-2018","post-history":"","state":"Final","tk-branch":"tip-517","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 517: Add -activerelief Configuration Option to the menu widget","author":["François Vogel <[email protected]>"],"is-jest":false},
	"516":{"url":"./tip/516.md","keywords":"Tcl, TclOO","state":"Final","type":"Project","author":["Donal K. Fellows <[email protected]>"],"vote-results":"4/0/5 accepted","votes-for":"DKF, JN, JD, AK","votes-against":"none","created":"7-Sept-2018","title":"# TIP 516: More OO Slot Operations","post-history":"","tcl-branch":"tip-516","vote":"Done","tcl-version":"8.7","votes-present":"BG, KBK, DGP, FV, SL","is-jest":false},
	"515":{"url":"./tip/515.md","state":"Final","type":"Project","author":["Jan Nijtmans <[email protected]>"],"vote-results":"8/0/1 accepted","votes-for":"DKF, KBK, JN, JD, DGP, FV, SL, AK","votes-against":"none","created":"7-Sept-2018","title":"# TIP 515: Level Value Reform","post-history":"","tcl-branch":"tip-515","vote":"Done","tcl-version":"8.7","votes-present":"BG","is-jest":false},
	"514":{"url":"./tip/514.md","keywords":"Tcl","created":"20-Aug-2018","post-history":"","state":"Final","tcl-branch":"tip-514","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 514: Platform differences in handling int/wide","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
................................................................................
	"468":{"url":"./tip/468.md","keywords":"Tcl, socket, SOMAXCONN","created":"03-Apr-2017","post-history":"","state":"Draft","tcl-branch":"tip-468-bis","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 468: Support Passing TCP listen Backlog Size Option to TCP Socket Creation","author":["Shannon Noe <[email protected]>"],"is-jest":false},
	"467":{"url":"./tip/467.md","keywords":"migration","created":"14-Mar-2017","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 467: Move TIP Collection to Fossil","author":["Mark Janssen <[email protected]>"],"is-jest":false},
	"466":{"url":"./tip/466.md","keywords":"Tk,text widget","created":"10-Mar-2017","post-history":"","state":"Draft","tk-branch":"revised_text","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 466: Revised Implementation of the Text Widget","author":["François Vogel <[email protected]>","Gregor Cramer <[email protected]>"],"is-jest":false},
	"465":{"url":"./tip/465.md","created":"03-Mar-2017","post-history":"","state":"Draft","tcl-branch":"tip-465","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 465: Change Rule 8 of the Dodekalogue to Cut Some Corner Cases","author":["Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"464":{"url":"./tip/464.md","keywords":"Tk,keyboard,keycode","created":"28-Jan-2017","post-history":"","state":"Final","tcl-branch":"tip-464","tcl-version":"8.5","vote":"Done","type":"Project","title":"# TIP 464: Support for Multimedia Keys on Windows","author":["Ralf Fassel <[email protected]>","Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"463":{"url":"./tip/463.md","keywords":"Tcl, regular expression","created":"11-Feb-2017","post-history":"","state":"Final","tcl-branch":"tip-463","vote":"Done","tcl-version":"8.7","type":"Project","title":"# TIP 463: Command-Driven Substitutions for regsub","author":["Donal Fellows <[email protected]>"],"is-jest":false},
	"462":{"url":"./tip/462.md","created":"23-Jan-2017","post-history":"","state":"Final","tcl-branch":"tip-462","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 462: Add New [::tcl::process] Ensemble for Subprocess Management","author":["Frédéric Bonnet <[email protected]>"],"is-jest":false},
	"461":{"url":"./tip/461.md","keywords":"Tcl,expression","created":"24-Jan-2017","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 461: Separate Numeric and String Comparison Operators","author":["Kevin B Kenny <[email protected]>","Kevin B Kenny <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"460":{"url":"./tip/460.md","keywords":"Tcl,variable,link,upvar","created":"08-Dec-2016","post-history":"","state":"Draft","tcl-branch":"dah-proc-arg-upvar","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 460: An Alternative to Upvar","author":["Don Hathway <[email protected]>"],"is-jest":false},
	"459":{"url":"./tip/459.md","keywords":"Tcl,package","created":"08-Dec-2016","post-history":"","state":"Final","tcl-branch":"package_files","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 459: Tcl Package Introspection Improvements","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"458":{"url":"./tip/458.md","keywords":"event loop,scalability","created":"24-Nov-2016","post-history":"","state":"Final","tcl-branch":"tip-458","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 458: Add Support for epoll() and kqueue() in the Notifier","author":["Lucio Andrés Illanes Albornoz <[email protected]>","Lucio Andrés Illanes Albornoz <[email protected]>"],"is-jest":false},
	"457":{"url":"./tip/457.md","keywords":"Tcl,procedure,argument handling","created":"21-Nov-2016","post-history":"","state":"Draft","tcl-branch":"tip-457","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 457: Add Support for Named Arguments","author":["Mathieu Lafon <[email protected]>","Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"456":{"url":"./tip/456.md","keywords":"Tcl,socket,SO_REUSEPORT,SO_REUSEADDR","created":"18-Nov-2016","post-history":"","state":"Final","tcl-branch":"tip-456","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 456: Extend the C API to Support Passing Options to TCP Server Creation","author":["LemonBoy <[email protected]>","lime boy <[email protected]>"],"is-jest":false},
	"455":{"url":"./tip/455.md","keywords":"Tcl, event loop","created":"07-Oct-2016","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 455: Extensions to [vwait]: Variable Sets and Scripted Access to Tcl_DoOneEvent","author":["Christian Werner <[email protected]>"],"is-jest":false},
	"454":{"url":"./tip/454.md","keywords":"Tk","created":"21-Sep-2016","post-history":"","state":"Withdrawn","tcl-version":"8.6.6","vote":"Done","type":"Project","title":"# TIP 454: Automatically Resize Frames After Last Child Removed","author":["Harald Oehlmann <[email protected]>","Harald Oehlmann <[email protected]>","François Vogel <[email protected]>"],"is-jest":false},
................................................................................
	"4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false},
	"3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false},
	"2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false},
	"0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false},
	"@min": 0,
	"@max": 549
}, "@timestamp": 1559998244}






|



|



|






|







 







|







 







|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
...
547
548
549
550
551
552
553
554
	"543":{"url":"./tip/543.md","keywords":"Tcl, traces","created":"10-May-2019","post-history":"","state":"Draft","vote":"Pending","tcl-version":"9.0","type":"Project","title":"# TIP 543: Eliminate TCL\\_INTERP\\_DESTROYED flag value","author":["Don Porter <[email protected]>"],"is-jest":false},
	"542":{"url":"./tip/542.md","keywords":"Tcl","created":"10-May-2019","post-history":"","state":"Draft","tcl-branch":"utf-max","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 542:Support for switchable (Androwish-compatible) Full Unicode support.","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false},
	"541":{"url":"./tip/541.md","keywords":"Tcl","created":"8-May-2019","post-history":"","state":"Final","tcl-branch":"bug-2858503fff","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 541: Add support for 'end' index in ttk::combobox current","author":["Francois Vogel <[email protected]>"],"is-jest":false},
	"540":{"url":"./tip/540.md","keywords":"Tcl, Unix, pipeline","created":"03-May-2019","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 540: Add -signal Channel Configure Option to POSIX Pipes","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"539":{"url":"./tip/539.md","tcl-ticket":"2370575","keywords":"Tcl, dict filter, set intersection","created":"27-Nov-2008","obsoleted-by":"341","post-history":"","state":"Withdrawn","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 539: Multiple dict filter patterns","author":["Lars Hellström <[email protected]>"],"is-jest":false},
	"538":{"url":"./tip/538.md","keywords":"Tcl","created":"9-April-2019","post-history":"","state":"Draft","tcl-branch":"digit-bit-60","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 538: Externalize libtommath","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"537":{"url":"./tip/537.md","keywords":"Tcl","created":"7-April-2019","post-history":"","state":"Final","tcl-branch":"regexp-api-64bit","tcl-version":"9.0","vote":"Done","type":"Project","title":"# TIP 537: Enable 64-bit indexes in regexp matching","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"536":{"url":"./tip/536.md","keywords":"Tk","created":"29-March-2019","post-history":"","state":"Draft","tk-branch":"mac_services","tcl-version":"8.6","vote":"In progress","type":"Project","title":"# TIP 536: Improvements to Mac-specific IPC in Tk","author":["Kevin Walzer <[email protected]>"],"is-jest":false},
	"535":{"url":"./tip/535.md","keywords":"Tcl","created":"10-March-2019","post-history":"","state":"Final","tcl-branch":"scale-tick-format","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 535: Remove trailing zeroes in scale ticks","author":["François Vogel <[email protected]>"],"is-jest":false},
	"534":{"url":"./tip/534.md","keywords":"Tcl","created":"02-March-2019","post-history":"","state":"Draft","tcl-branch":"dkf-experimental-fast-number-hash","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 534: Faster Hashing of Small Integers","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"533":{"url":"./tip/533.md","keywords":"Tk, menubutton","":"","[menu man page](https":"//www.tcl.tk/man/tcl/TkCmd/menu.htm).","state":"Final","type":"Project","tk-branch":"bug-70e531918e","author":["Marc Culler"],"three arguments":"two coordinates and an index.  That function uses the","[70e531918e](https":"//core.tcl-lang.org/tk/tktview/70e531918e6d99cbdd8b527386fec15872c64216).","created":"13-Jan-2019","by calling <b>":":tk::PostOverPoint</b> which, like the proposed extension, accepts","a method <b>[nsmenu popupmenupositioningitem":"atLocation:inView]</b> which draws the","title":"# TIP 533: Extension of the menu post command.","the [bug-70e531918e](https":"//core.tcl-lang.org/tk/timeline?r=bug-70e531918e)","post-history":"","vote":"Done","tcl-version":"8.6","is-jest":false},
	"532":{"url":"./tip/532.md","manual (`man bind`) says":"","moreover the following issues have been solved":"","keywords":"Tk, bind, event, event loop","":"","this has been observed in applications [scid](http":"//scid.sourceforge.net), and","state":"Draft","says (`man bind`)":"","type":"Project","tk-branch":"bug6e8afe516d","author":["Gregor Cramer <[email protected]>"],"(same with applications [scid](http":"//scid.sourceforge.net), and","5. legacy implementation cannot handle homogeneous equal sequences properly, see this script":"","2. immediately after startup of application [scidb](http":"//scidb.sourceforge.net)","created":"09-Jan-2019","title":"# TIP 532: Re-implementation of event loop processing","how to choose the most specific binding, has to be changed":"","4. see following code":"","can be expressed in a different way":"","this problem occurs often in application [scidb](http":"//scidb.sourceforge.net),","post-history":"","vote":"In progress","tcl-version":"8.6","[scid vs pc](http":"//scidvspc.sourceforge.net).","the following problems, caused by event ring overflow, have been solved":"","is-jest":false},
	"531":{"url":"./tip/531.md","keywords":"Tcl, stubs","":"","state":"Draft","type":"Project","author":["Shannon Noe <[email protected]>"],"created":"14-Dec-2018","title":"# TIP 531: Static Tcl Interpreter Creation Function","post-history":"","vote":"Pending","tcl-version":"8.7","tcl-branch":"tip-531","/usr/local/include/tcl8.6/tcldecls.h":"#define Tcl_CreateInterp \\","is-jest":false},
	"530":{"url":"./tip/530.md","created":"13-Dec-2018","post-history":"","state":"Draft","tcl-branch":"tip-530","tcl-version":"8.6","vote":"Pending","type":"Project","title":"# TIP 530: Control over performance impact of TIP 280","author":["Leon Manukyan <[email protected]>"],"is-jest":false},
	"529":{"url":"./tip/529.md","keywords":"Tk, image","created":"07-Dec-2018","state":"Draft","tk-branch":"tip-529-image-metadata","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 529: Add metadata dict property to tk photo image","author":["Harald Oehlmann <[email protected]>"],"is-jest":false},
	"528":{"url":"./tip/528.md","created":"05-Dec-2018","post-history":"","state":"Draft","tk-branch":"offsetof","tcl-version":"8.7","vote":"In progress","type":"Project","title":"# TIP 528: Deprecate Tk_Offset()","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"527":{"url":"./tip/527.md","state":"Final","type":"Project","author":["Sergey G. Brester <[email protected]>"],"votes-against":"None","vote-results":"5/0 accepted","votes-for":"KBK, DKF, AK, SL, FV","created":"26-Nov-2018","title":"# TIP 527: New measurement facilities in TCL: New command timerate.","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"sebres-8-6-timerate","discussions-to":"news:comp.lang.tcl","is-jest":false},
	"526":{"url":"./tip/526.md","created":"08-Nov-2018","post-history":"","state":"Draft","tcl-branch":"tip-526","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 526: Make [expr] Only Accept One Argument","author":["Donal K. Fellows <[email protected]>"],"is-jest":false},
	"525":{"url":"./tip/525.md","keywords":"Tcl, testing, continuous integration","state":"Final","type":"Project","author":["Donal K. Fellows <[email protected]>"],"vote-results":"8/0/0 accepted","votes-for":"KBK, SL, AF, DGP, FV, DKF, AK, JN","votes-against":"none","created":"24-Oct-2018","title":"# TIP 525: Make Tcltest Report Overall Success in a Machine-Readable Way","post-history":"","vote":"Done","tcl-version":"8.5","votes-present":"none","is-jest":false},
	"524":{"url":"./tip/524.md","keywords":"Tcl, object orientation, customization","state":"Final","vote-summary":"Accepted 2/0/4","type":"Project","author":["Donal K. Fellows <[email protected]>"],"votes-against":"none","votes-for":"DKF, JN","created":"23-Oct-2018","title":"# TIP 524: Custom Definition Dialects for TclOO","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-524","votes-present":"BG, KBK, FV, SL","is-jest":false},
	"523":{"url":"./tip/523.md","keywords":"queue, stack, pop","state":"Final","vote-summary":"Accepted 7/0/0","type":"Project","author":["Peter Spjuth <[email protected]>"],"votes-against":"none","votes-for":"DKF, BG, KBK, JN, DGP, FV, SL","created":"22-Oct-2018","title":"# TIP 523: New lpop command","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-523","votes-present":"none","is-jest":false},
	"522":{"url":"./tip/522.md","keywords":"tcltest, error codes","state":"Final","type":"Project","author":["Peter Spjuth <[email protected]>"],"vote-results":"8/0/0 accepted","votes-for":"KBK, SL, AF, DGP, FV, DKF, AK, JN","votes-against":"none","created":"22-Oct-2018","title":"# TIP 522: Test error codes with Tcltest","post-history":"","tcl-branch":"tip-522","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false},
	"521":{"url":"./tip/521.md","keywords":"Tcl, floating point, NaN, not a number","created":"21 October 2018","post-history":"","state":"Draft","tcl-version":"8.7","vote":"In progress","type":"Project","title":"# TIP 521: Floating Point Classification Functions","author":["Kevin B. Kenny <[email protected]>"],"is-jest":false},
	"520":{"url":"./tip/520.md","keywords":"Tcl, floating point, NaN, not a number","created":"18 October 2018","post-history":"","state":"Draft","tcl-branch":"tip-520","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 520: Make NaN Quiet","author":["Kevin B. Kenny <[email protected]>"],"is-jest":false},
	"519":{"url":"./tip/519.md","":"","keywords":"TclOO","state":"Final","vote-summary":"Accepted 4/0/2","this tip proposes to extend the `method` subcommand of the `oo":":define` command","type":"Project","author":["Pietro Cerutti <[email protected]>"],"votes-against":"none","votes-for":"DKF, KBK, JN, SL","follows":"","oo":":define RPCClient {","created":"18-Oct-2018","title":"# TIP 519: Inline export/unexport option to TclOO method definition","the class definition in the previous example would then be as follows":"","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-519","votes-present":"BG, FV","is-jest":false},
	"518":{"url":"./tip/518.md","keywords":"Tk","state":"Final","vote-summary":"Accepted 6/0/0","type":"Project","tk-branch":"tip518-event-last-child-unmanaged","author":["Harald Oehlmann <[email protected]>"],"votes-against":"none","votes-for":"DKF, BG, KBK, JN, FV, SL","created":"22-Sep-2018","title":"# TIP 518: Virtual Event when Last Child is not Managed any more","post-history":"","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false},
	"517":{"url":"./tip/517.md","keywords":"tk menu","created":"13-Sept-2018","post-history":"","state":"Final","tk-branch":"tip-517","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 517: Add -activerelief Configuration Option to the menu widget","author":["François Vogel <[email protected]>"],"is-jest":false},
	"516":{"url":"./tip/516.md","keywords":"Tcl, TclOO","state":"Final","type":"Project","author":["Donal K. Fellows <[email protected]>"],"vote-results":"4/0/5 accepted","votes-for":"DKF, JN, JD, AK","votes-against":"none","created":"7-Sept-2018","title":"# TIP 516: More OO Slot Operations","post-history":"","tcl-branch":"tip-516","vote":"Done","tcl-version":"8.7","votes-present":"BG, KBK, DGP, FV, SL","is-jest":false},
	"515":{"url":"./tip/515.md","state":"Final","type":"Project","author":["Jan Nijtmans <[email protected]>"],"vote-results":"8/0/1 accepted","votes-for":"DKF, KBK, JN, JD, DGP, FV, SL, AK","votes-against":"none","created":"7-Sept-2018","title":"# TIP 515: Level Value Reform","post-history":"","tcl-branch":"tip-515","vote":"Done","tcl-version":"8.7","votes-present":"BG","is-jest":false},
	"514":{"url":"./tip/514.md","keywords":"Tcl","created":"20-Aug-2018","post-history":"","state":"Final","tcl-branch":"tip-514","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 514: Platform differences in handling int/wide","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
................................................................................
	"468":{"url":"./tip/468.md","keywords":"Tcl, socket, SOMAXCONN","created":"03-Apr-2017","post-history":"","state":"Draft","tcl-branch":"tip-468-bis","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 468: Support Passing TCP listen Backlog Size Option to TCP Socket Creation","author":["Shannon Noe <[email protected]>"],"is-jest":false},
	"467":{"url":"./tip/467.md","keywords":"migration","created":"14-Mar-2017","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 467: Move TIP Collection to Fossil","author":["Mark Janssen <[email protected]>"],"is-jest":false},
	"466":{"url":"./tip/466.md","keywords":"Tk,text widget","created":"10-Mar-2017","post-history":"","state":"Draft","tk-branch":"revised_text","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 466: Revised Implementation of the Text Widget","author":["François Vogel <[email protected]>","Gregor Cramer <[email protected]>"],"is-jest":false},
	"465":{"url":"./tip/465.md","created":"03-Mar-2017","post-history":"","state":"Draft","tcl-branch":"tip-465","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 465: Change Rule 8 of the Dodekalogue to Cut Some Corner Cases","author":["Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"464":{"url":"./tip/464.md","keywords":"Tk,keyboard,keycode","created":"28-Jan-2017","post-history":"","state":"Final","tcl-branch":"tip-464","tcl-version":"8.5","vote":"Done","type":"Project","title":"# TIP 464: Support for Multimedia Keys on Windows","author":["Ralf Fassel <[email protected]>","Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"463":{"url":"./tip/463.md","keywords":"Tcl, regular expression","created":"11-Feb-2017","post-history":"","state":"Final","tcl-branch":"tip-463","vote":"Done","tcl-version":"8.7","type":"Project","title":"# TIP 463: Command-Driven Substitutions for regsub","author":["Donal Fellows <[email protected]>"],"is-jest":false},
	"462":{"url":"./tip/462.md","created":"23-Jan-2017","post-history":"","state":"Final","tcl-branch":"tip-462","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 462: Add New [::tcl::process] Ensemble for Subprocess Management","author":["Frédéric Bonnet <[email protected]>"],"is-jest":false},
	"461":{"url":"./tip/461.md","keywords":"Tcl,expression","created":"24-Jan-2017","post-history":"","state":"Draft","tcl-version":"8.7","vote":"In progress","type":"Project","title":"# TIP 461: Separate Numeric and String Comparison Operators","author":["Kevin B Kenny <[email protected]>","Kevin B Kenny <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"460":{"url":"./tip/460.md","keywords":"Tcl,variable,link,upvar","created":"08-Dec-2016","post-history":"","state":"Draft","tcl-branch":"dah-proc-arg-upvar","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 460: An Alternative to Upvar","author":["Don Hathway <[email protected]>"],"is-jest":false},
	"459":{"url":"./tip/459.md","keywords":"Tcl,package","created":"08-Dec-2016","post-history":"","state":"Final","tcl-branch":"package_files","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 459: Tcl Package Introspection Improvements","author":["Jan Nijtmans <[email protected]>"],"is-jest":false},
	"458":{"url":"./tip/458.md","keywords":"event loop,scalability","created":"24-Nov-2016","post-history":"","state":"Final","tcl-branch":"tip-458","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 458: Add Support for epoll() and kqueue() in the Notifier","author":["Lucio Andrés Illanes Albornoz <[email protected]>","Lucio Andrés Illanes Albornoz <[email protected]>"],"is-jest":false},
	"457":{"url":"./tip/457.md","keywords":"Tcl,procedure,argument handling","created":"21-Nov-2016","post-history":"","state":"Draft","tcl-branch":"tip-457","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 457: Add Support for Named Arguments","author":["Mathieu Lafon <[email protected]>","Andreas Leitgeb <[email protected]>"],"is-jest":false},
	"456":{"url":"./tip/456.md","keywords":"Tcl,socket,SO_REUSEPORT,SO_REUSEADDR","created":"18-Nov-2016","post-history":"","state":"Final","tcl-branch":"tip-456","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 456: Extend the C API to Support Passing Options to TCP Server Creation","author":["LemonBoy <[email protected]>","lime boy <[email protected]>"],"is-jest":false},
	"455":{"url":"./tip/455.md","keywords":"Tcl, event loop","created":"07-Oct-2016","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 455: Extensions to [vwait]: Variable Sets and Scripted Access to Tcl_DoOneEvent","author":["Christian Werner <[email protected]>"],"is-jest":false},
	"454":{"url":"./tip/454.md","keywords":"Tk","created":"21-Sep-2016","post-history":"","state":"Withdrawn","tcl-version":"8.6.6","vote":"Done","type":"Project","title":"# TIP 454: Automatically Resize Frames After Last Child Removed","author":["Harald Oehlmann <[email protected]>","Harald Oehlmann <[email protected]>","François Vogel <[email protected]>"],"is-jest":false},
................................................................................
	"4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false},
	"3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false},
	"2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false},
	"0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false},
	"@min": 0,
	"@max": 549
}, "@timestamp": 1560003277}

Changes to index.md.

96
97
98
99
100
101
102






103
104
105
106
107
108
109
...
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
...
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
...
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
...
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
...
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923

    <input class="toggler-state"
        data-value="rejected"
        type="checkbox"
        onclick="toggleFacet('state')">Rejected</button>








    <input class="toggler-state"
        data-value="withdrawn"
        type="checkbox"
        onclick="toggleFacet('state')">Withdrawn</button>

<br>
................................................................................
<td valign='top'><a href='./tip/537.md'>537</a></td>
<td valign='top'>Project</td>
<td valign='top'>9.0</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/537.md'>Enable 64-bit indexes in regexp matching</a></td>
<td valign='top'><a href='/tcl/timeline?r=regexp-api-64bit'>Link</a></td>
</tr>
<tr class='state-draft type-project version-86'>
<td valign='top'><a href='./tip/536.md'>536</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/536.md'>Improvements to Mac-specific IPC in Tk</a></td>
<td valign='top'><a href='/tk/timeline?r=mac_services'>Link</a></td>
</tr>
<tr class='state-final type-project version-86'>
<td valign='top'><a href='./tip/535.md'>535</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
................................................................................
<td valign='top'><a href='./tip/533.md'>533</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/533.md'>Extension of the menu post command.</a></td>
<td valign='top'><a href='/tk/timeline?r=bug-70e531918e'>Link</a></td>
</tr>
<tr class='state-draft type-project version-86'>
<td valign='top'><a href='./tip/532.md'>532</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/532.md'>Re-implementation of event loop processing.</a></td>
<td valign='top'><a href='/tk/timeline?r=bug6e8afe516d'>Link</a></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/531.md'>531</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
................................................................................
<td valign='top'><a href='./tip/529.md'>529</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/529.md'>Add metadata dict property to tk photo image</a></td>
<td valign='top'><a href='/tk/timeline?r=tip-529-image-metadata'>Link</a></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/528.md'>528</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/528.md'>Deprecate Tk_Offset()</a></td>
<td valign='top'><a href='/tk/timeline?r=offsetof'>Link</a></td>
</tr>
<tr class='state-final type-project version-87'>
<td valign='top'><a href='./tip/527.md'>527</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
................................................................................
<td valign='top'><a href='./tip/522.md'>522</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/522.md'>Test error codes with Tcltest</a></td>
<td valign='top'><a href='/tcl/timeline?r=tip-522'>Link</a></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/521.md'>521</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/521.md'>Floating Point Classification Functions</a></td>
<td></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/520.md'>520</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
................................................................................
<td valign='top'><a href='./tip/462.md'>462</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/462.md'>Add New [::tcl::process] Ensemble for Subprocess Management</a></td>
<td valign='top'><a href='/tcl/timeline?r=tip-462'>Link</a></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/461.md'>461</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/461.md'>Separate Numeric and String Comparison Operators</a></td>
<td></td>
</tr>
<tr class='state-draft type-project version-90'>
<td valign='top'><a href='./tip/460.md'>460</a></td>
<td valign='top'>Project</td>
<td valign='top'>9.0</td>






>
>
>
>
>
>







 







|



|







 







|



|
|







 







|



|







 







|



|







 







|



|







96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
...
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
...
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
...
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
...
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
...
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929

    <input class="toggler-state"
        data-value="rejected"
        type="checkbox"
        onclick="toggleFacet('state')">Rejected</button>


    <input class="toggler-state"
        data-value="voting"
        type="checkbox"
        onclick="toggleFacet('state')">Voting</button>


    <input class="toggler-state"
        data-value="withdrawn"
        type="checkbox"
        onclick="toggleFacet('state')">Withdrawn</button>

<br>
................................................................................
<td valign='top'><a href='./tip/537.md'>537</a></td>
<td valign='top'>Project</td>
<td valign='top'>9.0</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/537.md'>Enable 64-bit indexes in regexp matching</a></td>
<td valign='top'><a href='/tcl/timeline?r=regexp-api-64bit'>Link</a></td>
</tr>
<tr class='state-voting type-project version-86'>
<td valign='top'><a href='./tip/536.md'>536</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Voting</td>
<td valign='top' ><a href='./tip/536.md'>Improvements to Mac-specific IPC in Tk</a></td>
<td valign='top'><a href='/tk/timeline?r=mac_services'>Link</a></td>
</tr>
<tr class='state-final type-project version-86'>
<td valign='top'><a href='./tip/535.md'>535</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
................................................................................
<td valign='top'><a href='./tip/533.md'>533</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/533.md'>Extension of the menu post command.</a></td>
<td valign='top'><a href='/tk/timeline?r=bug-70e531918e'>Link</a></td>
</tr>
<tr class='state-voting type-project version-86'>
<td valign='top'><a href='./tip/532.md'>532</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.6</td>
<td valign='top'>Voting</td>
<td valign='top' ><a href='./tip/532.md'>Re-implementation of event loop processing</a></td>
<td valign='top'><a href='/tk/timeline?r=bug6e8afe516d'>Link</a></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/531.md'>531</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
................................................................................
<td valign='top'><a href='./tip/529.md'>529</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/529.md'>Add metadata dict property to tk photo image</a></td>
<td valign='top'><a href='/tk/timeline?r=tip-529-image-metadata'>Link</a></td>
</tr>
<tr class='state-voting type-project version-87'>
<td valign='top'><a href='./tip/528.md'>528</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Voting</td>
<td valign='top' ><a href='./tip/528.md'>Deprecate Tk_Offset()</a></td>
<td valign='top'><a href='/tk/timeline?r=offsetof'>Link</a></td>
</tr>
<tr class='state-final type-project version-87'>
<td valign='top'><a href='./tip/527.md'>527</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
................................................................................
<td valign='top'><a href='./tip/522.md'>522</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/522.md'>Test error codes with Tcltest</a></td>
<td valign='top'><a href='/tcl/timeline?r=tip-522'>Link</a></td>
</tr>
<tr class='state-voting type-project version-87'>
<td valign='top'><a href='./tip/521.md'>521</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Voting</td>
<td valign='top' ><a href='./tip/521.md'>Floating Point Classification Functions</a></td>
<td></td>
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/520.md'>520</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
................................................................................
<td valign='top'><a href='./tip/462.md'>462</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/462.md'>Add New [::tcl::process] Ensemble for Subprocess Management</a></td>
<td valign='top'><a href='/tcl/timeline?r=tip-462'>Link</a></td>
</tr>
<tr class='state-voting type-project version-87'>
<td valign='top'><a href='./tip/461.md'>461</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Voting</td>
<td valign='top' ><a href='./tip/461.md'>Separate Numeric and String Comparison Operators</a></td>
<td></td>
</tr>
<tr class='state-draft type-project version-90'>
<td valign='top'><a href='./tip/460.md'>460</a></td>
<td valign='top'>Project</td>
<td valign='top'>9.0</td>

Changes to tip/461.md.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
..
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# TIP 461: Separate Numeric and String Comparison Operators
	Author:         Kevin B Kenny <[email protected]>
	Author:         Kevin B Kenny <[email protected]>
	Author:         Kevin Kenny <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        24-Jan-2017
	Post-History:   
	Keywords:       Tcl,expression
	Tcl-Version:    8.7
-----

# Abstract
................................................................................
will accept string values, and return 0 or 1 according to lexicographic
string comparison of their operators. This change is entirely backward
compatible \(it uses syntax that would previously have been erroneous\),
and should go in as soon as possible - no later than the next point
release, but ideally even in a patchlevel - so that programmers can
begin conversion as soon as possible. Use of the **==**, **>=**,
**>**, **<=**, **<**, and **!=** for comparing non-numeric
values shall immediately be deprecated.

The six string compare operators shall be declared to function so that
their results are the same as the results of **string compare**:

	    {$a lt $b}  <=> {[string compare $a $b] <  0}
	    {$a le $b}  <=> {[string compare $a $b] <= 0}
	    {$a eq $b}  <=> {[string compare $a $b] == 0}





|







 







|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
..
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# TIP 461: Separate Numeric and String Comparison Operators
	Author:         Kevin B Kenny <[email protected]>
	Author:         Kevin B Kenny <[email protected]>
	Author:         Kevin Kenny <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           In progress
	Created:        24-Jan-2017
	Post-History:   
	Keywords:       Tcl,expression
	Tcl-Version:    8.7
-----

# Abstract
................................................................................
will accept string values, and return 0 or 1 according to lexicographic
string comparison of their operators. This change is entirely backward
compatible \(it uses syntax that would previously have been erroneous\),
and should go in as soon as possible - no later than the next point
release, but ideally even in a patchlevel - so that programmers can
begin conversion as soon as possible. Use of the **==**, **>=**,
**>**, **<=**, **<**, and **!=** for comparing non-numeric
values can immediately be deprecated.

The six string compare operators shall be declared to function so that
their results are the same as the results of **string compare**:

	    {$a lt $b}  <=> {[string compare $a $b] <  0}
	    {$a le $b}  <=> {[string compare $a $b] <= 0}
	    {$a eq $b}  <=> {[string compare $a $b] == 0}

Changes to tip/521.md.

1
2
3
4
5
6
7
8
9
10
11
12
# TIP 521: Floating Point Classification Functions
	Author:		Kevin B. Kenny <[email protected]>
	State:		Draft
	Type:		Project
	Vote:		Pending
	Created:	21 October 2018
	Post-History:
	Tcl-Version:	8.7
	Keywords:	Tcl, floating point, NaN, not a number
-----
# Abstract




|







1
2
3
4
5
6
7
8
9
10
11
12
# TIP 521: Floating Point Classification Functions
	Author:		Kevin B. Kenny <[email protected]>
	State:		Draft
	Type:		Project
	Vote:		In progress
	Created:	21 October 2018
	Post-History:
	Tcl-Version:	8.7
	Keywords:	Tcl, floating point, NaN, not a number
-----
# Abstract

Changes to tip/528.md.

1
2
3
4
5
6
7
8
9
10
11
12
..
43
44
45
46
47
48
49
50
51
52
53
54
# TIP 528: Deprecate Tk_Offset()
	Author:         Jan Nijtmans <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        05-Dec-2018
	Post-History:   
	Tcl-Version:    8.7
	Tk-Branch:     offsetof
-----

# Abstract
................................................................................
of `Tk_ArgvInfo` from `char *` to `void *`. Although unrelated to
the other proposed changes, this allows various type casts to
be eliminated in the source code of Tk (and possibly in extensions).
Since those fields are used to store untyped pointers, this is
actually a bug-fix which should not need a TIP, but since it affects
the documentation it doesn't hurt to provide this change in a TIP anyway.

An implementation of this TIP can be found in the [\[offsetof\]](https://core.tcl.tk/tk/timeline?r=offsetof) branch.

# Copyright

This document has been placed in the public domain.



|







 







|




1
2
3
4
5
6
7
8
9
10
11
12
..
43
44
45
46
47
48
49
50
51
52
53
54
# TIP 528: Deprecate Tk_Offset()
	Author:         Jan Nijtmans <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           In progress
	Created:        05-Dec-2018
	Post-History:   
	Tcl-Version:    8.7
	Tk-Branch:     offsetof
-----

# Abstract
................................................................................
of `Tk_ArgvInfo` from `char *` to `void *`. Although unrelated to
the other proposed changes, this allows various type casts to
be eliminated in the source code of Tk (and possibly in extensions).
Since those fields are used to store untyped pointers, this is
actually a bug-fix which should not need a TIP, but since it affects
the documentation it doesn't hurt to provide this change in a TIP anyway.

An implementation of this TIP can be found in the [\[offsetof\]](/tk/timeline?r=offsetof) branch.

# Copyright

This document has been placed in the public domain.

Changes to tip/532.md.

1
2
3
4
5
6
7
8
9
10
11
12
# TIP 532: Re-implementation of event loop processing.
	Author:         Gregor Cramer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        09-Jan-2019
	Post-History:  
	Keywords:       Tk, bind, event, event loop
	Tcl-Version:    8.6
	Tk-Branch:      bug6e8afe516d
----

|



|







1
2
3
4
5
6
7
8
9
10
11
12
# TIP 532: Re-implementation of event loop processing
	Author:         Gregor Cramer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           In progress
	Created:        09-Jan-2019
	Post-History:  
	Keywords:       Tk, bind, event, event loop
	Tcl-Version:    8.6
	Tk-Branch:      bug6e8afe516d
----

Changes to tip/536.md.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
..
69
70
71
72
73
74
75
76
77
78
79
80
81
82

83

84
85
86

87
88
89

90
91
92
93
94

95
96
97
98
99
100
101
102
103
104
105
106
107
108





109

110


111
112



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
...
133
134
135
136
137
138
139
140
141
# TIP 536: Improvements to Mac-specific IPC in Tk
	Author:         Kevin Walzer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           
	Created:        29-March-2019
	Post-History:   
	Keywords:       Tk
	Tcl-Version:    8.6
	Tk-Branch:      mac_services
-----

# Abstract
 
This TIP proposes to modify Tk on macOS only in the area of Mac-specific IPC (inter-process communication) by adding three new commands; changing the signature of an existing command; and improving the documentation of Mac-based IPC in general in Tk's man pages. These commands implement and improve functionality in the Mac's Services and Apple Event API's.

# Rationale

Most Mac applications support platform-native API's that allow them to work cooperatively with other applications in processing data. The two primary API's are the [NSServices API](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/SysServices/introduction.html#//apple_ref/doc/uid/10000101-SW1) and the [Apple Events API](https://developer.apple.com/documentation/applicationservices/apple_event_manager?language=objc). The Services API is similar to a Unix pipeline API where data may be sent from one application to another for processing in some form. The Apple Events API is a more complex mechanism where an application will expose one or many commands that can be accessed from other applications for sophisticated scripting. Tk has historically supported many of the Apple Event API's but not the Services API. This TIP proposes to add support for the Services API and additional commands and changes to the Apple Event API. It also proposes a utility command that will support Tk's platform integration. Finally, it proposes additional behaviors to the text, entry, and ttk::entry widgets on macOS to allow them to access the Services menu.

# Specification and Documentation

The following commands, which will all be documented in the tk::mac section of the Tk man page, will be added with this TIP: 

## ::tk::mac::PerformService

Executes a Tcl procedure called from the macOS "Services" menu by another application in the Apple menu item. The "Services" menu item allows for inter-application communication; data from one application, such as selected text, can be sent to another application for processing, for example to Safari as a search item for Google, or to TextEdit to be appended to a file. An example this procedure is below and should should be rewritten in an application script for customization, which will allow a Tk application to expose "Service" functionality to other programs: 

	proc ::tk::mac::PerformService {} {
		set w [text .t]
		pack $w
		set data [clipboard get]
		$w insert end $data
	}
	
Note that the mechanism for retrieving inter-application data is from the clipboard; there is no other supported way to obtain the data. If the Services process is not desired, the NSServices keys can be deleted from the application's Info.plist file. 

The underlying code supporting this command also allows the text, entry and ttk::entry widgets to access/consume services from other applications via the Services menu. 
In the implementation of this TIP, these widgets have additional bindings on the Mac that will append selected text to the clipboard, making that data available to be sent to other applications via the Services menu. 

## ::tk::mac::LaunchURL *URL...*

If defined, this command launches a URL within Tk in response to the specific `GURL/GURL` Apple Event being sent to the application. This would be used if a Tk application wants to handle a URL itself, such as displaying data from an RSS feed, rather than launching a default application to handle the URL, although it can defined as such. It will respond to the "open location" AppleScript command. 

## ::tk::mac::GetAppPath

This utility command will return the current applications's file path. It will do so in a more Mac-specific manner than using Tcl's file commands. 

## ::tk::mac::PrintDocument *file...*

This command, which is designed to respond to the "print" Apple Event to print a document, is already present in Tk, but is currently broken. The current implementation takes a list of files as its parameter, but instead triggers ::tk::mac::OpenDocument command. This new implementation changes the signature to a single file path and works much more simply and effectively.  

# Implementation

An implementation of this TIP is present in the [mac_services](https://core.tcl-lang.org/tk/timeline?r=mac_services) branch. 

# Testing

To test the new functionality in this TIP, follow these steps: 

1. Build and install the mac_services branch.
2. Launch Wish, and source the `service_test.tcl` script (below) to register the new functionality with macOS.
................................................................................
9. Next, test the updated AppleScript API.
10. Quit Wish, re-launch, and source the service_test.tcl script.
11. Run the `service_test.applescript` script (below) with this command in the Terminal: "osascript service_test.applescript."
12. This will exercise the "open," "print" and "open location" Apple Event commands in the new build.

It is necessary for Wish to be running the sourced script for the new commands to work correctly. The use case for these commands is not running Wish from the command line and simple scripts, but rather as part of standalone applications where these commands are defined and customized for that application's specific functionality.

**service_test.tcl**

	proc ::tk::mac::LaunchURL {url} {
	   tk_messageBox -message "Opened $url"
	}

	proc ::tk::mac::PrintDocument {args} {

		  foreach f $args {tk_messageBox -message "print $f"}  

	}

	proc ::tk::mac::OpenDocument {args} {

		foreach f $args {tk_messageBox -message $f}
	}


	proc ::tk::mac::Quit {args} {  
	   exit
	}

	proc appPath {} {

		tk_messageBox -message "The app path is [::tk::mac::GetAppPath]"
	}
	
	proc ::tk::mac::PerformService {} {
    	set data [clipboard get]
    	tk_messageBox -message $data
	}

	proc main {} {

		wm title . "IPC Test"

		pack [text .t]
		.t insert end "Select this text and select \"Services\" from the Apple menu; make sure Services for the Text Edit app are enabled. (You can select this in the System Preferences app.) You should see an option to \"Open new window in Text Edit with selected text.\" Choose that one.







		Also, from Text Edit, select the same text and choose \"Wish: Display Test Data\" from the Services menu. If you don't see it, you may need to run Wish to active the Services option in the System Preferences menu."



		label .l -text "Enter text in the entry and ttk::entry fields\nbelow, select that text, and then follow\nthe directions above: the text\nshould be displayed in a new Text Edit window." 




		entry .te
		ttk::entry .tte

		button .b -text "Exit" -command ::tk::mac::Quit
		button .e -text "Get App Path" -command appPath
		pack .l .tte .te .e .b 
	  
	}

	main

**service_test.applescript**

	--service_test.applescript
	tell application "/Library/Frameworks/Tk.framework/Versions/8.6/Resources/Wish.app"
	set theFile to "/Library/Frameworks/Tk.framework/Versions/8.6/Resources/Wish.app/Contents/Info.plist"
	open theFile
	delay 1
	print theFile
................................................................................
	delay 1
	open location "foo://bar"
	end tell

# Copyright

This document has been placed in the public domain.





|













|



|











|


|












|



|







 







|


|



>
|
>



>
|
|
|
>
|
|



>
|



|
|



<



|
>
>
>
>
>

>
|
>
>

|
>
>
>







<




|







 







<
<
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
..
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134

135
136
137
138
139
140
141
142
143
144
145
146
...
147
148
149
150
151
152
153


# TIP 536: Improvements to Mac-specific IPC in Tk
	Author:         Kevin Walzer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           In progress
	Created:        29-March-2019
	Post-History:   
	Keywords:       Tk
	Tcl-Version:    8.6
	Tk-Branch:      mac_services
-----

# Abstract
 
This TIP proposes to modify Tk on macOS only in the area of Mac-specific IPC (inter-process communication) by adding three new commands; changing the signature of an existing command; and improving the documentation of Mac-based IPC in general in Tk's man pages. These commands implement and improve functionality in the Mac's Services and Apple Event API's.

# Rationale

Most Mac applications support platform-native API's that allow them to work cooperatively with other applications in processing data. The two primary API's are the [NSServices API](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/SysServices/introduction.html#//apple_ref/doc/uid/10000101-SW1) and the [Apple Events API](https://developer.apple.com/documentation/applicationservices/apple_event_manager?language=objc). The Services API is similar to a Unix pipeline API where data may be sent from one application to another for processing in some form. The Apple Events API is a more complex mechanism where an application will expose one or many commands that can be accessed from other applications for sophisticated scripting. Tk has historically supported many of the Apple Event API's but not the Services API. This TIP proposes to add support for the Services API and additional commands and changes to the Apple Event API. It also proposes a utility command that will support Tk's platform integration. Finally, it proposes additional behaviors to the **text**, **entry**, and **ttk::entry** widgets on macOS to allow them to access the Services menu.

# Specification and Documentation

The following commands, which will all be documented in the **tk::mac** section of the Tk man page, will be added with this TIP: 

## ::tk::mac::PerformService

Executes a Tcl procedure called from the macOS "Services" menu by another application in the Apple menu item. The "Services" menu item allows for inter-application communication; data from one application, such as selected text, can be sent to another application for processing, for example to Safari as a search item for Google, or to TextEdit to be appended to a file. An example this procedure is below and should should be rewritten in an application script for customization, which will allow a Tk application to expose "Service" functionality to other programs: 

	proc ::tk::mac::PerformService {} {
		set w [text .t]
		pack $w
		set data [clipboard get]
		$w insert end $data
	}

Note that the mechanism for retrieving inter-application data is from the clipboard; there is no other supported way to obtain the data. If the Services process is not desired, the NSServices keys can be deleted from the application's Info.plist file. 

The underlying code supporting this command also allows the **text**, **entry** and **ttk::entry** widgets to access/consume services from other applications via the Services menu. 
In the implementation of this TIP, these widgets have additional bindings on the Mac that will append selected text to the clipboard, making that data available to be sent to other applications via the Services menu. 

## ::tk::mac::LaunchURL *URL...*

If defined, this command launches a URL within Tk in response to the specific `GURL/GURL` Apple Event being sent to the application. This would be used if a Tk application wants to handle a URL itself, such as displaying data from an RSS feed, rather than launching a default application to handle the URL, although it can defined as such. It will respond to the "open location" AppleScript command. 

## ::tk::mac::GetAppPath

This utility command will return the current applications's file path. It will do so in a more Mac-specific manner than using Tcl's file commands. 

## ::tk::mac::PrintDocument *file...*

This command, which is designed to respond to the "print" Apple Event to print a document, is already present in Tk, but is currently broken. The current implementation takes a list of files as its parameter, but instead triggers **::tk::mac::OpenDocument** command. This new implementation changes the signature to a single file path and works much more simply and effectively.

# Implementation

An implementation of this TIP is present in the [mac_services](/tk/timeline?r=mac_services) branch.

# Testing

To test the new functionality in this TIP, follow these steps: 

1. Build and install the mac_services branch.
2. Launch Wish, and source the `service_test.tcl` script (below) to register the new functionality with macOS.
................................................................................
9. Next, test the updated AppleScript API.
10. Quit Wish, re-launch, and source the service_test.tcl script.
11. Run the `service_test.applescript` script (below) with this command in the Terminal: "osascript service_test.applescript."
12. This will exercise the "open," "print" and "open location" Apple Event commands in the new build.

It is necessary for Wish to be running the sourced script for the new commands to work correctly. The use case for these commands is not running Wish from the command line and simple scripts, but rather as part of standalone applications where these commands are defined and customized for that application's specific functionality.

## Support script: service_test.tcl

	proc ::tk::mac::LaunchURL {url} {
		tk_messageBox -message "Opened $url"
	}

	proc ::tk::mac::PrintDocument {args} {
		foreach f $args {
			tk_messageBox -message "print $f"
		}
	}

	proc ::tk::mac::OpenDocument {args} {
		foreach f $args {
			tk_messageBox -message $f
		}
	}

	proc ::tk::mac::Quit {args} {
		exit
	}

	proc appPath {} {
		tk_messageBox -message \
			"The app path is [::tk::mac::GetAppPath]"
	}
	
	proc ::tk::mac::PerformService {} {
		set data [clipboard get]
		tk_messageBox -message $data
	}

	proc main {} {

		wm title . "IPC Test"

		pack [text .t]
		.t insert end "Select this text and select \"Services\"\
			from the Apple menu; make sure Services for the Text\
			Edit app are enabled. (You can select this in the\
			System Preferences app.) You should see an option to\
			\"Open new window in Text Edit with selected text.\"\
			Choose that one.

		Also, from Text Edit, select the same text and choose\
			\"Wish: Display Test Data\" from the Services menu. If\
			you don't see it, you may need to run Wish to active\
			the Services option in the System Preferences menu."

		label .l -text "Enter text in the entry and ttk::entry\
			fields\nbelow, select that text, and then follow\nthe\
			directions above: the text\nshould be displayed in a\
			new Text Edit window." 

		entry .te
		ttk::entry .tte

		button .b -text "Exit" -command ::tk::mac::Quit
		button .e -text "Get App Path" -command appPath
		pack .l .tte .te .e .b 

	}

	main

## Support Script: service_test.applescript

	--service_test.applescript
	tell application "/Library/Frameworks/Tk.framework/Versions/8.6/Resources/Wish.app"
	set theFile to "/Library/Frameworks/Tk.framework/Versions/8.6/Resources/Wish.app/Contents/Info.plist"
	open theFile
	delay 1
	print theFile
................................................................................
	delay 1
	open location "foo://bar"
	end tell

# Copyright

This document has been placed in the public domain.