Check-in [ba20dbe041]

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

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

Overview
Comment:Note that TIP 450 now has an implementation branch
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ba20dbe041092c386b18cacfd38067b45fa70cc96b6b823eaff160bcdc149c55
User & Date: dkf 2019-06-09 14:24:08
Context
2019-06-10
18:08
Note two TIPs' implementation branches check-in: d7e07557f8 user: dkf tags: trunk
07:07
TIP545: fine-tune the wording to the implementation check-in: 852dcae80f user: oehhar tags: trunk
2019-06-09
14:24
Note that TIP 450 now has an implementation branch check-in: ba20dbe041 user: dkf tags: trunk
2019-06-08
16:51
Updated where TIP 167's implementation is. check-in: 81708cd9ed user: dkf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to index.json.

94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
...
547
548
549
550
551
552
553
554
	"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.tk/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-version":"8.7","vote":"Pending","type":"Project","title":"# TIP 450: Add [binary] subcommand \"set\" for in-place modification","author":["Arjen Markus <[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},
................................................................................
	"4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false},
	"3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false},
	"2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false},
	"0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false},
	"@min": 0,
	"@max": 549
}, "@timestamp": 1560012667}






|







 







|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
...
547
548
549
550
551
552
553
554
	"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.tk/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]>"],"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},
................................................................................
	"4":{"url":"./tip/4.md","created":"26-Oct-2000","post-history":"","state":"Draft","vote":"Pending","type":"Informative","title":"# TIP 4: Tcl Release and Distribution Philosophy","discussions-to":"news:comp.lang.tcl","author":["Brent Welch <[email protected]>","Donal K. Fellows <[email protected]>","Larry W. Virden <[email protected]>","Larry W. Virden <[email protected]>"],"is-jest":false},
	"3":{"url":"./tip/3.md","created":"14-Sep-2000","obsoleted-by":"467","post-history":"","state":"Accepted","vote":"Done","type":"Process","title":"# TIP 3: TIP Format","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>"],"is-jest":false},
	"2":{"url":"./tip/2.md","created":"12-Sep-2000","post-history":"","state":"Draft","vote":"Pending","type":"Process","title":"# TIP 2: TIP Guidelines","author":["Andreas Kupries <[email protected]>","Donal K. Fellows <[email protected]>","Don Porter <[email protected]>","Mo DeJong <[email protected]>","Larry W. Virden <[email protected]>","Kevin Kenny <[email protected]>"],"is-jest":false},
	"1":{"url":"./tip/1.md","created":"14-Sep-2000","obsoleted-by":"386","post-history":"","state":"Withdrawn","vote":"No voting","type":"Informational","title":"# TIP 1: TIP Index","author":["TIP Editor <[email protected]>"],"is-jest":false},
	"0":{"url":"./tip/0.md","created":"11-Dec-2000","post-history":"","state":"Final","vote":"Done","type":"Process","title":"# TIP 0: Tcl Core Team Basic Rules","author":["John Ousterhout <[email protected]>"],"is-jest":false},
	"@min": 0,
	"@max": 549
}, "@timestamp": 1560090168}

Changes to index.md.

1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/450.md'>450</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/450.md'>Add [binary] subcommand &quot;set&quot; for in-place modification</a></td>
<td></td>
</tr>
<tr class='state-final type-project version-87'>
<td valign='top'><a href='./tip/449.md'>449</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/449.md'>[text] undo/redo to Return Range of Characters</a></td>






|







1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
</tr>
<tr class='state-draft type-project version-87'>
<td valign='top'><a href='./tip/450.md'>450</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Draft</td>
<td valign='top' ><a href='./tip/450.md'>Add [binary] subcommand &quot;set&quot; for in-place modification</a></td>
<td valign='top'><a href='/tcl/timeline?r=tip-450'>Link</a></td>
</tr>
<tr class='state-final type-project version-87'>
<td valign='top'><a href='./tip/449.md'>449</a></td>
<td valign='top'>Project</td>
<td valign='top'>8.7</td>
<td valign='top'>Final</td>
<td valign='top' ><a href='./tip/449.md'>[text] undo/redo to Return Range of Characters</a></td>

Changes to tip/450.md.

1
2
3
4
5
6
7
8
9

10
11
12
13
14
15
16
17
18
19
20
21
..
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# TIP 450: Add [binary] subcommand "set" for in-place modification
	Author:		Arjen Markus <[email protected]>
	State:		Draft
	Type:		Project
	Vote:		Pending
	Created:	18-Jul-2016
	Post-History: 
	Tcl-Version:	8.7
	Keywords:	Tcl, binary data

-----

# Abstract

This TIP proposes a simpler extension of the [binary] command than the related
[[418]](418.md), namely just a subcommand **set** that updates an existing byte array
in a variable instead of creating a new one like **binary format**. It does
not propose an extension of the various formatting codes.

# Rationale

As already argued in [[418]](418.md), the **binary** command is efficient in creating
................................................................................

# Implementation Notes

Besides the nominal case of a variable that contains a binary array that is to
be updated within the bounds of that array, three other cases exist and need
to be prepared for:

 * The variable varName does not exist yet

 * The variable varName does not contain a binary array

 * The updating would go past the memory allocated for the binary array

Each of these cases and perhaps others will have to be taken care of. The
first case might be treated as if **binary format** was meant. For the
second case the implementation can convert the current value.

|
|
|
|
|

|
|
>




|







 







|

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# TIP 450: Add [binary] subcommand "set" for in-place modification
	Author:         Arjen Markus <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        18-Jul-2016
	Post-History: 
	Tcl-Version:    8.7
	Keywords:       Tcl, binary data
	Tcl-Branch:     tip-450
-----

# Abstract

This TIP proposes a simpler extension of the **binary** command than the related
[[418]](418.md), namely just a subcommand **set** that updates an existing byte array
in a variable instead of creating a new one like **binary format**. It does
not propose an extension of the various formatting codes.

# Rationale

As already argued in [[418]](418.md), the **binary** command is efficient in creating
................................................................................

# Implementation Notes

Besides the nominal case of a variable that contains a binary array that is to
be updated within the bounds of that array, three other cases exist and need
to be prepared for:

 * The variable _varName_ does not exist yet

 * The variable _varName_ does not contain a binary array

 * The updating would go past the memory allocated for the binary array

Each of these cases and perhaps others will have to be taken care of. The
first case might be treated as if **binary format** was meant. For the
second case the implementation can convert the current value.