Check-in [b9d1d51fbe]

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:Update TIP #532 by giving the branches that will receive the implementation with or without PREFER_MOST_SPECIALIZED_EVENT and SUPPORT_ADDITIONAL_MOTION_SYNTAX
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b9d1d51fbeef3772469520c5b07ae601b5a95b71ba1e9eb4110e171fe3474dba
User & Date: fvogel 2019-02-03 17:33:56
Context
2019-02-13
10:53
Update TIP #527 / timerate (the branches and TIP are ready now) check-in: 078ca0f89f user: sebres tags: trunk
2019-02-03
17:33
Update TIP #532 by giving the branches that will receive the implementation with or without PREFER_MOST_SPECIALIZED_EVENT and SUPPORT_ADDITIONAL_MOTION_SYNTAX check-in: b9d1d51fbe user: fvogel tags: trunk
2019-02-02
18:00
TIP #533 accepted 5/0/0: YES: 5 (Griffin, Kupries, Landers, Nijtmans, Vogel). NO: -. PRESENT: -. Vote conclusion email was sent 2-Feb-2019 to Tcl Core list. Implementation was merged the same day. check-in: 1672da309d user: fvogel tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tip/532.md.

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
162
163
164
165
166
167
168










169
170
171
172
173
174
175
	Author:         Gregor Cramer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        09-Jan-2019
	Post-History:  
	Keywords:       Tk, bind, event, event loop
	Tcl-Version:    8.6
	Tk-Branch:      bug6e8afe516d
----

# Abstract

Current implementation of event loop processing suffers from a limited event ring.
This limitation is causing unexpected behavior. Moreover some issues in event loop
handling are known.
................................................................................

Based on tests the performance in time is better than with legacy implementation. This
result is expected, because a triple-nested loop, executed for each incoming event, has
been changed to a quasi-double-nested loop (only in very seldom cases it is still
triple-nested). Furthermore the traversed lists are shorter than with legacy implementation,
because the event ring, always containing 30 items (or even 45 on Mac), has been eliminated.
Only unbinding a tag is a bit slower than before. Memory consumption did not change significantly.











# Backwards Compatibility

Fix of issue (4) is not fully backwards compatible (more details in section **Rationale**).

Moreover fix of issue (5) is not backwards compatible, but here erroneous behavior has been
corrected.






|
|







 







>
>
>
>
>
>
>
>
>
>







2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
	Author:         Gregor Cramer <[email protected]>
	State:          Draft
	Type:           Project
	Vote:           Pending
	Created:        09-Jan-2019
	Post-History:  
	Keywords:       Tk, bind, event, event loop
	Tcl-Version:    8.6 and 8.7
	Tk-Branch:      bug6e8afe516d, bug6e8afe516d-87
----

# Abstract

Current implementation of event loop processing suffers from a limited event ring.
This limitation is causing unexpected behavior. Moreover some issues in event loop
handling are known.
................................................................................

Based on tests the performance in time is better than with legacy implementation. This
result is expected, because a triple-nested loop, executed for each incoming event, has
been changed to a quasi-double-nested loop (only in very seldom cases it is still
triple-nested). Furthermore the traversed lists are shorter than with legacy implementation,
because the event ring, always containing 30 items (or even 45 on Mac), has been eliminated.
Only unbinding a tag is a bit slower than before. Memory consumption did not change significantly.

Branch [bug6e8afe516d](https://core.tcl-lang.org/tk/timeline?r=bug6e8afe516d)
has <code>PREFER\_MOST\_SPECIALIZED\_EVENT=0</code> and
<code>SUPPORT\_ADDITIONAL\_MOTION\_SYNTAX=0</code>.
It targets 8.6 and is intended to be merged into core-8-6-branch.

Branch [bug6e8afe516d-87](https://core.tcl-lang.org/tk/timeline?r=bug6e8afe516d-87)
has <code>PREFER\_MOST\_SPECIALIZED\_EVENT=1</code> and
<code>SUPPORT\_ADDITIONAL\_MOTION\_SYNTAX=1</code>.
It targets 8.7 and is intended to be merged into trunk.

# Backwards Compatibility

Fix of issue (4) is not fully backwards compatible (more details in section **Rationale**).

Moreover fix of issue (5) is not backwards compatible, but here erroneous behavior has been
corrected.