Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch bug-td-coroutine Excluding Merge-Ins
This is equivalent to a diff from 7bed475cb2 to 5f50c249bd
2014-04-11
| ||
20:26 | Ticket [c21b57e4fc]. Fixed version number mismatch for "coroutine". See also Ticket [ac8d016077] whose fix (revision [7bed475cb2]) introduced the problem. check-in: 51083f878a user: andreask tags: trunk | |
2014-03-26
| ||
17:29 | In coroutine and coro_auto: 'read' must correctly emulate Tcl's built-in read and not close the chan at EOF. Add command expansion in 'global', which looks like it never worked. Took the opportunity to fix how 'global' stores coro-global values so that we don't tramp on Frame #1's local variables (no compatibility break as 'global' never worked). Bumped versions. Adding tests. Work-in-progress. Leaf check-in: 5f50c249bd user: twylite tags: bug-td-coroutine | |
2014-03-24
| ||
18:24 | Ticket [ac8d016077]. Package coroutine and coroutine::auto. Fixed missing variable "result" in various ok code paths. Bumped versions to 1.1.1 and 1.1.2 respectively. check-in: 7bed475cb2 user: andreask tags: trunk | |
18:03 | Ticket 874dedb816 - struct::matrix - Fixed documentation buglet. check-in: ed580c5543 user: andreask tags: trunk | |
Changes to modules/coroutine/ChangeLog.
|
Changes to modules/coroutine/coro_auto.tcl.
1 2 3 4 | 1 2 3 4 5 6 7 8 9 10 11 12 | - + | ## -- Tcl Module -- -*- tcl -*- # # ## ### ##### ######## ############# # @@ Meta Begin |
︙ | |||
222 223 224 225 226 227 228 | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | - | yield ::chan event $chan readable {} } else { ::chan configure $chan -blocking $blocking append buf $result if {[::chan eof $chan]} { |
︙ | |||
253 254 255 256 257 258 259 | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | - | ::chan event $chan readable {} } else { ::chan configure $chan -blocking $blocking append buf $result incr left -[string length $result] if {[::chan eof $chan]} { |
︙ | |||
306 307 308 309 310 311 312 | 304 305 306 307 308 309 310 311 312 | - + | return } ::coroutine::auto} # # ## ### ##### ######## ############# ## Ready |
Changes to modules/coroutine/coroutine.tcl.
1 2 3 4 | 1 2 3 4 5 6 7 8 9 10 11 12 | - + | ## -- Tcl Module -- -*- tcl -*- # # ## ### ##### ######## ############# # @@ Meta Begin |
︙ | |||
86 87 88 89 90 91 92 | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | - + - + | proc ::coroutine::util::global {args} { # Frame #1 is the coroutine-specific stack frame at its # bottom. Variables there are out of view of the main code, and # can be made visible in the entire coroutine underneath. set cmd [list upvar "#1"] foreach var $args { |
︙ | |||
259 260 261 262 263 264 265 | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | - | yield ::chan event $chan readable {} } else { ::chan configure $chan -blocking $blocking append buf $result if {[::chan eof $chan]} { |
︙ | |||
290 291 292 293 294 295 296 | 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | - | ::chan event $chan readable {} } else { ::chan configure $chan -blocking $blocking append buf $result incr left -[string length $result] if {[::chan eof $chan]} { |
︙ | |||
369 370 371 372 373 374 375 | 367 368 369 370 371 372 373 374 375 | - + | namespace eval ::coroutine::util { #checker exclude warnShadowVar variable counter 0 } # # ## ### ##### ######## ############# ## Ready |
Added modules/coroutine/coroutine.test.