Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change a lot of paths from core.tcl.tk to core.tcl-lang.org, preventing unnecessary re-directs to be done by fossil. Also change http:// to https:// where appropriate. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
5a4bdf8c673b62e42cf2940c754a25e4 |
User & Date: | jan.nijtmans 2019-06-17 15:22:28.635 |
Context
2019-06-18
| ||
11:37 | TIP #547 now in Voting check-in: def5628334 user: jan.nijtmans tags: trunk | |
2019-06-17
| ||
15:22 | Change a lot of paths from core.tcl.tk to core.tcl-lang.org, preventing unnecessary re-directs to be done by fossil. Also change http:// to https:// where appropriate. check-in: 5a4bdf8c67 user: jan.nijtmans tags: trunk | |
08:00 | Merge fork check-in: 314c847ea0 user: jan.nijtmans tags: trunk | |
Changes
Changes to doc/help.md.
︙ | ︙ | |||
13 14 15 16 17 18 19 | 1. [Download](http://fossil-scm.org/index.html/uv/download.html) fossil if you do not already have it set up on your system. It is distributed as a single file executable so installation consists of simply placing it in some suitable directory in your `PATH` environment variable. | | | | | | 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 | 1. [Download](http://fossil-scm.org/index.html/uv/download.html) fossil if you do not already have it set up on your system. It is distributed as a single file executable so installation consists of simply placing it in some suitable directory in your `PATH` environment variable. 1. Create a user account on the [TIP repository](https://core.tcl-lang.org/tips) if you do not have one already. You can create one yourself, but the administrator needs to assign you commit privileges. 1. [Clone](http://fossil-scm.org/index.html/help?cmd=clone) the repository into a suitable directory. For example, cd ~/repos fossil clone https://[email protected]-lang.org/tips tips.fossil 1. Checkout the TIP sources into your working directory with the fossil [`open`](http://fossil-scm.org/index.html/help?cmd=open) command. cd ~/tips fossil open ~/repos/tips.fossil The text of all the TIPs is in the `tip` subdirectory and formatted using the Markdown language. # Adding the new TIP To add a new TIP, 1. Create a file in the `tip` subdirectory. Choose a name of the format `NNN.md`, for example 467.md. The TIP numbering is currently not enforced by the system, so pick the next unused number based on the [current TIPs](https://core.tcl-lang.org/tips/doc/trunk/index.md). 1. [TIP 2](https://core.tcl-lang.org/tips/doc/trunk/tip/2.md) specifies guidelines for writing a TIP. Write up the text, using [Markdown mark-up](/md_rules) (plenty of examples are available - pay attention to the header as described below). **NOTE:** if you already have the TIP text written in the old TIP format, you can use the `tip2md.tcl` script in the `scripts` subdirectory to convert it to Markdown. |
︙ | ︙ | |||
84 85 86 87 88 89 90 | Vote: Done Post-History: ------ The meta-data is terminated by `------` and indented with tabs (for nicer display in fossil). | | | 84 85 86 87 88 89 90 91 92 | Vote: Done Post-History: ------ The meta-data is terminated by `------` and indented with tabs (for nicer display in fossil). See [TIP 3](https://core.tcl-lang.org/tips/doc/trunk/tip/3.md) for a detailed specification of the header format and meaning of each header field. |
Changes to index.json.
︙ | ︙ | |||
32 33 34 35 36 37 38 | "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}, | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | "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}, "513":{"url":"./tip/513.md","keywords":"Tcl,data structure","created":"02-Aug-2017","post-history":"","state":"Draft","implementation-url":"https://core.tcl-lang.org/tips/doc/trunk/attach/513/agendas.tcl","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 513: Better support for 'agendas' as arrays, dictionaries or lists","author":["Florian Murr <[email protected]>"],"is-jest":false}, "512":{"url":"./tip/512.md","keywords":"Tcl","created":"25-June-2018","post-history":"","state":"Final","tcl-branch":"tip-512","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 512: No stub for Tcl_SetExitProc()","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "511":{"url":"./tip/511.md","keywords":"Tcl,threads","state":"Accepted","type":"Project","author":["Christian Werner <[email protected]>"],"vote-results":"4/0/5 accepted","votes-for":"DKF, BG, KBK, JN, JD, SL","votes-against":"none","created":"14-June-2018","title":"# TIP 511: Implement Tcl_AsyncMarkFromSignal()","post-history":"","implementation-url":"https://www.androwish.org/index.html/info/40790af1e8e4ec9f","vote":"Done","tcl-version":"8.7","votes-present":"DGP, FV, AK","is-jest":false}, "510":{"url":"./tip/510.md","":"might be to just co-distribute, just as TDBC is with Tcl","keywords":"Tk","state":"Draft","vote-summary":"Rejected 1/3/1","type":"Project","tk-branch":"tip-510","author":["René Zaumseil <[email protected]>"],"votes-against":"KBK, JN, FV","votes-for":"DKF","created":"5-Jun-2018","vote-comments":"code not yet ready, needs porting to macOS; alternate","title":"# TIP 510: Add Rbc and Tkpath widgets to Tk","post-history":"","vote":"Done","tcl-version":"8.7","votes-present":"BG","is-jest":false}, "509":{"url":"./tip/509.md","keywords":"Tcl,threads","state":"Final","type":"Project","author":["Frédéric Bonnet <[email protected]>"],"vote-results":"8/0/1 accepted","votes-for":"DKF, KBK, JN, JD, DGP, FV, SL, AK","votes-against":"none","created":"24-May-2018","title":"# TIP 509: Implement reentrant mutexes on all platforms","post-history":"","tcl-branch":"tip-509","vote":"Done","tcl-version":"8.7","votes-present":"BG","is-jest":false}, "508":{"url":"./tip/508.md","keywords":"Tcl,array","state":"Final","type":"Project","author":["Frédéric Bonnet <[email protected]>"],"vote-results":"9/0/0 accepted","votes-for":"DKF, BG, KBK, JN, JD, DGP, FV, SL, AK","votes-against":"none","created":"13-May-2018","title":"# TIP 508: New subcommand [array default]","post-history":"","tcl-branch":"tip-508","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false}, "507":{"url":"./tip/507.md","keywords":"Tk","state":"Final","type":"Project","tk-branch":"tip-507","author":["René Zaumseil <[email protected]>"],"votes-for":"DKF, JN, FV, SL, AK","votes-against":"none","created":"9-May-2018","title":"# TIP 507: Include simple SVG support with nanosvg","post-history":"","vote":"Done","tcl-version":"8.7","votes-present":"none","is-jest":false}, "506":{"url":"./tip/506.md","state":"Final","vote-summary":"Accepted 5/0/1","type":"Project","author":["Don Porter <[email protected]>"],"votes-for":"DKF, KBK, JN, DGP, SL","votes-against":"none","created":"30-Mar-2018","title":"# TIP 506: Purge RefCount Macros","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-506","votes-present":"BG, FV","is-jest":false}, |
︙ | ︙ | |||
92 93 94 95 96 97 98 | "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}, | | | | 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 | "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}, "453":{"url":"./tip/453.md","keywords":"Build tooling","created":"13-Sep-2016","post-history":"","state":"Draft","implementation-url":"https://core.tcl-lang.org/tclconfig/timeline?r=practcl","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 453: Tcl Based Automation for tcl/pkgs","author":["Sean Woods <[email protected]>"],"is-jest":false}, "452":{"url":"./tip/452.md","state":"Draft","type":"Project","author":["Gerald Lester <[email protected]>","Gerald W. Lester <[email protected]>","Gerald W. Lester <[email protected]>"],"vote-results":"2/4/3 rejection in favour of further work","votes-for":"KBK, JD","votes-against":"DKF, JN, DGP, AK","created":"10-Aug-2016","title":"# TIP 452: Add \"stubs\" Package to or Along Side of TclTest","post-history":"","tcl-branch":"tip-452","vote":"Pending","tcl-version":"8.7","votes-present":"BG, FV, SL","is-jest":false}, "451":{"url":"./tip/451.md","keywords":"Tcl,event loop","created":"10-Aug-2016","post-history":"","state":"Draft","tcl-branch":"updateextended","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 451: Modify [update] to Give Full Script Access to Tcl_DoOneEvent","author":["Colin McCormack <[email protected]>"],"is-jest":false}, "450":{"url":"./tip/450.md","keywords":"Tcl, binary data","created":"18-Jul-2016","post-history":"","state":"Draft","tcl-branch":"tip-450","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 450: Add [binary] subcommand \"set\" for in-place modification","author":["Arjen Markus <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "449":{"url":"./tip/449.md","keywords":"Tk","created":"07-Jun-2016","post-history":"","state":"Final","tk-branch":"tip-449","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 449: [text] undo/redo to Return Range of Characters","author":["François Vogel <[email protected]>"],"is-jest":false}, "448":{"url":"./tip/448.md","keywords":"Tcl, C API","created":"24-May-2016","post-history":"","state":"Draft","implementation-url":"http://fossil.etoyoc.com/sandbox/tcllib/artifact/b2b272a285811272","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 448: Update Tcl_SetNotifier to Reinitialize Event Loop","author":["Jeff Rogers <[email protected]>"],"is-jest":false}, "447":{"url":"./tip/447.md","keywords":"Tcl,tcltest","created":"20-Apr-2016","post-history":"","state":"Final","tcl-branch":"gahr-tip-447","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 447: Execution Time Verbosity Levels in tcltest::configure","author":["Pietro Cerutti <[email protected]>"],"is-jest":false}, "446":{"url":"./tip/446.md","keywords":"Tk","created":"05-Apr-2016","post-history":"","state":"Final","tk-branch":"tip-446","tcl-version":"8.6.6","vote":"Done","type":"Project","title":"# TIP 446: Introspect Undo/Redo Stack Depths","author":["François Vogel <[email protected]>"],"is-jest":false}, "445":{"url":"./tip/445.md","state":"Final","vote-summary":"Accepted 4/0/3","type":"Project","author":["Don Porter <[email protected]>"],"votes-for":"DKF, KBK, JN, DGP","votes-against":"none","created":"18-Mar-2016","title":"# TIP 445: Tcl_ObjType Utility Routines","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-445","votes-present":"BG, FV, SL","is-jest":false}, "444":{"url":"./tip/444.md","created":"23-Feb-2016","post-history":"","state":"Final","tcl-branch":"tip-444","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 444: Add \"weekdays\" unit in clock add","author":["Pietro Cerutti <[email protected]>"],"is-jest":false}, "443":{"url":"./tip/443.md","keywords":"Tk","created":"09-Feb-2016","post-history":"","state":"Final","tk-branch":"tip-443","tcl-version":"8.6.6","vote":"Done","type":"Project","title":"# TIP 443: More Tag Configuration Options for the Text Widget","author":["François Vogel <[email protected]>"],"is-jest":false}, "442":{"url":"./tip/442.md","keywords":"Tk","created":"17-Feb-2016","post-history":"","state":"Final","tk-branch":"tip-442","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 442: Display text in progressbars","author":["René Zaumseil <[email protected]>","Kevin B Kenny <[email protected]>","Andreas Leitgeb <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "441":{"url":"./tip/441.md","keywords":"Tk,listbox","created":"18-Jan-2016","post-history":"","state":"Final","tk-branch":"tip-441","tcl-version":"8.6.5","vote":"Done","type":"Project","title":"# TIP 441: Add -justify Configuration Option to the listbox Widget","author":["François Vogel <[email protected]>","François Vogel <[email protected]>"],"is-jest":false}, "440":{"url":"./tip/440.md","keywords":"language implementation,platform","created":"14-Jan-2016","post-history":"","state":"Final","tcl-branch":"tclPlatformEngine","tcl-version":"8.5","vote":"Done","type":"Project","title":"# TIP 440: Add engine to tcl_platform Array","author":["Joe Mistachkin <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false}, "439":{"url":"./tip/439.md","created":"08-Dec-2015","post-history":"","state":"Draft","tcl-branch":"semver","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 439: Semantic Versioning","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "438":{"url":"./tip/438.md","keywords":"Tk,text","created":"01-Nov-2015","post-history":"","state":"Final","tk-branch":"tip-438","tcl-version":"8.6.5","vote":"Done","type":"Project","title":"# TIP 438: Ensure Line Metrics are Up-to-Date","author":["François Vogel <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false}, "437":{"url":"./tip/437.md","keywords":"Tk","created":"14-Jul-2015","post-history":"","state":"Final","tk-branch":"tip-437","vote":"Done","tcl-version":"8.5.18","type":"Project","title":"# TIP 437: Tk panedwindow options for proxy window","author":["Eric Boudaillier <[email protected]>","François Vogel <[email protected]>"],"is-jest":false}, "436":{"url":"./tip/436.md","created":"30-Jun-2015","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tcloo/info/5fa1374aa026d4c7","vote":"Done","tcl-version":"8.6.5","type":"Project","title":"# TIP 436: Improve TclOO isa Introspection","author":["Donal Fellows <[email protected]>"],"is-jest":false}, "435":{"url":"./tip/435.md","created":"16-May-2015","post-history":"","state":"Rejected","vote":"Done","tcl-version":"8.6.5","type":"Project","title":"# TIP 435: Safe Mutex Disposal API","author":["Donal Fellows <[email protected]>","Joe Mistachkin <[email protected]>"],"is-jest":false}, "434":{"url":"./tip/434.md","created":"26-Feb-2015","post-history":"","state":"Withdrawn","vote":"Pending","tcl-version":"8.6","type":"Project","title":"# TIP 434: Specify Event Sources for 'vwait'","author":["Jos Decoster <[email protected]>"],"is-jest":false}, "433":{"url":"./tip/433.md","created":"25-Feb-2015","post-history":"","state":"Final","tk-branch":"bindScriptCount","tcl-version":"8.6.4","vote":"Done","type":"Project","title":"# TIP 433: Add %M binding substitution","author":["Joe Mistachkin <[email protected]>","Brian Griffin <[email protected]>","Don Porter <[email protected]>"],"is-jest":false}, "432":{"url":"./tip/432.md","created":"20-Sep-2014","post-history":"","state":"Final","tk-branch":"apn-win-filedialogs","tcl-version":"8.6.3","vote":"Done","type":"Project","title":"# TIP 432: Support for New Windows File Dialogs in Vista and Later","author":["Ashok P. Nadkarni <[email protected]>"],"is-jest":false}, "431":{"url":"./tip/431.md","keywords":"Tcl, directory, file","state":"Final","type":"Project","author":["Kevin Pasko <[email protected]>"],"votes-for":"DKF, FV, KBK, JN, SL","votes-against":"none","created":"10-Sep-2014","title":"# TIP 431: Add 'tempdir' Subcommand to 'file'","post-history":"","tcl-version":"8.7","vote":"Done","tcl-branch":"tip-431","votes-present":"none","is-jest":false}, "430":{"url":"./tip/430.md","keywords":"virtual filesystem,zip,tclkit,boot,bootstrap","state":"Final","type":"Project","author":["Sean Woods <[email protected]>","Donal Fellows <[email protected]>","Poor Yorick <[email protected]>","Harald Oehlmann <[email protected]>"],"votes-for":"DKF, KBK, SL, AK, JD, JN (partially)","votes-against":"JN (partially)","created":"03-Sep-2014","present":"JN (partially)","title":"# TIP 430: Add basic ZIP archive support to Tcl","post-history":"","tcl-branch":"core_zip_vfs","vote":"Done","tcl-version":"8.7","is-jest":false}, "429":{"url":"./tip/429.md","keywords":"Tcl,cat,scriptlet result","created":"27-Jul-2014","post-history":"","state":"Final","tcl-branch":"tip-429","tcl-version":"8.6.2","vote":"Done","type":"Project","title":"# TIP 429: A 'string' Subcommand for Concatenation","author":["Andreas Leitgeb <[email protected]>","Alexandre Ferrieux <[email protected]>"],"is-jest":false}, |
︙ | ︙ | |||
148 149 150 151 152 153 154 | "404":{"url":"./tip/404.md","tcl-ticket":"3544988","keywords":"msgcat, convention","created":"17-Jul-2011","post-history":"","state":"Final","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 404: Let Message Catalogs get the Locale from their File Name","discussions-to":"Tcl Core list","author":["Harald Oehlmann <[email protected]>"],"is-jest":false}, "403":{"url":"./tip/403.md","keywords":"Tk","created":"17-Jul-2011","post-history":"","state":"Final","tk-branch":"jn-web-colors","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 403: Web Colors for Tk","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "402":{"url":"./tip/402.md","keywords":"Tcl","created":"16-Jul-2011","post-history":"","state":"Draft","tcl-branch":"jn-unc-vfs","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 402: General Platform UNC Support","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "401":{"url":"./tip/401.md","created":"29-Apr-2012","post-history":"","state":"Draft","tcl-branch":"tip-401","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 401: Comment Words with Leading {#}","author":["Lars Hellström <[email protected]>"],"is-jest":false}, "400":{"url":"./tip/400.md","keywords":"Tcl, zlib","created":"30-Mar-2012","post-history":"","state":"Final","tcl-branch":"tip-400-impl","vote":"Done","tcl-version":"8.6","type":"Project","title":"# TIP 400: Setting the Compression Dictionary and Other 'zlib' Updates","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "399":{"url":"./tip/399.md","keywords":"Tcl,localization,msgcat","created":"27-Mar-2012","obsoleted-by":"412","post-history":"","state":"Accepted","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 399: Dynamic Locale Changing for msgcat","author":["Harald Oehlmann <[email protected]>"],"is-jest":false}, "398":{"url":"./tip/398.md","keywords":"close,exit,flush,blocking,nonblocking","created":"24-Feb-2012","post-history":"","state":"Final","tcl-branch":"tip-398-impl","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 398: Quickly Exit with Non-Blocking Blocked Channels","author":["Alexandre Ferrieux <[email protected]>"],"is-jest":false}, | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | "404":{"url":"./tip/404.md","tcl-ticket":"3544988","keywords":"msgcat, convention","created":"17-Jul-2011","post-history":"","state":"Final","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 404: Let Message Catalogs get the Locale from their File Name","discussions-to":"Tcl Core list","author":["Harald Oehlmann <[email protected]>"],"is-jest":false}, "403":{"url":"./tip/403.md","keywords":"Tk","created":"17-Jul-2011","post-history":"","state":"Final","tk-branch":"jn-web-colors","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 403: Web Colors for Tk","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "402":{"url":"./tip/402.md","keywords":"Tcl","created":"16-Jul-2011","post-history":"","state":"Draft","tcl-branch":"jn-unc-vfs","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 402: General Platform UNC Support","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>"],"is-jest":false}, "401":{"url":"./tip/401.md","created":"29-Apr-2012","post-history":"","state":"Draft","tcl-branch":"tip-401","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 401: Comment Words with Leading {#}","author":["Lars Hellström <[email protected]>"],"is-jest":false}, "400":{"url":"./tip/400.md","keywords":"Tcl, zlib","created":"30-Mar-2012","post-history":"","state":"Final","tcl-branch":"tip-400-impl","vote":"Done","tcl-version":"8.6","type":"Project","title":"# TIP 400: Setting the Compression Dictionary and Other 'zlib' Updates","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "399":{"url":"./tip/399.md","keywords":"Tcl,localization,msgcat","created":"27-Mar-2012","obsoleted-by":"412","post-history":"","state":"Accepted","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 399: Dynamic Locale Changing for msgcat","author":["Harald Oehlmann <[email protected]>"],"is-jest":false}, "398":{"url":"./tip/398.md","keywords":"close,exit,flush,blocking,nonblocking","created":"24-Feb-2012","post-history":"","state":"Final","tcl-branch":"tip-398-impl","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 398: Quickly Exit with Non-Blocking Blocked Channels","author":["Alexandre Ferrieux <[email protected]>"],"is-jest":false}, "397":{"url":"./tip/397.md","keywords":"Tcl, TclOO, copy, clone","created":"13-Feb-2012","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tcloo/timeline?r=development-rfe3485060","vote":"Done","tcl-version":"8.6","type":"Project","title":"# TIP 397: Extensible Object Copying","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "396":{"url":"./tip/396.md","obsoletes":"372","keywords":"coroutine,yield,yieldto","created":"11-Feb-2012","post-history":"","state":"Final","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 396: Symmetric Coroutines, Multiple Args, and yieldto","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, "395":{"url":"./tip/395.md","keywords":"Tcl","state":"Final","type":"Project","author":["Jos Decoster <[email protected]>"],"created":"13-Dec-2011","obsoletes":"347","title":"# TIP 395: New 'string is entier' Command","post-history":"","vote":"Done","tcl-version":"8.6","implementation-url":"http://sites.google.com/site/josdecoster/Home/tip_string_is_entier.diff","discussions-to":"news:comp.lang.tcl","is-jest":false}, "394":{"url":"./tip/394.md","created":"30-Nov-2011","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 394: Platform-Independent Handling of Contemporary Mice","author":["Andreas Leitgeb <[email protected]>"],"is-jest":false}, "393":{"url":"./tip/393.md","created":"25-Apr-2011","post-history":"","state":"Draft","implementation-url":"http://sqlitestudio.pl/tcl/patches/tip-393-lsearch-command.patch","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 393: Add -command Option to lsearch","author":["Pawel Salawa <[email protected]>"],"is-jest":false}, "392":{"url":"./tip/392.md","keywords":"bignum,runaway,safe,math,precision,integer,tcl","created":"30-Oct-2011","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 392: Allow Bignums to be Disabled at Runtime on a Per-Interp Basis","author":["Joe Mistachkin <[email protected]>"],"is-jest":false}, "391":{"url":"./tip/391.md","created":"26-Oct-2011","obsoleted-by":"409","post-history":"","state":"Withdrawn","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 391: Support for UDP Sockets in Tcl","author":["Jeff Rogers <[email protected]>"],"is-jest":false}, "390":{"url":"./tip/390.md","created":"27-Oct-2011","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 390: A Logging API for Tcl","author":["Jeff Rogers <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "389":{"url":"./tip/389.md","keywords":"Tcl","created":"23-Aug-2011","post-history":"","state":"Final","tcl-branch":"tip-389","tcl-version":"8.7","vote":"Done","type":"Project","title":"# TIP 389: Full support for Unicode 10.0 and later (part 1)","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false}, "388":{"url":"./tip/388.md","keywords":"Tcl","created":"10-Aug-2011","post-history":"","state":"Final","tcl-branch":"tip-388-impl","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 388: Extending Unicode literals past the BMP","discussions-to":"Tcl Core list","author":["Jan Nijtmans <[email protected]>","Jan Nijtmans <[email protected]>"],"is-jest":false}, "387":{"url":"./tip/387.md","keywords":"Tcl, coroutine","created":"30-May-2011","post-history":"","obsoleted-by":"396","state":"Withdrawn","tcl-version":"8.6","vote":"Pending","type":"Project","title":"# TIP 387: Unified Yield Command Syntax","author":["Lars Hellström <[email protected]>"],"is-jest":false}, "386":{"url":"./tip/386.md","keywords":"Fossil,DVCS","created":"01-Mar-2011","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 386: Relocation of Tcl/Tk Source Control Repositories","author":["Kevin B. Kenny <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "385":{"url":"./tip/385.md","keywords":"Tcl, traces","created":"13-Feb-2011","post-history":"","state":"Draft","tcl-version":"9.0","vote":"Pending","type":"Project","title":"# TIP 385: Functional Traces On Variables","author":["Alexandre Ferrieux <[email protected]>"],"is-jest":false}, "384":{"url":"./tip/384.md","keywords":"kqueue,inotify,dnotify,gamin,FSevents,fam","created":"02-Dec-2010","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 384: Add File Alteration Monitoring to the Tcl Core","author":["Reinhard Max <[email protected]>","Gerald W. Lester <[email protected]>"],"is-jest":false}, "383":{"url":"./tip/383.md","keywords":"debugging,coroutine,yielded","state":"Final","type":"Project","author":["Alexandre Ferrieux <[email protected]>","Miguel Sofer <[email protected]>","Donal K. Fellows <[email protected]>"],"votes-for":"DKF, KBK, JN","votes-against":"none","created":"03-Dec-2010","title":"# TIP 383: Injecting Code into Suspended Coroutines","post-history":"","vote":"Done","tcl-version":"8.7","tcl-branch":"tip-383","votes-present":"FV, SL","is-jest":false}, "382":{"url":"./tip/382.md","keywords":"Tk, dialog","created":"02-Nov-2010","post-history":"","state":"Final","tk-branch":"tip-382","vote":"Done","tcl-version":"8.5.11","type":"Project","title":"# TIP 382: Let tk_getSaveFile ignore file overwrites","author":["Pawel Salawa <[email protected]>","Don Porter <[email protected]>"],"is-jest":false}, "381":{"url":"./tip/381.md","keywords":"TclOO, iTcl","created":"20-Oct-2010","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tcloo/timeline?r=development-next2","vote":"Done","tcl-version":"8.6","type":"Project","title":"# TIP 381: Call Chain Introspection and Control","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "380":{"url":"./tip/380.md","tcl-ticket":"3084339","created":"20-Oct-2010","post-history":"","state":"Final","vote":"Done","tcl-version":"8.6","type":"Project","title":"# TIP 380: TclOO Slots for Flexible Declarations","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "379":{"url":"./tip/379.md","keywords":"event","created":"17-Oct-2010","post-history":"","state":"Draft","implementation-url":"http://www.wjduquette.com/notifier/hook-0.1.zip","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 379: Add a Command for Delivering Events Without Tk","author":["Will Duquette <[email protected]>"],"is-jest":false}, "378":{"url":"./tip/378.md","tcl-ticket":"3081184","created":"04-Oct-2010","post-history":"","state":"Final","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 378: Fixing the Performance of TIP 280","author":["Andreas Kupries <[email protected]>","Jeff Hobbs <[email protected]>"],"is-jest":false}, "377":{"url":"./tip/377.md","created":"13-Sep-2010","post-history":"","state":"Withdrawn","tcl-version":"8.6","vote":"Pending","type":"Project","title":"# TIP 377: Portably Determining the Number of Processors in the System","author":["Andreas Kupries <[email protected]>"],"is-jest":false}, "376":{"url":"./tip/376.md","created":"14-Sep-2010","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tdbc/","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 376: Bundle sqlite3 and tdbc::sqlite3 Packages","author":["Don Porter <[email protected]>","D. Richard Hipp <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "375":{"url":"./tip/375.md","obsoletes":"373","keywords":"coroutine,yield","created":"12-Aug-2010","obsoleted-by":"396","post-history":"","state":"Draft","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 375: Symmetric Coroutines and Yieldto","author":["Miguel Sofer <[email protected]>"],"is-jest":false}, "374":{"url":"./tip/374.md","created":"13-Aug-2010","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 374: Stackless Vwait","author":["Thomas Perschak <[email protected]>","Trevor Davel <[email protected]>"],"is-jest":false}, "373":{"url":"./tip/373.md","obsoletes":"372","keywords":"coroutine,yield","created":"12-Aug-2010","obsoleted-by":"375","post-history":"","state":"Withdrawn","tcl-version":"8.6","vote":"Pending","type":"Project","title":"# TIP 373: Improved Yielding Support for Coroutines","author":["Miguel Sofer <[email protected]>"],"is-jest":false}, "372":{"url":"./tip/372.md","keywords":"coroutine, yield","created":"11-Aug-2010","obsoleted-by":"396","post-history":"","state":"Draft","tcl-version":"8.6","vote":"Done","type":"Project","title":"# TIP 372: Multi-argument Yield for Coroutines","discussions-to":"http://wiki.tcl.tk/26006","author":["Colin McCormack <[email protected]>"],"is-jest":false}, "371":{"url":"./tip/371.md","created":"05-Aug-2010","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 371: Improvements for the dict command","author":["Thomas Perschak <[email protected]>","Trevor Davel <[email protected]>"],"is-jest":false}, "370":{"url":"./tip/370.md","created":"04-Aug-2010","post-history":"","state":"Draft","vote":"Pending","tcl-version":"8.7","type":"Project","title":"# TIP 370: Extend Tk's selection with a -time option","author":["George Petasis <[email protected]>"],"is-jest":false}, "369":{"url":"./tip/369.md","tk-ticket":"3023578","keywords":"Tk,user-defined data,dictionary","created":"15-Jul-2010","post-history":"","state":"Draft","tcl-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 369: Widget cargo command","author":["Russell Davidson <[email protected]>","Trevor Davel <[email protected]>"],"is-jest":false}, |
︙ | ︙ | |||
519 520 521 522 523 524 525 | "33":{"url":"./tip/33.md","created":"15-May-2001","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 33: Add 'lset' Command to Assign to List Elements.","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, "32":{"url":"./tip/32.md","keywords":"trace,Tcl_Obj","created":"23-Mar-2001","post-history":"","state":"Final","tcl-version":"8.4a4","vote":"Done","type":"Project","title":"# TIP 32: Add Tcl_Obj-enabled counterpart to Tcl_CreateTrace","discussions-to":"news:comp.lang.tcl","author":["David Cuthbert <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "31":{"url":"./tip/31.md","created":"12-Mar-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 31: CVS tags in the Tcl and Tk repositories","author":["Don Porter <[email protected]>","miguel sofer <[email protected]>","Jeff Hobbs <[email protected]>","Kevin Kenny <[email protected]>","David Gravereaux <[email protected]>","Donal K. Fellows <[email protected]>","Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","<[email protected]>","Kevin Kenny <[email protected] >"],"is-jest":false}, "30":{"url":"./tip/30.md","created":"09-Mar-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 30: Tk Toolkit Maintainer Assignments","author":["Don Porter <[email protected]>","Donal K. Fellows <[email protected]>","Jan Nijtmans <[email protected]>","Todd M. Helfter <[email protected]>","Chengye Mao <[email protected]>","George B. Smith <[email protected]>","Miguel Bañón <[email protected]>","Daniel Steffen <[email protected]>","Peter Spjuth <[email protected]>","Jeff Hobbs <[email protected]>","Vince Darley <[email protected]>","Donal K. Fellows <[email protected]>","Benjamin Riefenstahl <[email protected]>","Pat Thoyts <[email protected]>","Vince Darley <[email protected]>","Peter Spjuth <[email protected]>"],"is-jest":false}, "29":{"url":"./tip/29.md","created":"07-Mar-2001","post-history":"","state":"Rejected","tcl-version":"9.0","vote":"Done","type":"Project","title":"# TIP 29: Allow array syntax for Tcl lists","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "28":{"url":"./tip/28.md","created":"23-Feb-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 28: How to be a good maintainer for Tcl/Tk","author":["Don Porter <[email protected]>"],"is-jest":false}, "27":{"url":"./tip/27.md","created":"25-Feb-2001","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 27: CONST Qualification on Pointers in Tcl API's","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, | | | | | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | "33":{"url":"./tip/33.md","created":"15-May-2001","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 33: Add 'lset' Command to Assign to List Elements.","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, "32":{"url":"./tip/32.md","keywords":"trace,Tcl_Obj","created":"23-Mar-2001","post-history":"","state":"Final","tcl-version":"8.4a4","vote":"Done","type":"Project","title":"# TIP 32: Add Tcl_Obj-enabled counterpart to Tcl_CreateTrace","discussions-to":"news:comp.lang.tcl","author":["David Cuthbert <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false}, "31":{"url":"./tip/31.md","created":"12-Mar-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 31: CVS tags in the Tcl and Tk repositories","author":["Don Porter <[email protected]>","miguel sofer <[email protected]>","Jeff Hobbs <[email protected]>","Kevin Kenny <[email protected]>","David Gravereaux <[email protected]>","Donal K. Fellows <[email protected]>","Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","<[email protected]>","Kevin Kenny <[email protected] >"],"is-jest":false}, "30":{"url":"./tip/30.md","created":"09-Mar-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 30: Tk Toolkit Maintainer Assignments","author":["Don Porter <[email protected]>","Donal K. Fellows <[email protected]>","Jan Nijtmans <[email protected]>","Todd M. Helfter <[email protected]>","Chengye Mao <[email protected]>","George B. Smith <[email protected]>","Miguel Bañón <[email protected]>","Daniel Steffen <[email protected]>","Peter Spjuth <[email protected]>","Jeff Hobbs <[email protected]>","Vince Darley <[email protected]>","Donal K. Fellows <[email protected]>","Benjamin Riefenstahl <[email protected]>","Pat Thoyts <[email protected]>","Vince Darley <[email protected]>","Peter Spjuth <[email protected]>"],"is-jest":false}, "29":{"url":"./tip/29.md","created":"07-Mar-2001","post-history":"","state":"Rejected","tcl-version":"9.0","vote":"Done","type":"Project","title":"# TIP 29: Allow array syntax for Tcl lists","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "28":{"url":"./tip/28.md","created":"23-Feb-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 28: How to be a good maintainer for Tcl/Tk","author":["Don Porter <[email protected]>"],"is-jest":false}, "27":{"url":"./tip/27.md","created":"25-Feb-2001","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 27: CONST Qualification on Pointers in Tcl API's","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, "26":{"url":"./tip/26.md","obsoletes":"19","created":"20-Feb-2001","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tips/raw/assets/26.patch","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 26: Enhancements for the Tk Text Widget","discussions-to":"news:comp.lang.tcl","author":["Ludwig Callewaert <[email protected]>","Ludwig Callewaert <[email protected]>"],"is-jest":false}, "25":{"url":"./tip/25.md","created":"07-Feb-2001","post-history":"","obsoleted-by":"152","state":"Withdrawn","vote":"Pending","tcl-version":"8.5","type":"Project","title":"# TIP 25: Native tk_messageBox on Macintosh","author":["Mats Bengtsson <[email protected]>"],"is-jest":false}, "24":{"url":"./tip/24.md","created":"29-Jan-2001","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 24: Tcl Maintainer Assignments","author":["Don Porter <[email protected]>","Donal K. Fellows <[email protected]>","Kevin B. Kenny <[email protected]>","Jeff Hobbs <[email protected]>","Pavel Goran <[email protected]>","Daniel A. Steffen <[email protected]>","miguel sofer <[email protected]>"],"is-jest":false}, "23":{"url":"./tip/23.md","created":"22-Jan-2001","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 23: Tk Toolkit Functional Areas for Maintainer Assignments","author":["Kevin Kenny <[email protected]>","Jim Ingham <[email protected]>","Don Porter <[email protected]>","Daniel A. Steffen <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "22":{"url":"./tip/22.md","keywords":"lindex,multiple arguments,sublists","created":"19-Jan-2001","post-history":"","state":"Final","tcl-version":"8.4a2","vote":"Done","type":"Project","title":"# TIP 22: Multiple Index Arguments to lindex","discussions-to":"news:comp.lang.tcl,mailto:[email protected]","author":["David Cuthbert <[email protected]>","Kevin Kenny <[email protected]>","Don Porter <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "21":{"url":"./tip/21.md","created":"14-Jan-2001","post-history":"","state":"Final","implementation-url":"http://www.hwaci.com/sw/asym_pad_patch_2.txt","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 21: Asymmetric Padding in the Pack and Grid Geometry Managers","author":["D. Richard Hipp <[email protected]>"],"is-jest":false}, "20":{"url":"./tip/20.md","created":"08-Jan-2001","post-history":"","state":"Deferred","vote":"Pending","tcl-version":"8.5","type":"Project","title":"# TIP 20: Add C Locale-Exact CType Functions","author":["Jeffrey Hobbs <[email protected]>"],"is-jest":false}, "19":{"url":"./tip/19.md","created":"03-Jan-2001","post-history":"","obsoleted-by":"26","state":"Final","tcl-version":"8.4a2","vote":"Done","type":"Project","title":"# TIP 19: Add a Text Changed Flag to Tk's Text Widget","author":["Neil McKay <[email protected]>"],"is-jest":false}, "18":{"url":"./tip/18.md","created":"12-Dec-2000","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 18: Add Labels to Frames","author":["Peter Spjuth <[email protected]>"],"is-jest":false}, "17":{"url":"./tip/17.md","created":"17-Nov-2000","post-history":"","state":"Final","tcl-version":"8.4.0","vote":"Done","type":"Project","title":"# TIP 17: Redo Tcl's filesystem","author":["Vince Darley <[email protected]>"],"is-jest":false}, "16":{"url":"./tip/16.md","created":"21-Nov-2000","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 16: Tcl Functional Areas for Maintainer Assignments","author":["Don Porter <[email protected]>","Daniel Steffen <[email protected]>"],"is-jest":false}, "15":{"url":"./tip/15.md","keywords":"Tcl,expr,function,introspection","created":"22-Nov-2000","post-history":"","state":"Final","tcl-version":"8.4.0","vote":"Done","type":"Project","title":"# TIP 15: Functions to List and Detail Math Functions","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "14":{"url":"./tip/14.md","keywords":"Tk,photo,transparency,internal,access","created":"22-Nov-2000","post-history":"","state":"Final","implementation-url":"http://www.cs.man.ac.uk/~fellowsd/tcl/validRegion.patch","tcl-version":"8.4.0","vote":"Done","type":"Project","title":"# TIP 14: Access to Tk Photo Image Transparency","author":["Donal K. Fellows <[email protected]>"],"is-jest":false}, "13":{"url":"./tip/13.md","created":"21-Nov-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 13: Web Service for Drafting and Archiving TIPs","author":["Don Porter <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false}, "12":{"url":"./tip/12.md","created":"15-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 12: The \"Batteries Included\" Distribution","discussions-to":"news:comp.lang.tcl","author":["George A. Howlett <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false}, "11":{"url":"./tip/11.md","created":"16-Nov-2000","post-history":"","state":"Final","vote":"Done","tcl-version":"8.4","type":"Project","title":"# TIP 11: Tk Menubutton Enhancement: -compound option for menubutton","author":["Todd Helfter <[email protected]>"],"is-jest":false}, "10":{"url":"./tip/10.md","created":"08-Nov-2000","post-history":"","state":"Final","implementation-url":"https://core.tcl-lang.org/tips/raw/assets/10.patch","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 10: Tcl I/O Enhancement: Thread-Aware Channels","author":["Andreas Kupries <[email protected]>"],"is-jest":false}, "9":{"url":"./tip/9.md","created":"07-Nov-2000","post-history":"","state":"Withdrawn","tcl-version":"8.4","vote":"Pending","type":"Project","title":"# TIP 9: Tk Standard Library","author":["Marty Backe <[email protected]>","Larry W. Virden <[email protected]>","Jeff Hobbs <[email protected]>"],"is-jest":false}, "8":{"url":"./tip/8.md","created":"06-Nov-2000","post-history":"","state":"Final","implementation-url":"ftp://ftp.ucsd.edu/pub/alpha/tcl/tkWinWm.diff","vote":"Done","tcl-version":"8.4.0","type":"Project","title":"# TIP 8: Add Winico support to the wm command on windows","author":["Vince Darley <[email protected]>"],"is-jest":false}, "7":{"url":"./tip/7.md","created":"26-Oct-2000","post-history":"","state":"Final","tcl-version":"8.4","vote":"Done","type":"Project","title":"# TIP 7: Increased resolution for TclpGetTime on Windows","discussions-to":"news:comp.lang.tcl","author":["Kevin Kenny <[email protected]>"],"is-jest":false}, "6":{"url":"./tip/6.md","created":"16-Oct-2000","post-history":"","state":"Rejected","tcl-version":"8.4.0","vote":"Done","type":"Project","title":"# TIP 6: Include [Incr Tcl] in the Core Tcl distribution","author":["Mark Harrison <[email protected]>"],"is-jest":false}, "5":{"url":"./tip/5.md","created":"17-Oct-2000","post-history":"","state":"Final","vote":"Done","tcl-version":"8.4","type":"Project","title":"# TIP 5: Make TkClassProcs and TkSetClassProcs Public and Extensible","author":["Eric Melski <[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": 550 }, "@timestamp": 1560763375} |
Changes to index.md.
︙ | ︙ | |||
505 506 507 508 509 510 511 | </tr> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/513.md'>513</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/513.md'>Better support for 'agendas' as arrays, dictionaries or lists</a></td> | | | 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 | </tr> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/513.md'>513</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/513.md'>Better support for 'agendas' as arrays, dictionaries or lists</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tips/doc/trunk/attach/513/agendas.tcl'>Link</a></td> </tr> <tr class='state-final type-project version-87'> <td valign='top'><a href='./tip/512.md'>512</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/512.md'>No stub for Tcl_SetExitProc()</a></td> |
︙ | ︙ | |||
983 984 985 986 987 988 989 | </tr> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/453.md'>453</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/453.md'>Tcl Based Automation for tcl/pkgs</a></td> | | | 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 | </tr> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/453.md'>453</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/453.md'>Tcl Based Automation for tcl/pkgs</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tclconfig/timeline?r=practcl'>Link</a></td> </tr> <tr class='state-draft type-project version-87'> <td valign='top'><a href='./tip/452.md'>452</a></td> <td valign='top'>Project</td> <td valign='top'>8.7</td> <td valign='top'>Draft</td> <td valign='top' ><a href='./tip/452.md'>Add "stubs" Package to or Along Side of TclTest</a></td> |
︙ | ︙ | |||
1119 1120 1121 1122 1123 1124 1125 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/436.md'>436</a></td> <td valign='top'>Project</td> <td valign='top'>8.6.5</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/436.md'>Improve TclOO isa Introspection</a></td> | | | 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/436.md'>436</a></td> <td valign='top'>Project</td> <td valign='top'>8.6.5</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/436.md'>Improve TclOO isa Introspection</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tcloo/info/5fa1374aa026d4c7'>Link</a></td> </tr> <tr class='state-rejected type-project version-86'> <td valign='top'><a href='./tip/435.md'>435</a></td> <td valign='top'>Project</td> <td valign='top'>8.6.5</td> <td valign='top'>Rejected</td> <td valign='top' ><a href='./tip/435.md'>Safe Mutex Disposal API</a></td> |
︙ | ︙ | |||
1429 1430 1431 1432 1433 1434 1435 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/397.md'>397</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/397.md'>Extensible Object Copying</a></td> | | | 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/397.md'>397</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/397.md'>Extensible Object Copying</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tcloo/timeline?r=development-rfe3485060'>Link</a></td> </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/396.md'>396</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/396.md'>Symmetric Coroutines, Multiple Args, and yieldto</a></td> |
︙ | ︙ | |||
1555 1556 1557 1558 1559 1560 1561 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/381.md'>381</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/381.md'>Call Chain Introspection and Control</a></td> | | | 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/381.md'>381</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/381.md'>Call Chain Introspection and Control</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tcloo/timeline?r=development-next2'>Link</a></td> </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/380.md'>380</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/380.md'>TclOO Slots for Flexible Declarations</a></td> |
︙ | ︙ | |||
1595 1596 1597 1598 1599 1600 1601 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/376.md'>376</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/376.md'>Bundle sqlite3 and tdbc::sqlite3 Packages</a></td> | | | 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 | </tr> <tr class='state-final type-project version-86'> <td valign='top'><a href='./tip/376.md'>376</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/376.md'>Bundle sqlite3 and tdbc::sqlite3 Packages</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tdbc/'>Link</a></td> </tr> <tr class='state-obsoleted type-project version-86'> <td valign='top'><a href='./tip/375.md'>375</a></td> <td valign='top'>Project</td> <td valign='top'>8.6</td> <td valign='top'>Obsoleted</td> <td valign='top' ><a href='./tip/375.md'>Symmetric Coroutines and Yieldto</a></td> |
︙ | ︙ | |||
4357 4358 4359 4360 4361 4362 4363 | </tr> <tr class='state-final type-project version-84'> <td valign='top'><a href='./tip/26.md'>26</a></td> <td valign='top'>Project</td> <td valign='top'>8.4</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/26.md'>Enhancements for the Tk Text Widget</a></td> | | | 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 | </tr> <tr class='state-final type-project version-84'> <td valign='top'><a href='./tip/26.md'>26</a></td> <td valign='top'>Project</td> <td valign='top'>8.4</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/26.md'>Enhancements for the Tk Text Widget</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tips/raw/assets/26.patch'>Link</a></td> </tr> <tr class='state-obsoleted type-project version-85'> <td valign='top'><a href='./tip/25.md'>25</a></td> <td valign='top'>Project</td> <td valign='top'>8.5</td> <td valign='top'>Obsoleted</td> <td valign='top' ><a href='./tip/25.md'>Native tk_messageBox on Macintosh</a></td> |
︙ | ︙ | |||
4475 4476 4477 4478 4479 4480 4481 | </tr> <tr class='state-final type-project version-84'> <td valign='top'><a href='./tip/10.md'>10</a></td> <td valign='top'>Project</td> <td valign='top'>8.4</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/10.md'>Tcl I/O Enhancement: Thread-Aware Channels</a></td> | | | 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 | </tr> <tr class='state-final type-project version-84'> <td valign='top'><a href='./tip/10.md'>10</a></td> <td valign='top'>Project</td> <td valign='top'>8.4</td> <td valign='top'>Final</td> <td valign='top' ><a href='./tip/10.md'>Tcl I/O Enhancement: Thread-Aware Channels</a></td> <td valign='top'><a href='https://core.tcl-lang.org/tips/raw/assets/10.patch'>Link</a></td> </tr> <tr class='state-withdrawn type-project version-84'> <td valign='top'><a href='./tip/9.md'>9</a></td> <td valign='top'>Project</td> <td valign='top'>8.4</td> <td valign='top'>Withdrawn</td> <td valign='top' ><a href='./tip/9.md'>Tk Standard Library</a></td> |
︙ | ︙ |
Changes to tip/10.md.
1 2 3 4 5 6 7 8 | # TIP 10: Tcl I/O Enhancement: Thread-Aware Channels Author: Andreas Kupries <[email protected]> State: Final Type: Project Vote: Done Created: 08-Nov-2000 Post-History: Tcl-Version: 8.4 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # TIP 10: Tcl I/O Enhancement: Thread-Aware Channels Author: Andreas Kupries <[email protected]> State: Final Type: Project Vote: Done Created: 08-Nov-2000 Post-History: Tcl-Version: 8.4 Implementation-URL: https://core.tcl-lang.org/tips/raw/assets/10.patch ----- # Abstract This TIP describes how to change the generic I/O layer in the Tcl core to make channels aware of the thread they are managed by. |
︙ | ︙ |
Changes to tip/106.md.
︙ | ︙ | |||
52 53 54 55 56 57 58 | This is a reasonable solution, because any encoding including the system encoding may be used as shown in the upper example. # Reference Implementation See the _tip-106-impl_ branch in Tcl's fossil repository | | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | This is a reasonable solution, because any encoding including the system encoding may be used as shown in the upper example. # Reference Implementation See the _tip-106-impl_ branch in Tcl's fossil repository <https://core.tcl-lang.org/tcl/timeline?r=tip-106-impl> . # Rejected Alternatives I proposed to use a switch ?**-encoding** _encoding_? which would avoid the preparation of an encoded string by **encoding convertto**. DDE is so little used at those days so a minimal support is sufficient. |
︙ | ︙ |
Changes to tip/161.md.
︙ | ︙ | |||
35 36 37 38 39 40 41 | Implementation of this TIP requires only changing a single default in each of the platform specific _tk\*Default.h_ files, and updating the documentation and test cases. Note that this change was already done in Nov. 2004, on OS X only, by | | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | Implementation of this TIP requires only changing a single default in each of the platform specific _tk\*Default.h_ files, and updating the documentation and test cases. Note that this change was already done in Nov. 2004, on OS X only, by <https://core.tcl-lang.org/tk/info/2cb92ba546de97e1> Indeed on OS X menues cannot be torn off. # Compatibility Unfortunately, entries in menus are often accessed by index within scripts, and the presence or absence of tearoff affects this index. |
︙ | ︙ | |||
74 75 76 77 78 79 80 | puts "Item_1 is item number [.m.file index Item_1]" # Implementation See branch tip-161: | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 | puts "Item_1 is item number [.m.file index Item_1]" # Implementation See branch tip-161: <https://core.tcl-lang.org/tk/timeline?r=tip-161> # Copyright This document has been placed in the public domain. |
Changes to tip/26.md.
1 2 3 4 5 6 7 8 9 10 11 | # TIP 26: Enhancements for the Tk Text Widget Author: Ludwig Callewaert <[email protected]> Author: Ludwig Callewaert <[email protected]> State: Final Type: Project Vote: Done Created: 20-Feb-2001 Post-History: Discussions-To: news:comp.lang.tcl Obsoletes: 19 Tcl-Version: 8.4 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # TIP 26: Enhancements for the Tk Text Widget Author: Ludwig Callewaert <[email protected]> Author: Ludwig Callewaert <[email protected]> State: Final Type: Project Vote: Done Created: 20-Feb-2001 Post-History: Discussions-To: news:comp.lang.tcl Obsoletes: 19 Tcl-Version: 8.4 Implementation-URL: https://core.tcl-lang.org/tips/raw/assets/26.patch ----- # Abstract This TIP proposes several enhancements for the Tk text widget. An unlimited undo/redo mechanism is proposed, with several user available customisation features. Related to this, a text modified indication |
︙ | ︙ |
Changes to tip/312.md.
︙ | ︙ | |||
67 68 69 70 71 72 73 | TCL\_LINK\_BINARY: The address of the C variable is used as a _unsigned char *_. The address remains always the same. Read and write operations must always contain the full sized binary string. # Reference Implementation See [patch 1992842](https://sourceforge.net/support/tracker.php?aid=1992824). | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | TCL\_LINK\_BINARY: The address of the C variable is used as a _unsigned char *_. The address remains always the same. Read and write operations must always contain the full sized binary string. # Reference Implementation See [patch 1992842](https://sourceforge.net/support/tracker.php?aid=1992824). See [`tip-312-new` branch](https://core.tcl-lang.org/tcl/timeline?r=tip-312-new). # Notes The original TIP proposed a _link_ command to allow these things to be done from the script level; this has been removed in the test suite support because of concerns about safety and security. |
︙ | ︙ |
Changes to tip/346.md.
︙ | ︙ | |||
46 47 48 49 50 51 52 | The second case does imply a Potential Incompatibility, since currently SBFA is documented to always return TCL\_OK. However, it is felt that virtually all cases that are sensitive to this, are actually half-working in a completely hidden manner. Hence the global effect is a healthy one. # Reference Example | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 | The second case does imply a Potential Incompatibility, since currently SBFA is documented to always return TCL\_OK. However, it is felt that virtually all cases that are sensitive to this, are actually half-working in a completely hidden manner. Hence the global effect is a healthy one. # Reference Example See [Bug 1665628](https://core.tcl-lang.org/tcl/tktview/1665628). # Copyright This document has been placed in the public domain. |
Changes to tip/376.md.
1 2 3 4 5 6 7 8 9 10 | # TIP 376: Bundle sqlite3 and tdbc::sqlite3 Packages Author: Don Porter <[email protected]> Author: D. Richard Hipp <[email protected]> Author: Kevin Kenny <[email protected]> State: Final Type: Project Vote: Done Created: 14-Sep-2010 Tcl-Version: 8.6 Post-History: | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # TIP 376: Bundle sqlite3 and tdbc::sqlite3 Packages Author: Don Porter <[email protected]> Author: D. Richard Hipp <[email protected]> Author: Kevin Kenny <[email protected]> State: Final Type: Project Vote: Done Created: 14-Sep-2010 Tcl-Version: 8.6 Post-History: Implementation-URL: https://core.tcl-lang.org/tdbc/ ----- # Abstract This TIP proposes the packages **sqlite3** and **tdbc::sqlite3** be re-distributed as part of the Tcl source code distribution. |
︙ | ︙ |
Changes to tip/381.md.
1 2 3 4 5 6 7 8 9 | # TIP 381: Call Chain Introspection and Control State: Final Type: Project Tcl-Version: 8.6 Vote: Done Post-History: Author: Donal K. Fellows <[email protected]> Created: 20-Oct-2010 Keywords: TclOO, iTcl | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # TIP 381: Call Chain Introspection and Control State: Final Type: Project Tcl-Version: 8.6 Vote: Done Post-History: Author: Donal K. Fellows <[email protected]> Created: 20-Oct-2010 Keywords: TclOO, iTcl Implementation-URL: https://core.tcl-lang.org/tcloo/timeline?r=development-next2 ----- # Abstract This TIP proposes mechanisms for inspecting the TclOO call chain for a particular method, both externally via **info** and from within a call to that method. It also proposes a mechanism that will allow the traversal of the |
︙ | ︙ | |||
91 92 93 94 95 96 97 | _arg_uments given, of course\). It will be an error to attempt to call a class's implementation of a method that is not on the chain, or that is preceding the currently executing method implementation, and it will not be possible to jump to filters applied to the method. # Reference Implementation | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 | _arg_uments given, of course\). It will be an error to attempt to call a class's implementation of a method that is not on the chain, or that is preceding the currently executing method implementation, and it will not be possible to jump to filters applied to the method. # Reference Implementation See <https://core.tcl-lang.org/tcloo/timeline?r=development-next2> for the proposed implementation \(notably commit-f5a2cfd0d4\). # Copyright This document has been placed in the public domain. |
Changes to tip/386.md.
︙ | ︙ | |||
22 23 24 25 26 27 28 | SourceForge staff have formally designated CVS hosting to be a legacy product and offered assistance with migration to Subversion. Since for some time the Tcl/Tk maintainers have wanted to transfer the version control repository to a distributed version control system \(DVCS\), the decision has been made to abandon SourceForge and adopt a Fossil repository. A donor who wishes to remain anonymous has given a reasonably powerful machine, | | | | | | | | | 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | SourceForge staff have formally designated CVS hosting to be a legacy product and offered assistance with migration to Subversion. Since for some time the Tcl/Tk maintainers have wanted to transfer the version control repository to a distributed version control system \(DVCS\), the decision has been made to abandon SourceForge and adopt a Fossil repository. A donor who wishes to remain anonymous has given a reasonably powerful machine, **core.tcl-lang.org** to the Tcl Community Association and is providing rack space and bandwidth. The donor has also generously offered to make free shell accounts to qualified Tcl/Tk developers for CPU- and bandwidth-intensive tasks such as performance analysis and memory management audits. Interested developers should contact one of the TCT members listed at the end of this document. Needless to say, given the distributed nature of Fossil, we expect several mirrors to emerge; Richard Hipp of SQLite.org has provided the first one, appropriately named **mirror1.tcl.tk**. # Repository Locations The code base for Tcl itself now resides in a Fossil repository at <https://core.tcl-lang.org/tcl/> . The Fossil repository is available for anonymous cloning and for examination of version control history. At present, the bug tracker is disabled. Similarly, the code base for Tk resides at <https://core.tcl-lang.org/tk> . Tcl and Tk developers shall be granted 'push' rights to the respective repositories. Developers who are unfamiliar with Fossil are strongly encouraged to consult the documentation at <http://fossil-scm.org/> , in particular, the 'Fossil Concepts' paper at <http://fossil-scm.org/index.html/doc/trunk/www/concepts.wiki> . Novices to Fossil may want to work at least temporarily in 'autosync mode', which allows a CVS-like workflow. At present, the bug, feature request and patch trackers will remain on SourceForge. Any developer hosting a mirror is expected to disable the bug tracker \(it suffices to remove 't' permission from the 'anonymous' user\). At some point we may use a SourceForge-to-Fossil converter for the existing trackers, and we do not wish to worry about trying to keep SourceForge and Fossil in sync. **mirror1.tcl.tk** shall be kept up to date by a periodic automatic synchronization with **core.tcl-lang.org**. In order to avoid inadvertent forking, developers are requested not to push to mirrors unless **core.tcl-lang.org** suffers an extended outage. Before using a clone from a mirror, developers should verify that it copies the correct version of the repository at **core.tcl-lang.org**. This can be determined by examining the 'project ID', reported by the 'clone' operation. For Tcl, the ID should be 1ec9da4c469c29f4717e2a967fe6b916d9c8c06e and for Tk, it should be b5a34cc57b6712927bc5fd34ae98433a14c9fdea **UPDATE, June 2013** The ticket trackers have now also been migrated from SourceForge to **core.tcl-lang.org**. # Workflow Generally speaking, workflow will follow the description in <http://fossil-scm.org/index.html/doc/trunk/www/concepts.wiki#workflow> . It is expected that large projects will be conducted on named branches in the |
︙ | ︙ | |||
104 105 106 107 108 109 110 | Tcl and Tk maintainers may request repository access by emailing one of the Tcl Core Team members on the following list: Joe English, Donal Fellows, Jeff Hobbs, Kevin Kenny, Andreas Kupries, Don Porter | | | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | Tcl and Tk maintainers may request repository access by emailing one of the Tcl Core Team members on the following list: Joe English, Donal Fellows, Jeff Hobbs, Kevin Kenny, Andreas Kupries, Don Porter all of whom have the required access to add new users to core.tcl-lang.org. # Acknowledgments Major thanks are due to Roy Keene, for leading the migration effort, to Jörg Sonnenberger \(author of cvs2fossil\) and D. Richard Hipp \(author of fossil itself\) for many hours of unpaid support in getting the conversion to go, to Mark Janssen for developing scripts to audit the Fossil content against |
︙ | ︙ |
Changes to tip/388.md.
︙ | ︙ | |||
120 121 122 123 124 125 126 | This TIP does not propose that, because they may be used internally e.g. as part of a character range in a regular expression. A better place to do that is in the Utf8-To-Utf8 conversion, but that's outside the scope of this TIP. # Reference Implementation | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | This TIP does not propose that, because they may be used internally e.g. as part of a character range in a regular expression. A better place to do that is in the Utf8-To-Utf8 conversion, but that's outside the scope of this TIP. # Reference Implementation A reference implementation is available at <https://core.tcl-lang.org/tcl> in branch tip-388-impl # Copyright This document has been placed in the public domain. |
Changes to tip/389.md.
︙ | ︙ | |||
167 168 169 170 171 172 173 | regular expressions won't notice the difference. Those caveats are planned to be handled in "part 2" ([TIP #497](497.md)) # Reference Implementation A reference implementation is available in the [tip-389 branch] | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | regular expressions won't notice the difference. Those caveats are planned to be handled in "part 2" ([TIP #497](497.md)) # Reference Implementation A reference implementation is available in the [tip-389 branch] (https://core.tcl-lang.org/tk/timeline?r=tip-389). # Rejected Alternatives It would have been possible to give the new _Tcl\_GetUniChar_ and friends a new stub entry and to deprecate the original one, as was done with _Tcl\_Backslash_. However, _Tcl\_Backslash_ originally only returned an ASCII character, which needed to be extended to UniChar. UniChar's |
︙ | ︙ |
Changes to tip/397.md.
1 2 3 4 5 6 7 8 9 | # TIP 397: Extensible Object Copying State: Final Type: Project Tcl-Version: 8.6 Vote: Done Post-History: Author: Donal K. Fellows <[email protected]> Created: 13-Feb-2012 Keywords: Tcl, TclOO, copy, clone | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # TIP 397: Extensible Object Copying State: Final Type: Project Tcl-Version: 8.6 Vote: Done Post-History: Author: Donal K. Fellows <[email protected]> Created: 13-Feb-2012 Keywords: Tcl, TclOO, copy, clone Implementation-URL: https://core.tcl-lang.org/tcloo/timeline?r=development-rfe3485060 ----- # Abstract This TIP proposes a mechanism whereby an object or class can provide additional control over how it gets copied to a new one by the **oo::copy** command. |
︙ | ︙ | |||
48 49 50 51 52 53 54 | \(note, not other commands\) of the source to the copy. This method will not be exported by default \(nor should it be; the method is not intended to be called directly\). # Reference Implementation See the "development-rfe3485060" branch of the tcloo repository: | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 | \(note, not other commands\) of the source to the copy. This method will not be exported by default \(nor should it be; the method is not intended to be called directly\). # Reference Implementation See the "development-rfe3485060" branch of the tcloo repository: <https://core.tcl-lang.org/tcloo/timeline?r=development-rfe3485060> # Copyright This document has been placed in the public domain. |
Changes to tip/401.md.
︙ | ︙ | |||
507 508 509 510 511 512 513 | comment word is a comment word throughout so many contexts. # Reference Implementation A reference implementation is available as SF Tcl patch \#3522426 <https://sourceforge.net/support/tracker.php?aid=3522426> . It includes some tests, but more could be needed. DGP has also created a branch | | | 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | comment word is a comment word throughout so many contexts. # Reference Implementation A reference implementation is available as SF Tcl patch \#3522426 <https://sourceforge.net/support/tracker.php?aid=3522426> . It includes some tests, but more could be needed. DGP has also created a branch **tip-401** <https://core.tcl-lang.org/tcl/timeline?r=tip-401> for it in the core fossil respository; further development is best conducted in the latter. Implementing comment words in lists and the like could be achieved by modifications only in TclFindElement. Comment words in scripts are implemented as argument expansion that does not contribute any word. |
︙ | ︙ |
Changes to tip/402.md.
︙ | ︙ | |||
72 73 74 75 76 77 78 | Variations are possible in the handling of paths starting with 3 or more slashes. The current TIP implementation collapes more than 2 slashes to exactly 2 slashes, as the current Windows and Cygwin implementations do. # Reference Implementation | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | Variations are possible in the handling of paths starting with 3 or more slashes. The current TIP implementation collapes more than 2 slashes to exactly 2 slashes, as the current Windows and Cygwin implementations do. # Reference Implementation A reference implementation is available at <https://core.tcl-lang.org/tcl> in branch _jn-unc-vfs_. # Copyright This document has been placed in the public domain. |
Changes to tip/403.md.
︙ | ︙ | |||
54 55 56 57 58 59 60 | # Alternatives None # Reference Implementation | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # Alternatives None # Reference Implementation A reference implementation is available at <https://core.tcl-lang.org/tk> in branch _jn-web-colors_. It contains a test-case _color-1.5_, which checkes the RGB values of all known X11 colors with the above modifications. This test is marked _nonPortable_, simply because I don't know how many older X11 color lists are still in use. On win32, mac and any reasonable recent X11 package, this test passes. # Copyright |
︙ | ︙ |
Changes to tip/407.md.
︙ | ︙ | |||
266 267 268 269 270 271 272 | closely tied together with the rules for parsing and evaluating scripts, and will need to evolve in sync. # Origin of Document and Copyright Notice This document is based "near-verbatim" on comments in _generic/tclUtil.c_ in the Tcl source code distribution. | | | 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | closely tied together with the rules for parsing and evaluating scripts, and will need to evolve in sync. # Origin of Document and Copyright Notice This document is based "near-verbatim" on comments in _generic/tclUtil.c_ in the Tcl source code distribution. <https://core.tcl-lang.org/tcl/doc/trunk/generic/tclUtil.c> Copyright (c) 1987-1993 The Regents of the University of California. Copyright (c) 1994-1998 Sun Microsystems, Inc. Copyright (c) 2001 by Kevin B. Kenny. All rights reserved. This document is made available under the same license as Tcl. |
︙ | ︙ |
Changes to tip/413.md.
︙ | ︙ | |||
112 113 114 115 116 117 118 | > Those are clearly useful characters to be stripped, as they have no meaning and no visible appearance at the beginning or end of a string. But they are not spaces, so it would diverge the two commands. # Reference Implementation A reference implementation is available in the Tcl fossil repository on the | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 | > Those are clearly useful characters to be stripped, as they have no meaning and no visible appearance at the beginning or end of a string. But they are not spaces, so it would diverge the two commands. # Reference Implementation A reference implementation is available in the Tcl fossil repository on the _tip-318-update_ branch <https://core.tcl-lang.org/tcl/timeline?r=tip-318-update> . # Copyright This document has been placed in the public domain. |
Changes to tip/414.md.
︙ | ︙ | |||
35 36 37 38 39 40 41 | from an initialized stubbed environment, as it is meant to be used prior to the stub table being available. The full signature is: > void **Tcl\_InitSubsystems**\(void); # Reference Implementation | | | 35 36 37 38 39 40 41 42 43 44 45 46 | from an initialized stubbed environment, as it is meant to be used prior to the stub table being available. The full signature is: > void **Tcl\_InitSubsystems**\(void); # Reference Implementation A reference implementation is available in the [**initsubsystems**](https://core.tcl-lang.org/tcl/info/initsubsystems) branch. # Copyright This document has been placed in the public domain. |
Changes to tip/416.md.
︙ | ︙ | |||
125 126 127 128 129 130 131 | Load the module with global scoping and lazy resolution load -global -lazy module.so # Reference Implementation A reference implementation is available in the **frq-3579001** branch; see | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 | Load the module with global scoping and lazy resolution load -global -lazy module.so # Reference Implementation A reference implementation is available in the **frq-3579001** branch; see <https://core.tcl-lang.org/tcl/timeline?r=frq-3579001> # Copyright This document has been placed in the public domain. |
Changes to tip/422.md.
︙ | ︙ | |||
93 94 95 96 97 98 99 | ^~~~~~~~~~~ And if Tcl 8.7 is compiled with the `-DTCL_NO_DEPREPATED` flag, those 5 functions will not be exported as symbols from the DLL, and their entries in the stub table will be NULL. # Reference Implementation | | | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | ^~~~~~~~~~~ And if Tcl 8.7 is compiled with the `-DTCL_NO_DEPREPATED` flag, those 5 functions will not be exported as symbols from the DLL, and their entries in the stub table will be NULL. # Reference Implementation A reference implementation is available in the [tip-422](https://core.tcl-lang.org/tcl/timeline?r=tip-422) branch. There is also a [tip-422-for-8](https://core.tcl-lang.org/tcl/timeline?r=tip-422-for-8) branch, which shows the implementation for doing the deprecation in Tcl 8.7. # Copyright This document has been placed in the public domain. |
Changes to tip/424.md.
︙ | ︙ | |||
149 150 151 152 153 154 155 | * Use a different toplevel command name. > **exec2**... # Reference Implementation | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 | * Use a different toplevel command name. > **exec2**... # Reference Implementation Branch "tip-improve-exec" on core.tcl-lang.org holds the implementation. # Copyright This document has been placed in the public domain. |
Changes to tip/425.md.
︙ | ︙ | |||
126 127 128 129 130 131 132 | as does the Windows panic proc, if stderr is not sent to a character device. This improves the interoperability between Cygwin and Windows. # Reference Implementation A reference implementation is available in the **win-console-panic** branch. | | | 126 127 128 129 130 131 132 133 134 135 136 137 | as does the Windows panic proc, if stderr is not sent to a character device. This improves the interoperability between Cygwin and Windows. # Reference Implementation A reference implementation is available in the **win-console-panic** branch. <https://core.tcl-lang.org/tcl/timeline?r=win-console-panic> # Copyright This document has been placed in the public domain. |
Changes to tip/429.md.
︙ | ︙ | |||
56 57 58 59 60 61 62 | Lars has mailed on tclcore that TclX has a command **cconcat** that does essentially what my proposed **string cat** is supposed to do \(not sure though whether that is compiled\). This proposal sticks to the **cat** subcommand, as that is generally the preferred way over new toplevel commands. Also, **string concat** is added to this section, for it is a bit longer than **string cat**, and \(as Lars put it\) **string cat** is less likely to be misinterpreted as "concat, just moved into the string ensemble." # Reference implementation | | | 56 57 58 59 60 61 62 63 64 65 66 67 | Lars has mailed on tclcore that TclX has a command **cconcat** that does essentially what my proposed **string cat** is supposed to do \(not sure though whether that is compiled\). This proposal sticks to the **cat** subcommand, as that is generally the preferred way over new toplevel commands. Also, **string concat** is added to this section, for it is a bit longer than **string cat**, and \(as Lars put it\) **string cat** is less likely to be misinterpreted as "concat, just moved into the string ensemble." # Reference implementation Available as branch tip-429 on core.tcl-lang.org. # Copyright This document has been placed in the public domain. |
Changes to tip/436.md.
1 2 3 4 5 6 7 8 | # TIP 436: Improve TclOO isa Introspection State: Final Type: Project Tcl-Version: 8.6.5 Vote: Done Post-History: Author: Donal Fellows <[email protected]> Created: 30-Jun-2015 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # TIP 436: Improve TclOO isa Introspection State: Final Type: Project Tcl-Version: 8.6.5 Vote: Done Post-History: Author: Donal Fellows <[email protected]> Created: 30-Jun-2015 Implementation-URL: https://core.tcl-lang.org/tcloo/info/5fa1374aa026d4c7 ----- # Abstract The various **info object isa** introspectors should not produce errors when given a non-object; the set membership tests should simply return boolean false in those cases. |
︙ | ︙ |
Changes to tip/437.md.
︙ | ︙ | |||
16 17 18 19 20 21 22 | The proxy window \(i.e., the moving sash\) of the Tk paned window widget is hard to see in some circumstances. This TIP adds three options allowing more control over the display of the proxy so that its visibility can be enhanced where required. # Rationale | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | The proxy window \(i.e., the moving sash\) of the Tk paned window widget is hard to see in some circumstances. This TIP adds three options allowing more control over the display of the proxy so that its visibility can be enhanced where required. # Rationale As identified in [Bug: 1247115, <https://core.tcl-lang.org/tk/tktview/1247115],> a flat sashrelief is common for **panedwindow** widgets, when it separates two widgets with sunken relief. For example, the left part can be a tree and the right part a text widget, both with a white background. Under Windows, the paned window has a light grey color, and in this configuration, the proxy window is not well visible when it is moved over its managed widgets. # Proposed Change |
︙ | ︙ |
Changes to tip/438.md.
︙ | ︙ | |||
32 33 34 35 36 37 38 | solved by adding a modifier **-update** allowing the user to be sure any possible out of date line height information is recalculated. It appears that aside of **.text count -ypixels** there are several other cases where wrong results can be produced by text widget commands. These cases are illustrated in several bug reports: | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | solved by adding a modifier **-update** allowing the user to be sure any possible out of date line height information is recalculated. It appears that aside of **.text count -ypixels** there are several other cases where wrong results can be produced by text widget commands. These cases are illustrated in several bug reports: * <https://core.tcl-lang.org/tk/tktview/1566949> \(.text yview moveto\) * <https://core.tcl-lang.org/tk/tktview/e51941c> \(.text yview\) In all these cases, forcing the update by calling **.text count -update -ypixels 1.0 end** before calling **.text yview**, or **.text yview moveto** solves the issue presented in the ticket. This has however a performance cost, of course, but the above tickets show that there are cases where the programmer needs accurate results, be it at the cost of the time needed to get the line heights calculations up-to-date. |
︙ | ︙ |
Changes to tip/439.md.
︙ | ︙ | |||
121 122 123 124 125 126 127 | doesn't put a restriction to that, as Semantic Versioning only starts with version 8.7. Still it would be desirable for the TCT to describe a procedure for that, this is outside the scope of this TIP. Semantic Versioning requires that any API which is removed in Tcl 9.0 must be made deprecated in some earlier minor Tcl 8.x release. | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | doesn't put a restriction to that, as Semantic Versioning only starts with version 8.7. Still it would be desirable for the TCT to describe a procedure for that, this is outside the scope of this TIP. Semantic Versioning requires that any API which is removed in Tcl 9.0 must be made deprecated in some earlier minor Tcl 8.x release. An implementation of this TIP can be found at <https://core.tcl-lang.org/tcl> ; branch "semver". # Rejected Alternatives TODO # Copyright |
︙ | ︙ |
Changes to tip/440.md.
︙ | ︙ | |||
28 29 30 31 32 33 34 | The **engine** element will be added to the **tcl\_platform** array. Its value will be set to **"Tcl"**. # Reference Implementation A reference implementation of this TIP is available | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | The **engine** element will be added to the **tcl\_platform** array. Its value will be set to **"Tcl"**. # Reference Implementation A reference implementation of this TIP is available <https://core.tcl-lang.org/tcl/timeline?r=tclPlatformEngine> . The TH1, Jim, Picol, JTcl, and Eagle implementations of the Tcl language already implement this feature, each using the name of the project as the value of the **tcl\_platform\(engine\)** element. # Copyright |
︙ | ︙ |
Changes to tip/441.md.
︙ | ︙ | |||
20 21 22 23 24 25 26 | # Rationale Currently the **listbox** widget always aligns its items leftwards. Some users miss a configuration options allowing to justify items in the **listbox** widget. These RFE include: | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Rationale Currently the **listbox** widget always aligns its items leftwards. Some users miss a configuration options allowing to justify items in the **listbox** widget. These RFE include: * RFE 454303, <https://core.tcl-lang.org/tk/tktview/454303> * RFE 3f456a5bb9, <https://core.tcl-lang.org/tk/tktview/3f456a5bb9> # Proposed Change It is proposed to add the **-justify** configuration option to the Tk **listbox** widget. Possible values are as already documented in the **options** manual page |
︙ | ︙ |
Changes to tip/443.md.
︙ | ︙ | |||
18 19 20 21 22 23 24 | # Rationale Several users have reported they miss different tag configuration options in the **text** widget, stating they cannot achieve the rendering they target. Such RFE include: | | | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Rationale Several users have reported they miss different tag configuration options in the **text** widget, stating they cannot achieve the rendering they target. Such RFE include: * RFE 1759972 <https://core.tcl-lang.org/tk/tktview/1759972> , with Patch 3469780 <https://core.tcl-lang.org/tk/tktview/3469780> * RFE 220889 <https://core.tcl-lang.org/tk/tktview/220889> * RFE 1754048 <https://core.tcl-lang.org/tk/tktview/1754048> # Proposed Change It is proposed to add the following tag configuration options to the Tk **text** widget: **-selectbackground** _color_: |
︙ | ︙ | |||
97 98 99 100 101 102 103 | indented by **-rmargin**. It may have any of the forms accepted by **Tk\_GetColor**. If _color_ has not been specified, or if it is specified as an empty string, then the color specified by the **-background** widget option is used. # Rejected additional tag configuration options | | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | indented by **-rmargin**. It may have any of the forms accepted by **Tk\_GetColor**. If _color_ has not been specified, or if it is specified as an empty string, then the color specified by the **-background** widget option is used. # Rejected additional tag configuration options RFE 1759972 <https://core.tcl-lang.org/tk/tktview/1759972> requested stippling \(**-selectbgstipple**, **-selectfgstipple**\) for selected text. Also RFE 1754048 <https://core.tcl-lang.org/tk/tktview/1754048> requested stippling in left and right margins of the text widget \(**-lmargin1stipple**, **-lmargin2stipple**, **rmarginstipple**\). Any new stippling options was rejected during the discussion about this TIP. Reasons were as follows: * "Stippling and anything related to Tk Bitmaps should be considered obsolete. Their use should be phased out, not expanded. \(Bitmaps have very limited support in Tk, and stippling is virtually never used in |
︙ | ︙ |
Changes to tip/444.md.
︙ | ︙ | |||
28 29 30 31 32 33 34 | add** command. The **count** argument represents weekdays \(Mon-Fri\) to be added \(or subtracted in case of a negative value\) to the date. The result of adding weekdays to a date is never a weekend day, unless the starting day is itself a weekend day and **count** is 0. # Reference Implementation | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | add** command. The **count** argument represents weekdays \(Mon-Fri\) to be added \(or subtracted in case of a negative value\) to the date. The result of adding weekdays to a date is never a weekend day, unless the starting day is itself a weekend day and **count** is 0. # Reference Implementation Available at <https://core.tcl-lang.org/tcl/timeline?t=tip-444> # Discussion A point has been raised as to whether _weekday_ is unambiguous enough. For instance, in Sweden there seems to be some disagreement on whether the translation _vardag_ includes Saturdays. As an alternative, the term _workday_ has been mentioned. This, however, has the downside of introducing the concept of working days vs. public holiday. Also, the working week is not Mon-Fri in all countries, see <https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world> . TIP does not try to accomodate locale-specific features and characteristics. For this reason, it seems best to stick to _weekday_ as the name of the unit and specifically mention that \(Mon-Fri\) is intended in the documentation. |
︙ | ︙ |
Changes to tip/446.md.
︙ | ︙ | |||
24 25 26 27 28 29 30 | likewise for "Redo". It is good practice to enhance the user experience by greying out or otherwise changing the button aspect when there is nothing to undo \(or redo\). This cannot be achieved currently with the curent Tk implementation because there is no way to know whether the undo and redo stacks are empty or not. This feature was requested for the text widget in RFE 1273358 | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | likewise for "Redo". It is good practice to enhance the user experience by greying out or otherwise changing the button aspect when there is nothing to undo \(or redo\). This cannot be achieved currently with the curent Tk implementation because there is no way to know whether the undo and redo stacks are empty or not. This feature was requested for the text widget in RFE 1273358 <https://core.tcl-lang.org/tk/tktview/1273358> # Proposed Change It is proposed to add the following subcommands to the **text** widget's **edit** command: **canundo**: |
︙ | ︙ |
Changes to tip/449.md.
︙ | ︙ | |||
25 26 27 28 29 30 31 | the undo or redo operation. This can be done by comparing the **text** widget contents before the change with its contents after the change, but this is very far from optimal especially with large texts. Therefore a better way to get this information is proposed in the present TIP. This feature was requested for the text widget in RFE 1217222 | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | the undo or redo operation. This can be done by comparing the **text** widget contents before the change with its contents after the change, but this is very far from optimal especially with large texts. Therefore a better way to get this information is proposed in the present TIP. This feature was requested for the text widget in RFE 1217222 <https://core.tcl-lang.org/tk/tktview/1217222> # Proposed Change Currently, **edit undo** and **edit redo** commands return the empty string. It is proposed to change this return value and make these commands return the |
︙ | ︙ |
Changes to tip/452.md.
︙ | ︙ | |||
68 69 70 71 72 73 74 | * **::tcltest::CallProc** - Call the real implementation of a stubbed out procedure. * **::tcltest::Seam** - Test seam definition and injection \(aka enabling\). This command is available without requiring the tcltest package. # Reference Implementation | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | * **::tcltest::CallProc** - Call the real implementation of a stubbed out procedure. * **::tcltest::Seam** - Test seam definition and injection \(aka enabling\). This command is available without requiring the tcltest package. # Reference Implementation See the [tip-452 branch](https://core.tcl-lang.org/tcl/timeline?n=100&r=tip-452), in particular, see `http-tip-452.test` for an example of using the procedures added by this package. ## Origins of Reference Implementation The reference implementation was done at SAP Labs, LLC \(a subsidiary of SAP Americal, Inc.\) and approved for release as Open Source under a BSD license. # Copyright |
︙ | ︙ |
Changes to tip/453.md.
1 2 3 4 5 6 7 8 9 | # TIP 453: Tcl Based Automation for tcl/pkgs Author: Sean Woods <[email protected]> State: Draft Type: Project Vote: Pending Created: 13-Sep-2016 Post-History: Keywords: Build tooling Tcl-Version: 8.7 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # TIP 453: Tcl Based Automation for tcl/pkgs Author: Sean Woods <[email protected]> State: Draft Type: Project Vote: Pending Created: 13-Sep-2016 Post-History: Keywords: Build tooling Tcl-Version: 8.7 Implementation-URL: https://core.tcl-lang.org/tclconfig/timeline?r=practcl ----- # Abstract This TIP proposes replacing the **make package** process currently employed by the core with a Tcl-based build automation tool. |
︙ | ︙ | |||
156 157 158 159 160 161 162 | **packages.txt** contains a series of keywords populating a data structure. A simple example would by the tclconfig templates from TEA: EXTENSION tclconfig { tag trunk | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | **packages.txt** contains a series of keywords populating a data structure. A simple example would by the tclconfig templates from TEA: EXTENSION tclconfig { tag trunk fossil_url https://core.tcl-lang.org/tclconfig } The EXTENSION keyword is intended to take the following arguments: > _name_ _key/value-configuration-dict_ ## Reserved keys |
︙ | ︙ |
Changes to tip/454.md.
︙ | ︙ | |||
22 23 24 25 26 27 28 | A **frame** keeping a size without reason just feels like a bug and mostly leads to unwanted results. Mostly, it looks just ugly, but there are critical use-cases, specially in scrolled frames. When the BWidget autoscroll package is used, which displays scrollbars on demand, the scrollbars do not disappear if the contents is gone. And there is nothing, a programmer can do, as the Configure event does not fire on the scrolled frame widget. | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | A **frame** keeping a size without reason just feels like a bug and mostly leads to unwanted results. Mostly, it looks just ugly, but there are critical use-cases, specially in scrolled frames. When the BWidget autoscroll package is used, which displays scrollbars on demand, the scrollbars do not disappear if the contents is gone. And there is nothing, a programmer can do, as the Configure event does not fire on the scrolled frame widget. Another example is the scrolledwindow example by Emiliano in ticket 2863003fff <https://core.tcl-lang.org/tk/info/12006979562649c9> , where the solution 2 specific part may be removed \(or is ignored\). A typical workaround is to configure the width/height manually after the last children was unmapped. Unfortunately, this fact may not be determined for example by scrolling widgets etc. An eventual Configure binding is not firing. # Example Here is an example to ilustrate the issue. |
︙ | ︙ | |||
91 92 93 94 95 96 97 | bind .c.f <Configure> frameConfigure # Proposal The proposal is to change request size of the frame automatically to 1x1 if the last children is unpacked/ungridded/destroyed. Koen Dankart has passed a patch for this solution containing 3 additional lines of C code. | | | | 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 | bind .c.f <Configure> frameConfigure # Proposal The proposal is to change request size of the frame automatically to 1x1 if the last children is unpacked/ungridded/destroyed. Koen Dankart has passed a patch for this solution containing 3 additional lines of C code. It is available in branch bug-d6b95ce492-alt: <https://core.tcl-lang.org/tk/timeline?r=bug-d6b95ce492-alt&nd&c=2016-09-22+09%3A16%3A21&n=200> . It just solves the issue by restoring initial size if the last children is unpacked/ungridded. This is not backward compatible. But that is a side effect of fixing this bug. # Rejected Proposal Another proposal is to invoke the virtual event \<\<GeometryManager\>\> when the last children is unpacked/ungridded/destroyed. Emiliano has provided a ticket 2863003fff <https://core.tcl-lang.org/tk/info/2863003fff> with the implementation in branch bug-d6b95ce492 <https://core.tcl-lang.org/tk/timeline?r=bug-d6b95ce492&nd&c=2016-09-21+06%3A32%3A55&n=200> : The virtual event **\<\<GeometryManager\>\>** is defined which informs the master \(a frame-like widget\) that it has no child widget any more and that its size is not managed any more by grid/pack. The program may bind to this event and resize to size 1x1: bind .c <<GeometryManager>> "resizeFrame %W" proc resizeFrame w { |
︙ | ︙ | |||
175 176 177 178 179 180 181 | Due to those issues, the TIP is withdrawn. A way to solve the issue in a compatible and working way is to use Emilianos additional virtual event, as described in the section 'rejected alternatives'. # Additional information and examples * frame wiki page <http://wiki.tcl.tk/frame> | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | Due to those issues, the TIP is withdrawn. A way to solve the issue in a compatible and working way is to use Emilianos additional virtual event, as described in the section 'rejected alternatives'. # Additional information and examples * frame wiki page <http://wiki.tcl.tk/frame> * Tk bug ticket <https://core.tcl-lang.org/tk/info/d6b95ce49207c823> * Discussion on the core list <http://code.activestate.com/lists/tcl-core/16363/> # Compatibility Fixing the issue breaks visual compatibility. Nevertheless, as it is seen as a bug, this is OK. |
︙ | ︙ |
Changes to tip/457.md.
︙ | ︙ | |||
307 308 309 310 311 312 313 | 7. Update documentation in doc/proc.n and doc/info.n; 8. Update impacted tests and add dedicated tests in tests/proc-enh.test. ## Reference Implementation The reference implementation is available in the tip-457 | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | 7. Update documentation in doc/proc.n and doc/info.n; 8. Update impacted tests and add dedicated tests in tests/proc-enh.test. ## Reference Implementation The reference implementation is available in the tip-457 <https://core.tcl-lang.org/tcl/timeline?r=tip-457> branch. The code is licensed under the BSD license. # Discussion This section details some of the alternate solutions for this feature or specific comments about it. |
︙ | ︙ |
Changes to tip/459.md.
︙ | ︙ | |||
68 69 70 71 72 73 74 | suggested to be part of the introspection information, but this has been rejected as overkill. It is much more than requested in the Tcl-bounty, and it is difficult to imagine what actual use this would bring. # Reference Implementation This is available in the _package\_files_ branch | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | suggested to be part of the introspection information, but this has been rejected as overkill. It is much more than requested in the Tcl-bounty, and it is difficult to imagine what actual use this would bring. # Reference Implementation This is available in the _package\_files_ branch <https://core.tcl-lang.org/tcl/timeline?r=package_files> . # Examples $ tclsh8.7 % package files Tcl /usr/lib/tcl8.7/init.tcl % package require Tk |
︙ | ︙ |
Changes to tip/461.md.
︙ | ︙ | |||
183 184 185 186 187 188 189 | % proc tcl::mathfunc::cat {args} { join $args {} } % expr {cat(0x1,0x2,"a")} 0x10x2a % expr {cat(0x1)} 1 | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | % proc tcl::mathfunc::cat {args} { join $args {} } % expr {cat(0x1,0x2,"a")} 0x10x2a % expr {cat(0x1)} 1 \(Bug [e7c21ed678](https://core.tcl-lang.org/tcl/tktview?name=e7c21ed678) is another manifestation of this general problem.\) Once again, adding additional string operations that behave, with respect to data types, exactly the same as ones that are already there will neither fix nor exacerbate the general problem. 4. _Because **expr** has no interpreted form, the operations must have bytecode representations. The space of available bytecodes is under even |
︙ | ︙ |
Changes to tip/463.md.
︙ | ︙ | |||
86 87 88 89 90 91 92 | will produce this result: ab cd%7bef gh,} ij # Implementation | | | 86 87 88 89 90 91 92 93 94 95 96 97 98 | will produce this result: ab cd%7bef gh,} ij # Implementation <https://core.tcl-lang.org/tcl/timeline?r=tip-463> # Copyright This document has been placed in the public domain. |
Changes to tip/464.md.
︙ | ︙ | |||
58 59 60 61 62 63 64 | The above list does not imply any ordering in the implementation. # Implementation The support can be added by extending some keymapping lookup tables in Tk. A Ticket already exists with a proposed patch | | | | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | The above list does not imply any ordering in the implementation. # Implementation The support can be added by extending some keymapping lookup tables in Tk. A Ticket already exists with a proposed patch <https://core.tcl-lang.org/tk/tktview/499526180d6cd5ca7c02eed96c10e9d3630a807c> and fvogel has also created a branch <https://core.tcl-lang.org/tk/timeline?r=tip-464> . # Copyright This document has been placed in the public domain. |
Changes to tip/466.md.
︙ | ︙ | |||
444 445 446 447 448 449 450 | Support of versions back to 8.5 is currently included in the revised code, but will be removed \(because it's useless for use in trunk only\) at the time the new code will get merged into trunk. # Implementation Implementation of the revised text widget code has been placed in branch | | | 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 | Support of versions back to 8.5 is currently included in the revised code, but will be removed \(because it's useless for use in trunk only\) at the time the new code will get merged into trunk. # Implementation Implementation of the revised text widget code has been placed in branch <https://core.tcl-lang.org/tk/timeline?r=revised_text> of the fossil repository. This implementation compiles on Linux, Windows, and OS X. It respects the standards of Tk \(C99 standard, and also the Tcl source code formatting described in [[247]](247.md)\). The man page for the text widget has been contributed by jima and is included in the revised\_text branch. |
︙ | ︙ |
Changes to tip/467.md.
︙ | ︙ | |||
42 43 44 45 46 47 48 | requirements\). Markdown has widely available options to convert to other formats without any need for the community to maintain the converters, and supports key extra features such as embedded images \(which are important for some Tk TIPs, and never worked particularly well with the old TIP format\). # Specification | | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | requirements\). Markdown has widely available options to convert to other formats without any need for the community to maintain the converters, and supports key extra features such as embedded images \(which are important for some Tk TIPs, and never worked particularly well with the old TIP format\). # Specification Proposed URL for the new repository will be <https://core.tcl-lang.org/tips> ## Backwards compatibility * _tip.tcl.tk/<NUM>.html_ should still show a rendered result. This could be redirected to _core.tcl-lang.org/tips/doc/trunk/tip/<NUM>.md_ * _tip.tcl.tk_ offers several converted formats \(XML, \*roff, ...\). The fossil option will be to use the _core.tcl-lang.org/tips/file/tip/<NUM>.md?download_ URL to get the raw Markdown downloads. For getting the other options one could convert the markdown source file using something like pandoc. * E-mail address are not hidden in the source and in the rendered result. If e-mail addresses need to be hidden there are two options 1. Remove mails from source. 2. Hide e-mails in fossil. |
︙ | ︙ |
Changes to tip/469.md.
︙ | ︙ | |||
69 70 71 72 73 74 75 | # Compatibility No incompatibilities are introduced. # Reference Implementation A really bare-bones reference implementation is available as a patch | | | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | # Compatibility No incompatibilities are introduced. # Reference Implementation A really bare-bones reference implementation is available as a patch <http://paste.tclers.tk/4231> . Also, a branch named tip-469 in fossil has been created: <https://core.tcl-lang.org/tcl/timeline?r=tip-469> . A thus-patched tclsh can successfully wait for input-level changes on TIP-author's "nano-pi" raspberryPI-like platform with a chipset not yet supported by piio. Documentation and test updates yet to be done. |
︙ | ︙ |
Changes to tip/470.md.
︙ | ︙ | |||
21 22 23 24 25 26 27 | capabilities by writing your own procedures \(and other commands, if you prefer the C API\). However, it is somewhat awkward to do so when using TclOO, as the **oo::define** and **oo::objdefine** commands don't make it easy to find out what the context class or object is. For example, in the _oo::util_ package of Tcllib, the code for discovering what the context class is includes this | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | capabilities by writing your own procedures \(and other commands, if you prefer the C API\). However, it is somewhat awkward to do so when using TclOO, as the **oo::define** and **oo::objdefine** commands don't make it easy to find out what the context class or object is. For example, in the _oo::util_ package of Tcllib, the code for discovering what the context class is includes this <https://core.tcl-lang.org/tcllib/artifact/51d71f560ceb7d63?ln=77> : # Get the name of the current class or class delegate set cls [namespace which [lindex [info level -1] 1]] That is ugly, and won't even work reliably for getting the context object in **oo::objdefine** as that can be entered into by multiple paths \(i.e., there's a shortcut from **oo::define**\). |
︙ | ︙ | |||
51 52 53 54 55 56 57 | > Tcl\_Object **Tcl\_GetDefineContextObject**\(Tcl\_Interp \*_interp_\) which will get the context object, or return NULL and put an error in the interpreter if there is no context object in the frame or the context object has been deleted. The functionality is that of **TclOOGetDefineCmdContext** in _tclOODefineCmds.c_ | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | > Tcl\_Object **Tcl\_GetDefineContextObject**\(Tcl\_Interp \*_interp_\) which will get the context object, or return NULL and put an error in the interpreter if there is no context object in the frame or the context object has been deleted. The functionality is that of **TclOOGetDefineCmdContext** in _tclOODefineCmds.c_ <https://core.tcl-lang.org/tcl/artifact/7d58f1a701168168?ln=682> , but the text of the error messages might be changed. # Copyright This document has been placed in the public domain. |
Changes to tip/471.md.
︙ | ︙ | |||
39 40 41 42 43 44 45 | The _varname_ should be the name of a variable that has been linked to another variable \(e.g., with **upvar**, **global**, **variable** or **namespace upvar**\), and the result of the command will be the name of the variable linked to. # Reference Implementation | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | The _varname_ should be the name of a variable that has been linked to another variable \(e.g., with **upvar**, **global**, **variable** or **namespace upvar**\), and the result of the command will be the name of the variable linked to. # Reference Implementation The reference implementation is available in the [info-linkedname](https://core.tcl-lang.org/tcl/timeline?r=info-linkedname) branch. The code is licensed under the BSD license. ## Implementation Notes Depending on the linked variable, the name is found using different methods: |
︙ | ︙ |
Changes to tip/473.md.
︙ | ︙ | |||
23 24 25 26 27 28 29 | target object. It was always intended to have this \(and the functionality is there in the C API\), but it was omitted from the Tcl-level interface. Having this capability allows objects to be used as factories for namespaces, which is in many ways an inversion of the way that TclOO was designed \(with namespaces as the basis for objects\). It was requested by Nathan Coulter as a way to enable more complex behaviour in Rivet and NaviServer. See Tcl Issue | | | | 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 | target object. It was always intended to have this \(and the functionality is there in the C API\), but it was omitted from the Tcl-level interface. Having this capability allows objects to be used as factories for namespaces, which is in many ways an inversion of the way that TclOO was designed \(with namespaces as the basis for objects\). It was requested by Nathan Coulter as a way to enable more complex behaviour in Rivet and NaviServer. See Tcl Issue dd3b844fda <https://core.tcl-lang.org/tcl/tktview/dd3b844fdabdeae5fcb0> for more information. # Proposed Change I propose to add one more optional argument to **oo::copy**, _targetNamespace_, that if provided and non-empty will be the name of a namespace \(resolved relative to the current namespace if not an absolute name\) that will be the name of the newly created target object's instance namespace. The named namespace must not already exist. Note that specifying the _targetObject_ as the empty string will cause the object's command to be automatically chosen. > **oo::copy** _sourceObject_ ?_targetObject_? ?_targetNamespace_? The meaning of the result of the command is unchanged. # Implementation See the oo-copy-ns branch. <https://core.tcl-lang.org/tcl/timeline?r=oo-copy-ns> # Copyright This document has been placed in the public domain. |
Changes to tip/475.md.
︙ | ︙ | |||
30 31 32 33 34 35 36 | index formats. Thus it is reasonable to provide a standard substring insertion command. The current design of [`string replace`] expressly (albeit inexplicably) prevents its use for performing string insertion. TIP 323 originally proposed to extend [`string replace`] to allow string insertion, but this aspect of TIP 323 was [withdrawn] | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | index formats. Thus it is reasonable to provide a standard substring insertion command. The current design of [`string replace`] expressly (albeit inexplicably) prevents its use for performing string insertion. TIP 323 originally proposed to extend [`string replace`] to allow string insertion, but this aspect of TIP 323 was [withdrawn] (https://core.tcl-lang.org/tips/fdiff?v1=6e0ba0ee9838accc&v2=34809f1432fc528f&sbs=1) for the sake of compatibility. > *Clarification: TIP 475 proposes no changes to the semantics of [`string > replace`].* To mirror the behavior of [`linsert`], [`string insert`] at `end` should append to the string. This is in conflict with [`string replace`], were it to be |
︙ | ︙ | |||
67 68 69 70 71 72 73 | optimization, improves instruction cache utilization, and reduces both the possibility for bugs and the number of interactions to be audited. Furthermore, this new function should be publicly exported using the stubs interface so extension code can call it without having to enter the interpreter. The desirability of providing C APIs is made clear by the existence of the the [FlightAware [`array`] enumeration C API project] | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | optimization, improves instruction cache utilization, and reduces both the possibility for bugs and the number of interactions to be audited. Furthermore, this new function should be publicly exported using the stubs interface so extension code can call it without having to enter the interpreter. The desirability of providing C APIs is made clear by the existence of the the [FlightAware [`array`] enumeration C API project] (https://core.tcl-lang.org/tcl/timeline?t=amg-array-enum-c-api). # Current Behavior Currently available methods for string insertion are awkward and do not handle end-relative and [TIP 176-style](176.md) indexing without extraordinary effort. To demonstrate the surprising degree of complexity, the following is a pure Tcl script reference implementation intended to handle all possible index formats |
︙ | ︙ | |||
201 202 203 204 205 206 207 | replace`] commands in terms of `Tcl_ReplaceObj`(). # Reference Implementation A pure Tcl reference implementation is given [above](#ref). The [`amg-string-insert`] | | | | | | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | replace`] commands in terms of `Tcl_ReplaceObj`(). # Reference Implementation A pure Tcl reference implementation is given [above](#ref). The [`amg-string-insert`] (https://core.tcl-lang.org/tcl/timeline?t=amg-string-insert) branch in the Tcl Fossil repository provides an optimized C implementation, complete with documentation, bytecode compilation, and a full set of test cases exercising all code paths. This C implementation creates a new `strinsert` bytecode, also known as `STR_INSERT` or `INST_STR_INSERT` in varying contexts. The decision was made to keep `strinsert` separate from the existing `strreplace` opcode due to differences in end-relative indexing. Implementing [`string insert`] in terms of `strreplace` would require modifying the interface to `strreplace` and would therefore break compatibility with [tclquadcode] (https://core.tcl-lang.org/tclquadcode/) and potentially other projects that depend on the \[[`tcl::unsupported::assemble`](http://wiki.tcl.tk/28070)] and \[[`tcl::unsupported::disassemble`](http://wiki.tcl.tk/21445)] commands. Despite the use of the word "separate" above, the `strinsert` and `strreplace` opcodes are both implemented in terms of the common `Tcl_ReplaceObj`() function, as are the non-bytecoded [`string insert`] and [`string replace`] commands. This function was written by distilling common code found across the baseline implementations of the various subroutines that now call it. # Open Issues The `Tcl_ReplaceObj`() function header comment includes [this TODO note] (https://core.tcl-lang.org/tcl/artifact?name=6934c9ea66d17949&ln=3312-3315): > Memory allocation failure is only checked when concatenating shared, non-pure > byte array, non-pure Unicode character array strings. Need to commit to a > consistent memory allocation failure handling policy. This comment is describing the [case] (https://core.tcl-lang.org/tcl/artifact?name=6934c9ea66d17949&ln=3575-3592) in which `Tcl_ReplaceObj`() calls `TclStringCatObjv`() to concatenate its two arguments. `TclStringCatObjv`() returns TCL_ERROR on memory allocation failure, and `Tcl_ReplaceObj`() dutifully translates that to a NULL return, with detailed error information in the interpreter result. In every other circumstance, `Tcl_ReplaceObj`() does *not* check for memory allocation errors. Many, if not all, of the underlying functions it uses call |
︙ | ︙ |
Changes to tip/476.md.
︙ | ︙ | |||
132 133 134 135 136 137 138 | | --- | --- | --- | --- | --- | "%#o" | 15 | 017 | 0o17 | "0%o" | "%#0d" | 15 | 15 | 0d15 | "%0d" | "%#X" | 15 | 0XF | 0xF | "0X%X" # Reference Implementation | | | 132 133 134 135 136 137 138 139 140 141 142 143 | | --- | --- | --- | --- | --- | "%#o" | 15 | 017 | 0o17 | "0%o" | "%#0d" | 15 | 15 | 0d15 | "%0d" | "%#X" | 15 | 0XF | 0xF | "0X%X" # Reference Implementation <https://core.tcl-lang.org/tcl/timeline?r=z_modifier> # Copyright This document is placed in public domain. |
Changes to tip/477.md.
︙ | ︙ | |||
1182 1183 1184 1185 1186 1187 1188 | printed on incompatibilities. These checks can be disabled by including `noconfigcheck` as one of the values passed through the `OPTS` macro on the command line. # <a id='toc-53'></a>Reference implementation | | | 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 | printed on incompatibilities. These checks can be disabled by including `noconfigcheck` as one of the values passed through the `OPTS` macro on the command line. # <a id='toc-53'></a>Reference implementation The vc-reform branch in the core.tcl-lang.org repositories contains work-in-progress. In addition to Tcl and Tk, the `sampleextension`, `thread`, `tclvfs`, `tcludp`, `tdom`, `mpexpr` and `tktreectrl` have been converted. # <a id='toc-54'></a>Examples The aforementioned extensions may be used as examples of makefiles of varying degrees of complexity. |
︙ | ︙ |
Changes to tip/479.md.
︙ | ︙ | |||
182 183 184 185 186 187 188 | > {Don't be pedanditic} {a {Don't be pedantic} alpha {Less usefull}} ### type: Type: string Default: null Options: null, boolean, integer, wide, entier, double | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | > {Don't be pedanditic} {a {Don't be pedantic} alpha {Less usefull}} ### type: Type: string Default: null Options: null, boolean, integer, wide, entier, double To support [tip#480](https://core.tcl-lang.org/tips/doc/trunk/tip/480.md). For now strictly advisory. In the future this will check that the incoming values are the specified type. # Implementation This TIP will be rolled out in 3 stages. ## Stage 1 - Pure Tcl (finished) |
︙ | ︙ |
Changes to tip/480.md.
︙ | ︙ | |||
231 232 233 234 235 236 237 | that today's `::control::assert` works. # References 1. Kenny, Kevin B. and Donal K. Fellows. 'The State of Quadcode 2017.' _Proc. 24th Annual Tcl/Tk Conf._ Houston, Tex.: Tcl Community Association, October 2017. | | | 231 232 233 234 235 236 237 238 | that today's `::control::assert` works. # References 1. Kenny, Kevin B. and Donal K. Fellows. 'The State of Quadcode 2017.' _Proc. 24th Annual Tcl/Tk Conf._ Houston, Tex.: Tcl Community Association, October 2017. <https://core.tcl-lang.org/tclquadcode/raw/doc/tcl2017/kbk-dkf-state-of-quadcode.odt?name=ed72b79c8b> |
Changes to tip/481.md.
︙ | ︙ | |||
70 71 72 73 74 75 76 | For Tcl 9.0, the function **Tcl\_GetIntFromObj** is modified to return 1 when the Tcl\_Obj value is in the range -2147483648 .. 2147483647. # Implementation See the _tip-481_ branch in Tcl's fossil repository | | | 70 71 72 73 74 75 76 77 | For Tcl 9.0, the function **Tcl\_GetIntFromObj** is modified to return 1 when the Tcl\_Obj value is in the range -2147483648 .. 2147483647. # Implementation See the _tip-481_ branch in Tcl's fossil repository <https://core.tcl-lang.org/tcl/timeline?r=tip-481> . |
Changes to tip/482.md.
︙ | ︙ | |||
42 43 44 45 46 47 48 | # Current Uncertainties as of 2017/11/21: * The function GetWidgetDemoPath in macosx/tkMacOSXMenus.c uses a different method to retrieve the value of the widget demo path. Is this ok? * Only tested on Unix. # Reference Implementation | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # Current Uncertainties as of 2017/11/21: * The function GetWidgetDemoPath in macosx/tkMacOSXMenus.c uses a different method to retrieve the value of the widget demo path. Is this ok? * Only tested on Unix. # Reference Implementation The reference implementation is available in the tk-stu-pkg branch. <https://core.tcl-lang.org/tk/timeline?r=tk-stu-pkg> The code is licensed under the same license as Tk. # See Also TIP #483 [[483]](483.md): Improved TIP #59 implementation for Tk. |
︙ | ︙ |
Changes to tip/483.md.
︙ | ︙ | |||
85 86 87 88 89 90 91 | Should Tcl's example be followed? * The new test file for Tk is named _pkgconfig.test_ while Tcl's is named _config.test_. The new name more accurately describes the tests but maybe it's better to go along with Tcl? * Only tested on Unix. # Status 2018/07/04: * Changes made based on recommendations in <http://code.activestate.com/lists/tcl-core/19816/> | | | | | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | Should Tcl's example be followed? * The new test file for Tk is named _pkgconfig.test_ while Tcl's is named _config.test_. The new name more accurately describes the tests but maybe it's better to go along with Tcl? * Only tested on Unix. # Status 2018/07/04: * Changes made based on recommendations in <http://code.activestate.com/lists/tcl-core/19816/> * Tk checkin: <https://core.tcl-lang.org/tk/info/d65d0705151eb38b> * Tcl checkin: <https://core.tcl-lang.org/tcl/info/14bb7ec850ddaf66> # Reference Implementation The reference implementation is available in the tk-stu-pkg branch. <https://core.tcl-lang.org/tk/timeline?r=tk-stu-pkg> The code is licensed under the same license as Tk. # See Also TIP #482 [[482]](482.md): Record Tk demo directory information. |
︙ | ︙ |
Changes to tip/484.md.
︙ | ︙ | |||
87 88 89 90 91 92 93 | test-cases continue to pass. This shows that separating the 'int' and the 'wideInt' implementation is nowhere required to let Tcl number handling function the way it functions now. At the script level, the change is invisible. # Reference Implementation | | | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | test-cases continue to pass. This shows that separating the 'int' and the 'wideInt' implementation is nowhere required to let Tcl number handling function the way it functions now. At the script level, the change is invisible. # Reference Implementation An implementation of this TIP can be found in the [no-wideint](https://core.tcl-lang.org/tcl/timeline?r=no-wideint) branch. The code is licensed under the same license as Tcl. # Caveats * Starting with Tcl 9.0, Extensions which assume that Tcl_GetObjType("int") returns non-NULL will no longer work. No external code may make assumptions of implementation details for |
︙ | ︙ |
Changes to tip/485.md.
︙ | ︙ | |||
10 11 12 13 14 15 16 | ----- # Abstract The "case" command, and the "read\|puts ... nonewline" construct are replaced by better commands long ago (resp. "switch" and "read\|puts -nonewline ..."), but the old forms were never actually removed from the Tcl code base. They still | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ----- # Abstract The "case" command, and the "read\|puts ... nonewline" construct are replaced by better commands long ago (resp. "switch" and "read\|puts -nonewline ..."), but the old forms were never actually removed from the Tcl code base. They still work. See also [bug #3151675](https://core.tcl-lang.org/tcl/tktview/3151675). For Tcl 9.0 it is finally time to actually remove it. In addition, there are a number of C API's which have better successors by now. Finally, there are a few C routines and other macros which were never been properly documented before, like `CONST`, or macros needed for supporting deprecated C features, like `_ANSI_ARGS_` and `TCL_VARARGS`. This TIP proposes to finally remove all of those in Tcl 9.0, and mark |
︙ | ︙ | |||
114 115 116 117 118 119 120 | * `Tcl_CreateMathFunc` * `Tcl_GetMathFuncInfo` * `Tcl_ListMathFuncs` | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | * `Tcl_CreateMathFunc` * `Tcl_GetMathFuncInfo` * `Tcl_ListMathFuncs` An implementation of this TIP can be found in the [tip-485](https://core.tcl-lang.org/tcl/timeline?r=tip-485) branch. This branch is based on "core-8-branch" (Tcl 8.7), but can be trivially merged forward to trunk (Tcl 9.0). # Rejected Alternatives Originally, `Tcl_EvalFile` was a candidate for removal as well. # Copyright This document has been placed in the public domain. |
Changes to tip/486.md.
︙ | ︙ | |||
28 29 30 31 32 33 34 | When the time comes, Thread 3.0a1 will be released together with Tcl 9.0a1, and the same with follow-up intermediate releases. Thread 3.0 will be released together with Tcl 9.0.0. # Implementation | | | 28 29 30 31 32 33 34 35 36 37 38 39 | When the time comes, Thread 3.0a1 will be released together with Tcl 9.0a1, and the same with follow-up intermediate releases. Thread 3.0 will be released together with Tcl 9.0.0. # Implementation An implementation of this TIP can be found in the [novem](https://core.tcl-lang.org/thread/timeline?r=novem) branch. # Copyright This document has been placed in the public domain. |
Changes to tip/487.md.
︙ | ︙ | |||
34 35 36 37 38 39 40 | the XP theme engine (part of ttk), has a lot of runtime checks making it work on pre-XP machines. All of those runtime checks can be removed. This means that Tk 8.7 will no longer compile and run when uxtheme.dll is not available on your system. Windows XP and later will be OK. # Implementation | | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | the XP theme engine (part of ttk), has a lot of runtime checks making it work on pre-XP machines. All of those runtime checks can be removed. This means that Tk 8.7 will no longer compile and run when uxtheme.dll is not available on your system. Windows XP and later will be OK. # Implementation An implementation of this TIP can be found in the [tip-487](https://core.tcl-lang.org/tcl/timeline?r=tip-487) branch. Tk has a [tip-487](https://core.tcl-lang.org/tk/timeline?r=tip-487) branch as well. # Rejected Alternatives Originally, XP-support was suggested to be removed as well, but it turns out that it's too early to do that now and gives too little benefit. Since XP seems to be even more popular than Vista, support drop for both of those could be done at the same time in a future Tcl/Tk release. But that decision will |
︙ | ︙ |
Changes to tip/488.md.
︙ | ︙ | |||
67 68 69 70 71 72 73 | far as the string representation is concerned. If the numbers are converted back from string to floating-point, then of course, differences may occur as well, but these should be viewed as bugs in the original code, as a value for `tcl_precision` unequal to zero and smaller than 17, will not guarantee a lossless conversion to and from strings. # <a id='toc-6'></a>Reference Implementation | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | far as the string representation is concerned. If the numbers are converted back from string to floating-point, then of course, differences may occur as well, but these should be viewed as bugs in the original code, as a value for `tcl_precision` unequal to zero and smaller than 17, will not guarantee a lossless conversion to and from strings. # <a id='toc-6'></a>Reference Implementation A [branch](https://core.tcl-lang.org/tcl/timeline?r=tip-488) is available. # <a id='toc-7'></a>See Also TIP #132: Revised Floating-Point Conversions in Tcl # <a id='toc-8'></a>Copyright |
︙ | ︙ |
Changes to tip/489.md.
︙ | ︙ | |||
48 49 50 51 52 53 54 | And this time with _subsample_ of 1 and _zoom_ of 2, resulting in an image twice as large as the canvas source region. .c image testimage 1 2 # Implementation An implementation of this TIP can be found in the [Tk canvas_image branch] | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 | And this time with _subsample_ of 1 and _zoom_ of 2, resulting in an image twice as large as the canvas source region. .c image testimage 1 2 # Implementation An implementation of this TIP can be found in the [Tk canvas_image branch] (https://core.tcl-lang.org/tk/timeline?r=canvas_image). # Copyright This document has been placed in the public domain. |
Changes to tip/490-discussion.md.
︙ | ︙ | |||
67 68 69 70 71 72 73 | } } } package provide foo 1.0 </pre> The implementation is in tcl fossil in branch | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | } } } package provide foo 1.0 </pre> The implementation is in tcl fossil in branch [tip490-msgcat-oo](https://core.tcl-lang.org/tcl/timeline?r=tip490-msgcat-oo). ## Use own commands for getting and setting message catalogues Eric Boudallier proposed a solution on [Wiki page "msgcat and TclOO"](http://wiki.tcl.tk/39430) There is also an addendum by Donal Fellows with an alternate implementation. |
︙ | ︙ |
Changes to tip/490.md.
︙ | ︙ | |||
296 297 298 299 300 301 302 | } } } } </pre> The implementation is in tcl fossil in branch | | | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | } } } } </pre> The implementation is in tcl fossil in branch [tip490-msgcat-oo-2](https://core.tcl-lang.org/tcl/timeline?r=tip490-msgcat-oo-2). There are tests but no man page changes yet. Please use this text as man-page. # Discussion See [this page](490-discussion.md) for further discussion. |
︙ | ︙ |
Changes to tip/491.md.
︙ | ︙ | |||
67 68 69 70 71 72 73 | * fully remove the use of `TCL_THREADS` throughout the whole source code. The value is assumed to be `1` everywhere. Non-threaded builds are no longer possible. # Implementation | | | 67 68 69 70 71 72 73 74 75 76 77 78 | * fully remove the use of `TCL_THREADS` throughout the whole source code. The value is assumed to be `1` everywhere. Non-threaded builds are no longer possible. # Implementation An implementation of this TIP can be found in the [tip-491](https://core.tcl-lang.org/tcl/timeline?r=tip-491) branch. # Copyright This document has been placed in the public domain. |
Changes to tip/492.md.
︙ | ︙ | |||
12 13 14 15 16 17 18 | # Abstract This TIP provides user access to the busy window that Tk uses to let a user think a widget is busy. # Rationale | | | | 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 | # Abstract This TIP provides user access to the busy window that Tk uses to let a user think a widget is busy. # Rationale The tk::busy documentation describes how a busy window is created to block events. The path of this busy window can be used to handle some events. This path is dependent on whether the widget to be covered is a toplevel or not, see [implementation details here] (https://core.tcl-lang.org/tk/artifact/3a2775faf288a7c9?ln=535,556) and also the man page for **tk busy**. As a consequence, this logic needs to be known by any user of the **tk busy** command. Offering a way to get the path of the busy window would avoid this dependency on the implementation details. # Proposal It is proposed to: 1. Let the **tk busy hold** subcommand (and its shortcut **tk busy**) return the pathname of the busy window instead of the empty string. 2. Provide a new subcommand **tk busy busywindow** to return that same information, or the empty string if the windows passed to it is currently not busy. 3. Remove any mention of the details of the busy window naming from the man page. # Implementation An implementation of this TIP can be found in the [tip-492 branch] (https://core.tcl-lang.org/tk/timeline?r=tip-492). # Copyright This document has been placed in the public domain. |
Changes to tip/494.md.
︙ | ︙ | |||
74 75 76 77 78 79 80 | * Tcl_Ungets If the return value of such function is directly used in a compare, this could lead to the use of an unsigned compare in stead of a signed compare. If you compile your extension with -D_TCL\_8\_COMPAT_, those 10 functions will be changed to wrapper macro's which makes everything behave as if those functions return Tcl_WideInt. That's the easiest way to resolve this potential problem. There are 2 other ways to make this change, which can do it without the use of the _TCL\_8\_COMPAT_ macro: | | | | | 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 | * Tcl_Ungets If the return value of such function is directly used in a compare, this could lead to the use of an unsigned compare in stead of a signed compare. If you compile your extension with -D_TCL\_8\_COMPAT_, those 10 functions will be changed to wrapper macro's which makes everything behave as if those functions return Tcl_WideInt. That's the easiest way to resolve this potential problem. There are 2 other ways to make this change, which can do it without the use of the _TCL\_8\_COMPAT_ macro: * Add _1_ to the left and right hand side of the comparison. E.g. [as here](https://core.tcl-lang.org/tk/fdiff?v1=100235897e9cf359&v2=9cf86629040df0d3) * Don't compare to -1 using < or >, but always to TCL\_IO\_FAILURE using == or != . E.g. [as here](https://core.tcl-lang.org/tk/info/abe0d3b121cbb12d) Tk and [sqlite](http://cyqlite.sourceforge.net/cgi-bin/sqlite/info/17c148b94008df81) are already converted to make full use of TIP #494. Other extensions included with Tcl (e.g. tdbc) are unaffected. # Open issues There has been discussion, whether the return-type of these 10 functions (and possibly other functions) should actually be size\_t or maybe some other type. A Tcl-specific type *Tcl\_Size* could also be defined for this. Actually, this TIP provides 2 possibilities: Without -D_TCL\_8\_COMPAT_, the type is size\_t, with -D_TCL\_8\_COMPAT_ it is Tcl_WideInt. This gives enough room for experimenting which one is best, maybe it would be better to make it ssize\_t or ptrdiff\_t. There - for sure - will be more future TIP's, which propose more API changes for 9.0. This one - definitely - is not the last one. So, this TIP doesn't make a final decision yet what will be the final type returned by those 10 functions. # Implementation The implementation of this TIP can be found in the [memory-API branch] (https://core.tcl-lang.org/tcl/timeline?r=memory-API). # Copyright This document has been placed in the public domain. |
Changes to tip/495.md.
︙ | ︙ | |||
101 102 103 104 105 106 107 | a key/value list readable by a Tcl script. *nmake* environments will perform identical subsitutions to the same file. ## practcl A standard library of tools (provisinally named "practcl") will be provided in tcllib and as a single file distribution in the same repository as the TEA | | | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | a key/value list readable by a Tcl script. *nmake* environments will perform identical subsitutions to the same file. ## practcl A standard library of tools (provisinally named "practcl") will be provided in tcllib and as a single file distribution in the same repository as the TEA reference files. (https://core.tcl-lang.org/tclconfig) This library includes implementations for all build, installation, and integration tasks. The file can be directly sourced, or invoked with `package require practcl`. ## Example make.tcl file set CWD [pwd] |
︙ | ︙ |
Changes to tip/496.md.
︙ | ︙ | |||
30 31 32 33 34 35 36 | **-placeholder**: The string to display. If empty (the default value) then nothing is displayed. This text value is always displayed with current font and justification. Note that justification can really be honored only if the available display space is large enough to contain the complete text value (this is anyway true also for the widget text itself, see [Tcl Core discussion] (http://code.activestate.com/lists/tcl-core/19657/)). **-placeholderforeground**: The color of the text. This is a normal option for the Tk widgets and a style option for the Ttk widgets. Default value is #b3b3b3 (gray70). # Implementation A patch implementing these changes is available in the fossil repository in the [tip-496 branch] | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | **-placeholder**: The string to display. If empty (the default value) then nothing is displayed. This text value is always displayed with current font and justification. Note that justification can really be honored only if the available display space is large enough to contain the complete text value (this is anyway true also for the widget text itself, see [Tcl Core discussion] (http://code.activestate.com/lists/tcl-core/19657/)). **-placeholderforeground**: The color of the text. This is a normal option for the Tk widgets and a style option for the Ttk widgets. Default value is #b3b3b3 (gray70). # Implementation A patch implementing these changes is available in the fossil repository in the [tip-496 branch] (https://core.tcl-lang.org/tk/timeline?r=tip-496). Documentation updates are in the same branch. # Example of use package require Tk # tk entry |
︙ | ︙ |
Changes to tip/497.md.
︙ | ︙ | |||
49 50 51 52 53 54 55 | TODO # Reference Implementation A reference implementation is ongoing in the **tip-497** branch. | | | 49 50 51 52 53 54 55 56 57 58 59 60 | TODO # Reference Implementation A reference implementation is ongoing in the **tip-497** branch. <https://core.tcl-lang.org/tcl/timeline?r=tip-497> # Copyright This document has been placed in the public domain. |
Changes to tip/498.md.
︙ | ︙ | |||
43 44 45 46 47 48 49 | created in it but they disappear at some later point depending on the state of the call stack. Although this behaviour is documented, it was probably a concession to the implementation rather than by original intent. A further complication is that it's possible to simultaneously access both the deleted namespace and a new namespace having the same name. Reports that illustrate these issues include: | | | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | created in it but they disappear at some later point depending on the state of the call stack. Although this behaviour is documented, it was probably a concession to the implementation rather than by original intent. A further complication is that it's possible to simultaneously access both the deleted namespace and a new namespace having the same name. Reports that illustrate these issues include: > [A namespace loses track of itself](https://core.tcl-lang.org/tcl/tktview?name=46450b464e) > [command found in deleted namespace](https://core.tcl-lang.org/tcl/tktview?name=1655294fff) > [namespace deletion: trace that calls [apply], specifying the namespace, doesn't fire.](https://core.tcl-lang.org/tcl/tktview/e86e178aff) Finally, the current cleanup routines perform enough contortions to be a real barrier to any further improvement of the system. The work to [simplify the TclOO implementation](https://core.tcl-lang.org/tcl/info/0bae33cd39c2333e), lead to the work to simplify Tcl_DeleteNamespace. There are various reports about traces that that silently fail under one condtition or another. The simplification of `Tcl_DeleteNamespace` is a precursor to the resolution of those issues. |
︙ | ︙ | |||
76 77 78 79 80 81 82 | easier to discover that the current namespace is the global namespace than it is to determine why a namespace which exists at one point no longer exists at another point, even though there is no point in between at which the namespace is deleted. The completion of this TIP will render more tractable the issue [trace deletes the namespace when a command is replaced, producing "called Tcl_CreateHashEntry on deleted | | | | | | 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 | easier to discover that the current namespace is the global namespace than it is to determine why a namespace which exists at one point no longer exists at another point, even though there is no point in between at which the namespace is deleted. The completion of this TIP will render more tractable the issue [trace deletes the namespace when a command is replaced, producing "called Tcl_CreateHashEntry on deleted table"](https://core.tcl-lang.org/tcl/info/0e4d88b650). `activationCount` is removed from the `Namespace` structure, slightly reducing its size. See also, [Improve average size of Namespace](https://core.tcl-lang.org/tcl/tktview?name=2694630fff). `NS_KILLED` will no longer be needed. A namespace being deleted is either `NS_DYING` while deallocation of related resources is in progress or `NS_DEAD` while it's still referenced somewhere. The issue [(tailcall\|yieldto) failed to find the proper namespace Abort](https://core.tcl-lang.org/tcl/tktview?name=3592747fff) becomes more straightforward to reason about since there are no longer namespaces that exist but that are not reachable by name. It will be documented that when a namespace is deleted, ensemble commands, child namespaces, commands in the namespace, and variables in the namespace are deleted in that order. Because the deletion of a resource can trigger the creation of other resources, this process iterates until all relevant resources are deleted. It is left to the programmer to ensure that an loop does not occur. Currently variables are deleted before commands, but variables are more fundamental in the sense that commands can reference them, and it is reasonable to tear down the structure before removing the foundation. # Implementation See the [bug-e593adf103-core-8 branch](https://core.tcl-lang.org/tcl/timeline?n=100&r=bug-e593adf103-core-8). # Copyright This document has been placed in the public domain. |
Changes to tip/499.md.
︙ | ︙ | |||
167 168 169 170 171 172 173 | Compatibility issues arise, if a package expects, that exactly one catalog file is loaded, if it has only first level message files. With this extension, multiple first-level message files may be loaded. # Implementation The implementation is in tcl fossil in branch | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | Compatibility issues arise, if a package expects, that exactly one catalog file is loaded, if it has only first level message files. With this extension, multiple first-level message files may be loaded. # Implementation The implementation is in tcl fossil in branch [tip499-msgcat-custom-preferences](https://core.tcl-lang.org/tcl/timeline?r=tip499-msgcat-custom-preferences). There are tests but no man page jet. Please use this text as man-page. # Copyright This document has been placed in the public domain. |
Changes to tip/500.md.
︙ | ︙ | |||
533 534 535 536 537 538 539 | abc getPublicX # Prints, for example: # ::oo::Obj13::x # Implementation | | | 533 534 535 536 537 538 539 540 541 542 543 544 | abc getPublicX # Prints, for example: # ::oo::Obj13::x # Implementation See the [`tip-500` branch](https://core.tcl-lang.org/tcl/timeline?r=tip-500). # Copyright This document has been placed in the public domain. |
Changes to tip/501.md.
︙ | ︙ | |||
26 27 28 29 30 31 32 | the most common case (namely that the value is, indeed, a dict.) This TIP proposes a shortcut in C to check to see if the internal representation is already a dict, and provide a shortcut for the most common case. # Implementation | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | the most common case (namely that the value is, indeed, a dict.) This TIP proposes a shortcut in C to check to see if the internal representation is already a dict, and provide a shortcut for the most common case. # Implementation A new branch has been added to the tcl fossil system [tip-501](https://core.tcl-lang.org/tcl/timeline?r=tip-501) The crux of the implementation is adding "dict" to the IS ensemble: case STR_IS_DICT: /* * We ignore the strictness here, since empty strings are always * well-formed lists. |
︙ | ︙ |
Changes to tip/507.md.
︙ | ︙ | |||
192 193 194 195 196 197 198 | - The included nanosvg header files will be remain diffable to the original ones. So changes in the original project can be ported to our implementation. - The format options will be limited to a minimum. So the implementation can later be substituted with a full [SVG][] compatible one. - If the implamenation will be replaced it will occur in a different tk version. So there is no need to create a scpecial variable describing the used [SVG][] implementation. - To further reduce the interface it is possible to remove the **-dpi** and **-unit** options. There is currently no demand for this. # Implementation | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | - The included nanosvg header files will be remain diffable to the original ones. So changes in the original project can be ported to our implementation. - The format options will be limited to a minimum. So the implementation can later be substituted with a full [SVG][] compatible one. - If the implamenation will be replaced it will occur in a different tk version. So there is no need to create a scpecial variable describing the used [SVG][] implementation. - To further reduce the interface it is possible to remove the **-dpi** and **-unit** options. There is currently no demand for this. # Implementation A patch implementing these changes is available in the fossil repository in the [tip-507 branch](https://core.tcl-lang.org/tk/timeline?r=tip-507). The new format is described in the photo(n) man page. # Example of use # the image data set data {<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> |
︙ | ︙ |
Changes to tip/508.md.
︙ | ︙ | |||
197 198 199 200 201 202 203 | % set var(foo) can't read "var(foo)": no such element in array # Implementation The proposed implementation is available on branch | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 | % set var(foo) can't read "var(foo)": no such element in array # Implementation The proposed implementation is available on branch [tip-508](https://core.tcl-lang.org/tcl/timeline?r=tip-508) in the Tcl Fossil repository. # Copyright This document has been placed in the public domain. |
Changes to tip/509.md.
︙ | ︙ | |||
106 107 108 109 110 111 112 | - Multiplatform code in its current form behaves either inconsistently or consistently, depending on whether it uses reentrant mutexes or not. Consistent code will remain consistent, inconsistent code will become consistent as the Unix version aligns with the Windows version. # Related Bugs | | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | - Multiplatform code in its current form behaves either inconsistently or consistently, depending on whether it uses reentrant mutexes or not. Consistent code will remain consistent, inconsistent code will become consistent as the Unix version aligns with the Windows version. # Related Bugs [Bug #f4f44174](https://core.tcl-lang.org/tcl/tktview/f4f44174) demonstrates the deadlock issue with a script based on TclX. The root cause is the asynchronous event handler's `Tcl_Mutex` being locked twice from the same thread when a signal handler interrupts a thread in the middle of a mutex-protected section, which on Unix platforms results in a deadlock. The proposed implementation fixes this issue. # Implementation The proposed implementation is available on branch [tip-509](https://core.tcl-lang.org/timeline?r=tip-509) in the Tcl Fossil repository. # Copyright This document has been placed in the public domain. |
Changes to tip/510.md.
︙ | ︙ | |||
43 44 45 46 47 48 49 | New oo::class like widgets **tko::frame**, **tko::labelframe** and **tko::toplevel** > The new widgets will contain the same functionalite like the original *tk* widgets. They are *oo:class*'s and it is possible to add,change and delte methods and options dynamically. The widgets could also be used as oo *superclass*'s. New **tko::widget** oo base class for widgets. | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | New oo::class like widgets **tko::frame**, **tko::labelframe** and **tko::toplevel** > The new widgets will contain the same functionalite like the original *tk* widgets. They are *oo:class*'s and it is possible to add,change and delte methods and options dynamically. The widgets could also be used as oo *superclass*'s. New **tko::widget** oo base class for widgets. > The class provide the extended cget/configure tcl methods (see [`tkoWidget.n.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/tkoWidget.n.md)) and a C interface (see [`tkoWidget.3.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/tkoWidget.3.md)) to build new widgets. # Rationale ## Rbc commands *Tk* has already adopted some of [BLT][]/[Rbc][] commands. Still missing are the above mentioned commands. |
︙ | ︙ | |||
74 75 76 77 78 79 80 | Currently there is no megawidget support core package. These tip will go some steps in this direction. With widgets as **oo::class**'s we can easyly extent existing widgets, just use it as a superclass. The provided cget/configure methods allow add, delete and changing of options. The implementation can be used in C and in Tcl. The new widgets **graph** and **path** are also implemented as **oo::class**. This will make it easy to extent the functionality. As an example see the file `.../library/graph.tcl` in which the method **binding** of the **graph** widget is implemented. # Implementation A patch implementing these changes is available in the fossil | | | | | | | | | | | | | | | | | | | | | | | | 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 154 155 156 157 158 | Currently there is no megawidget support core package. These tip will go some steps in this direction. With widgets as **oo::class**'s we can easyly extent existing widgets, just use it as a superclass. The provided cget/configure methods allow add, delete and changing of options. The implementation can be used in C and in Tcl. The new widgets **graph** and **path** are also implemented as **oo::class**. This will make it easy to extent the functionality. As an example see the file `.../library/graph.tcl` in which the method **binding** of the **graph** widget is implemented. # Implementation A patch implementing these changes is available in the fossil repository in the [tip-510 branch](https://core.tcl-lang.org/tk/timeline?r=tip-510). ## Documentation Documentation is available in md-Format in the .../doc/ directory. - [`tkoWidget.3.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/tkoWidget.3.md) C interface - [`tkoWidget.n.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/tkoWidget.n.md) Tcl interface - [`path.n.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/path.n.md) path widget documentation - [`graph.n.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/graph.n.md) graph widget documentation - [`vector.n.md`](https://core.tcl-lang.org/tk/doc/tip-510/doc/vector.n.md) graph::vector command documentation ## C interface C-source interface files are in `.../generic/tko/`. No functionality is currently exported. - [`tkoWidget.h`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoWidget.h) **tko::widget** C functions and definitions. - [`tkoPath.h`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoPath.h) **path** widget - [`tkoGraph.h`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoGraph.h) **graph** widget ## C sources C-source code files are in `.../generic/tko/`. The new files are added to the makefiles. The calls to the initialization functions are added in tkWindow.c - [`tkoFrame.c`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoFrame.c) **tko::frame**, **tko::labelframe** and **tko::toplevel** implementation - `tkoGraph*.[ch]` **graph** widget implementation - `tkoVector*.[ch]` **graph::vector** command implementation - `tkoRbc*.[ch]` Additional [Rbc][] commands used in **graph** and **graph::vector** - `tkoGraph*.[ch]` **path** widget implementation - [`tkoWidget.c`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoWidget.c) **tko::widget** base class implementation ## Tcl sources Tcl-source code is in `.../library/`. The new files are added into `tk.tcl`. - [`graph.tcl`](https://core.tcl-lang.org/tk/doc/tip-510/library/graph.tcl) graph widget bindings - [`path.tcl`](https://core.tcl-lang.org/tk/doc/tip-510/library/path.tcl) path widget helper function under **::path** ## Tests Test files are available in the .../tests/tko/ directory. - [`tkoFrame.test`](https://core.tcl-lang.org/tk/doc/tip-510/tests/tko/tkoFrame.test) tests from the tk frame.test file plus additional **oo::class** related tests - [`tkoGraph.test`](https://core.tcl-lang.org/tk/doc/tip-510/tests/tko/tkoGraph.test) **graph** widget tests - [`tkoGraph_vector.test`](https://core.tcl-lang.org/tk/doc/tip-510/tests/tko/tkoGraph_vector.test) **graph::vector** command tests - [`tkoPath.test`](https://core.tcl-lang.org/tk/doc/tip-510/tests/tko/tkoPath.test) **path** widget tests # Discussion See also discussion at the [wiki](http://wiki.tcl.tk/55360). A first voting was rejected, mostly because of the missing Mac implementation. See: <http://code.activestate.com/lists/tcl-core/20357/> <http://code.activestate.com/lists/tcl-core/20368/> and with some analysis from Donal: <http://code.activestate.com/lists/tcl-core/20384/> # Open issues - Mac implementation of **graph** widget. May be borrow code from **path** - Remove or change old code in `generic/tko/*` files <http://code.activestate.com/lists/tcl-core/20384/> - Hardcoded usage of compiler and libraries in [`win/Makefile.in`](https://core.tcl-lang.org/tk/doc/tip-510/win/Makefile.in), [`win/makefile.vc`](https://core.tcl-lang.org/tk/doc/tip-510/win/makefile.vc) and [`unix/Makefile.in`](https://core.tcl-lang.org/tk/doc/tip-510/unix/Makefile.in) (search for "#RZ TODO"). - Add **path** files in Mac implementation. It works at least in [Androwish][]. - Which platforms should be used in **path** - SDL/AGG: platform independent, more work is needed using [`tkoPath_SDLAGG.cpp`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoPath_SDLAGG.cpp). See in [Androwish][] - GDI+ on Windows => working with [`tkoPath_WinGDIPlus.cpp`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoPath_WinGDIPlus.cpp) - Cairo on unix => working with [`tkoPath_UnixCairo.c`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoPath_UnixCairo.c) - For Mac see [`tkoPath_MacOSX.c`](https://core.tcl-lang.org/tk/doc/tip-510/generic/tko/tkoPath_MacOSX.c) - Provide demos - Add more **path** tests - Is it necessary to translate the documentation into man format? - It is currently not possible to use unique abbreviations of class method names p.e. "graph .g; .g conf" A workaround would be to add all those method names. May be this can be solved in tcl::oo directly? Any help especially with the Mac implementation would be great! |
︙ | ︙ |
Changes to tip/512.md.
︙ | ︙ | |||
15 16 17 18 19 20 21 | This TIP proposes to remove the stub entries for `Tcl_SetExitProc()`, `Tcl_SetPanicProc()`, `Tcl_FindExecutable()` and (for Tk) `Tk_MainEx()`. The normal exported symbols for those functions will be kept intact. # Context This TIP is inspired by Tcl commit ["Add custom exit procedure for | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | This TIP proposes to remove the stub entries for `Tcl_SetExitProc()`, `Tcl_SetPanicProc()`, `Tcl_FindExecutable()` and (for Tk) `Tk_MainEx()`. The normal exported symbols for those functions will be kept intact. # Context This TIP is inspired by Tcl commit ["Add custom exit procedure for tcltests executable"](https://core.tcl-lang.org/tcl/info/6f650b4271a1ef2e). This commit demonstrates exactly what's the problem when using `Tcl_SetExitProc()` in a stub-enabled extension: On win32 this caused a crash in many unit-tests, when tclsh ended. This problematic commit was corrected in [this commit](https://core.tcl-lang.org/tcl/info/df825488e649e15b): a thread exit handler is how this should have been done. # Rationale When running test-cases in Windows (using mingw-64 or MSVC, but using the win/Makefile system not the nmake system), the `tclsh` executable crashes after shutdown in some tests. The reason for this is that |
︙ | ︙ | |||
67 68 69 70 71 72 73 | Starting with Tcl 9.0, those stub entries will be removed completely. In stead, those functions will be defined in tcl.h, as normal exported symbols, just like `Tcl_MainEx()` (for example). # Implementation Currently, the proposed implementation is available in [tip-512 branch] | | | 67 68 69 70 71 72 73 74 75 76 77 78 | Starting with Tcl 9.0, those stub entries will be removed completely. In stead, those functions will be defined in tcl.h, as normal exported symbols, just like `Tcl_MainEx()` (for example). # Implementation Currently, the proposed implementation is available in [tip-512 branch] (https://core.tcl-lang.org/tcl/timeline?r=tip-512). # Copyright This document has been placed in the public domain. |
Changes to tip/513.md.
1 2 3 4 5 6 7 8 9 | # TIP 513: Better support for 'agendas' as arrays, dictionaries or lists Author: Florian Murr <[email protected]> State: Draft Type: Project Vote: Pending Created: 02-Aug-2017 Post-History: Keywords: Tcl,data structure Tcl-Version: 8.7 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # TIP 513: Better support for 'agendas' as arrays, dictionaries or lists Author: Florian Murr <[email protected]> State: Draft Type: Project Vote: Pending Created: 02-Aug-2017 Post-History: Keywords: Tcl,data structure Tcl-Version: 8.7 Implementation-URL: https://core.tcl-lang.org/tips/doc/trunk/attach/513/agendas.tcl ----- # Abstract This proposes new commands for Tcl to support efficient dynamically-changing data structures. |
︙ | ︙ |
Changes to tip/514.md.
︙ | ︙ | |||
94 95 96 97 98 99 100 | * If you still really want to protect some command argument from overflowing, Use Tcl\_GetWideIntFromObj() in this command, and use "string is wide" to check for proper range. But - still better - is use Tcl\_GetWideIntFromObj(), while falling back to Tcl\_GetBignumFromObj() if the range requires it. That's what Tcl itself is doing almost everywhere to prevent under/overflow errors. # Implementation Currently, the proposed implementation is available in the [tip-514 branch] | | | 94 95 96 97 98 99 100 101 102 103 104 105 | * If you still really want to protect some command argument from overflowing, Use Tcl\_GetWideIntFromObj() in this command, and use "string is wide" to check for proper range. But - still better - is use Tcl\_GetWideIntFromObj(), while falling back to Tcl\_GetBignumFromObj() if the range requires it. That's what Tcl itself is doing almost everywhere to prevent under/overflow errors. # Implementation Currently, the proposed implementation is available in the [tip-514 branch] (https://core.tcl-lang.org/tcl/timeline?r=tip-514). # Copyright This document has been placed in the public domain. |
Changes to tip/515.md.
︙ | ︙ | |||
70 71 72 73 74 75 76 | $ proc 2do arg {puts $arg} % apply {{} {uplevel 2do OK}} OK # Implementation Currently, the proposed implementation is available in the [tip-515 branch] | | | 70 71 72 73 74 75 76 77 78 79 80 81 | $ proc 2do arg {puts $arg} % apply {{} {uplevel 2do OK}} OK # Implementation Currently, the proposed implementation is available in the [tip-515 branch] (https://core.tcl-lang.org/tcl/timeline?r=tip-515). # Copyright This document has been placed in the public domain. |
Changes to tip/517.md.
︙ | ︙ | |||
27 28 29 30 31 32 33 | For backwards compatibility reasons, this new option will have its defaults such that the rendering is unchanged compared to the current state of affairs, i.e. it will be **raised** on Linux, and **flat** on other platforms. This new option will be accepted on all platforms, however on macOS it will be silently ignored since the native menues are used on this platform (***TkpDrawMenuEntry*** is an empty procedure on macOS). # Implementation An implementation of this TIP can be found in the [tip-517 branch] | | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | For backwards compatibility reasons, this new option will have its defaults such that the rendering is unchanged compared to the current state of affairs, i.e. it will be **raised** on Linux, and **flat** on other platforms. This new option will be accepted on all platforms, however on macOS it will be silently ignored since the native menues are used on this platform (***TkpDrawMenuEntry*** is an empty procedure on macOS). # Implementation An implementation of this TIP can be found in the [tip-517 branch] (https://core.tcl-lang.org/tk/timeline?r=tip-517). # Alternatives Alternatively, instead of adding a new **-activerelief** menu option, the issue raised in [bug 43b596451e] (https://core.tcl-lang.org/tk/tktview/43b596451ec6b59359145ff32e689a2eec70bb85) could be resolved by changing the rendering of the active entry in Linux menues to become **TK\_RELIEF\_FLAT**, and keep the current **TK\_RELIEF\_RAISED** only if **tk\_strictMotif** is set. The drawback is that this would constitute a backwards incompatible change - However in turn this could be deemed acceptable in the current alpha state of 8.7. An implementation for this alternate proposal can be found in [branch tip-517-alt] (https://core.tcl-lang.org/tk/timeline?r=tip-517-alt). Having balanced the pros and cons between the two approaches, I'd prefer to add **-activerelief**, which in addition to be a backwards compatible change, has the merit of introducing additional configuration flexibility. # Copyright This document has been placed in the public domain. |
Changes to tip/518.md.
︙ | ︙ | |||
25 26 27 28 29 30 31 | A **frame** keeping a size without reason just feels like a bug and mostly leads to unwanted results. Mostly, it looks just ugly, but there are critical use-cases, specially in scrolled frames. When the BWidget autoscroll package is used, which displays scrollbars on demand, the scrollbars do not disappear if the contents is gone. And there is nothing, a programmer can do, as the Configure event does not fire on the scrolled frame widget. | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | A **frame** keeping a size without reason just feels like a bug and mostly leads to unwanted results. Mostly, it looks just ugly, but there are critical use-cases, specially in scrolled frames. When the BWidget autoscroll package is used, which displays scrollbars on demand, the scrollbars do not disappear if the contents is gone. And there is nothing, a programmer can do, as the Configure event does not fire on the scrolled frame widget. Another example is the scrolledwindow example by Emiliano in [ticket 2863003fff](https://core.tcl-lang.org/tk/info/12006979562649c9), where the solution 2 specific part may be removed \(or is ignored\). A typical workaround is to configure the width/height manually after the last children was unmapped. Unfortunately, this fact may not be determined for example by scrolling widgets etc. An eventual Configure binding is not firing. Within this TIP, a new virtual event `<<NoManagedChild>>` is fired to inform about no remaining childs. # Example |
︙ | ︙ | |||
112 113 114 115 116 117 118 | .c.f configure -height 1 .c.f configure -height 0 } bind .c.f <<NoManagedChild>> frameNoChild # Reference Implementation | | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | .c.f configure -height 1 .c.f configure -height 0 } bind .c.f <<NoManagedChild>> frameNoChild # Reference Implementation Emiliano has provided a [ticket 2863003fff](https://core.tcl-lang.org/tk/info/2863003fff) with the implementation in [branch bug-d6b95ce492](https://core.tcl-lang.org/tk/timeline?r=bug-d6b95ce492&nd&c=2016-09-21+06%3A32%3A55&n=200). This solution is now continued with the tag "tip518-event-last-child-unmanaged". Koen Dankart and François Vogel have worked on the solution of the similar tip474, which is available in [branch tip-454](https://core.tcl-lang.org/tk/timeline?n=100&r=tip-454). This information may eventually also be relevant. # Rejected Proposal [TIP 454](454.md) has proposed to set the size of the widget automatically to 1x1 (the initial size if no widget packed/gridded). Please read the discussion within the TIP which led to withdraw the proposal. |
︙ | ︙ |
Changes to tip/527.md.
︙ | ︙ | |||
120 121 122 123 124 125 126 | timerate -overhead $ovh { clock format $tm -format %H incr tm [expr {24*60*60}]; # overhead for this is ignored } 5000 ### Impact | | | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | timerate -overhead $ovh { clock format $tm -format %H incr tm [expr {24*60*60}]; # overhead for this is ignored } 5000 ### Impact As the current implementation in [sebres-8-6-timerate](https://core.tcl-lang.org/tcl/timeline?n=100&r=sebres-8-6-timerate) (or, for Tcl 8.5, [sebres-8-5-timerate](https://core.tcl-lang.org/tcl/timeline?n=100&r=sebres-8-5-timerate)) shows, no public API's are affected by introducing this, A few new functions are provided for Tcl's internal API (see `tclInt.h`). Don Porter (`dgp`) has made a review of the version of this change that targets Tcl 8.7, which can be found in branch [dgp-sebres-timerate-review](https://core.tcl-lang.org/tcl/timeline?n=100&r=dgp-sebres-timerate-review). The branch already contains the performance testing framework as well as a new script, `tests-perf/clock.perf.tcl` that instruments the `clock` command in preparation for integrating changes that improve its performance.. <hr/> ## II. Proposed performance-testing framework: `::tclTestPerf` The small test suite in the `::tclTestPerf` namespace allows for batch-based measurement and diff-based results to compare performamnce among revisions and detect performance regressions. |
︙ | ︙ | |||
280 281 282 283 284 285 286 | Max: 0.448517 µs/# 1015517 # 2229568 #/sec 455.477 nett-ms ******************************************************************************** ### Examples For the usage examples of this test-framework, see | | | | 280 281 282 283 284 285 286 287 288 289 290 | Max: 0.448517 µs/# 1015517 # 2229568 #/sec 455.477 nett-ms ******************************************************************************** ### Examples For the usage examples of this test-framework, see [clock-speedup-branch - tests-perf/clock.perf.tcl](https://core.tcl-lang.org/tcl/artifact/afee4f40621652b1) or [event-perf-branch - tests-perf/test-performance.tcl](https://core.tcl-lang.org/tcl/artifact/70523c268fdf9e3e). For the result example (produced with clock.perf.tcl) see [diff in sebres/tcl#2](https://github.com/sebres/tcl/pull/2). |
Changes to tip/537.md.
︙ | ︙ | |||
38 39 40 41 42 43 44 | Also a new macro `TCL_INDEX_NONE` will be provided, which is the value of the `start` and `end` fields when there is no match. This macro will be provided to 8.7 as well, but in Tcl 8.7 it will have the value (-1). # Implementation | | | 38 39 40 41 42 43 44 45 46 47 48 49 | Also a new macro `TCL_INDEX_NONE` will be provided, which is the value of the `start` and `end` fields when there is no match. This macro will be provided to 8.7 as well, but in Tcl 8.7 it will have the value (-1). # Implementation An implementation of this TIP is present in the [regexp-api-64bit](https://core.tcl-lang.org/tcl/timeline?r=regexp-api-64bit) branch. # Copyright This document has been placed in the public domain. |
Changes to tip/539.md.
︙ | ︙ | |||
102 103 104 105 106 107 108 | -foo|-bar|-baz # Implementation Notes An implementation exists (it's a very trivial to modify **dict filter** … **value** to work this way: just add an inner loop over the list of | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | -foo|-bar|-baz # Implementation Notes An implementation exists (it's a very trivial to modify **dict filter** … **value** to work this way: just add an inner loop over the list of patterns); see [patch #2370575](https://core.tcl-lang.org/tcl/tktview/2370575). What might be tricky is the case of **dict filter** … **key**, since this currently has an optimisation for the case of a pattern without glob metacharacters that would be very desirable to keep for the motivating use-case of selecting specific keys from a dictionary. The natural way to do that would be to make the loop over patterns the outer loop and the loop over dictionary entries the inner loop, which is only entered if the |
︙ | ︙ |
Changes to tip/542.md.
︙ | ︙ | |||
103 104 105 106 107 108 109 | * If Tcl is compiled with -DTCL\_UTF\_MAX=4, the deprecated functions will be gone. Any extension using those, even if the extesion is compiled with -DTCL\_UTF\_MAX=3, won't work any more. # Reference Implementation A reference implementation is available in the **utf-max** branch. | | | 103 104 105 106 107 108 109 110 111 112 113 114 | * If Tcl is compiled with -DTCL\_UTF\_MAX=4, the deprecated functions will be gone. Any extension using those, even if the extesion is compiled with -DTCL\_UTF\_MAX=3, won't work any more. # Reference Implementation A reference implementation is available in the **utf-max** branch. <https://core.tcl-lang.org/tcl/timeline?r=utf-max> # Copyright This document has been placed in the public domain. |
Changes to tip/544.md.
︙ | ︙ | |||
39 40 41 42 43 44 45 | # Compatibility This is fully upwards compatible with Tcl 8.6. # Reference Implementation | | | 39 40 41 42 43 44 45 46 47 48 49 50 | # Compatibility This is fully upwards compatible with Tcl 8.6. # Reference Implementation Available on branch [tip-544](https://core.tcl-lang.org/tcl/timeline?t=tip-544). # Copyright This document has been placed in the public domain. |
Changes to tip/546.md.
︙ | ︙ | |||
66 67 68 69 70 71 72 | # Specification # Compatibility # Reference Implementation | | | 66 67 68 69 70 71 72 73 74 75 76 77 | # Specification # Compatibility # Reference Implementation Will be drafted in [tip-546](https://core.tcl-lang.org/tcl/timeline?r=tip-546) branches. # Copyright This document has been placed in the public domain. |
Changes to tip/547.md.
︙ | ︙ | |||
44 45 46 47 48 49 50 | # Compatibility This is fully upwards compatible, except when Tcl is compiled with `-DTCL_UTF_MAX=6` (which is - actually - not supported). # Reference Implementation A reference implementation is available in the **tip-547** branch. | | | 44 45 46 47 48 49 50 51 52 53 54 55 | # Compatibility This is fully upwards compatible, except when Tcl is compiled with `-DTCL_UTF_MAX=6` (which is - actually - not supported). # Reference Implementation A reference implementation is available in the **tip-547** branch. <https://core.tcl-lang.org/tcl/timeline?r=tip-547> # Copyright This document has been placed in the public domain. |
Changes to tip/548.md.
︙ | ︙ | |||
83 84 85 86 87 88 89 | This is fully upwards compatible in Tcl 8.x, except if Tcl is compiled with `-DTCL_UTF_MAX=6` (not officially supported) or `-DTCL_NO_DEPRECATED`. Starting with Tcl 9.0, the replacement functions should be used in stead. # Reference Implementation A reference implementation is available in the **tip-548** branch. | | | 83 84 85 86 87 88 89 90 91 92 93 94 | This is fully upwards compatible in Tcl 8.x, except if Tcl is compiled with `-DTCL_UTF_MAX=6` (not officially supported) or `-DTCL_NO_DEPRECATED`. Starting with Tcl 9.0, the replacement functions should be used in stead. # Reference Implementation A reference implementation is available in the **tip-548** branch. <https://core.tcl-lang.org/tcl/timeline?r=tip-548> # Copyright This document has been placed in the public domain. |
Changes to tip/549.md.
︙ | ︙ | |||
31 32 33 34 35 36 37 | If you want a 32-bit build, you should explicitly specify `--disable-64bit` with `configure`. That will work with any Tcl version, older ones too. # Reference Implementation A reference implementation is available in the **tip-549** branch. | | | 31 32 33 34 35 36 37 38 39 40 41 42 | If you want a 32-bit build, you should explicitly specify `--disable-64bit` with `configure`. That will work with any Tcl version, older ones too. # Reference Implementation A reference implementation is available in the **tip-549** branch. <https://core.tcl-lang.org/tcl/timeline?r=tip-549> # Copyright This document has been placed in the public domain. |