Tcl Library Source Code

Changes On Branch rc-test-fixes
Login

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

Changes In Branch rc-test-fixes Excluding Merge-Ins

This is equivalent to a diff from 1dc169f990 to 1cc457d283

2015-04-14
20:44
struct::pool - Merge fix to release. Bump version to 1.2.3. check-in: a4e99fce81 user: aku tags: tcllib-1-17-rc
20:40
And remove -level, another 8.5ism from the 8.4 code path. Passes. Closed-Leaf check-in: 1cc457d283 user: aku tags: rc-test-fixes
20:33
Fix (handle) 8.5/8.6 output variance in the snit2 tests. Retest. Closed-Leaf check-in: 49bd682f8b user: andreask tags: rc-test-snit-fixes
20:26
Fix (handle) 8.5/8.6 output variance in the struct::set tests. Retest. Closed-Leaf check-in: e42c6f286b user: andreask tags: rc-test-struct-set-fixes
20:06
Fix (handle) 8.5/8.6 output variance in the uevent tests. Retest. Closed-Leaf check-in: bb02043cd1 user: andreask tags: rc-test-uevent-fixes
19:50
Fix (handle) 8.5/8.6 output variance in the clock tests. Retest. Closed-Leaf check-in: 80acadb004 user: andreask tags: rc-test-clock-fixes
19:10
Ticket [624f2300ab]. Fix struct::pool Tcl 8.4 compat. Retest. check-in: 7774dcaf1d user: andreask tags: rc-test-fixes
06:56
Updated README check-in: 1dc169f990 user: aku tags: tcllib-1-17-rc
06:36
Updated README check-in: 39f14ee444 user: aku tags: tcllib-1-17-rc

Changes to modules/struct/pool.tcl.

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
	WRONG_NARGS            "wrong#args"
    }
    
    namespace export pool
}

# A small helper routine to generate structured errors



proc ::struct::pool::Error {error args} {
    variable Errors
    return -code error -level 1 \
	-errorcode [list STRUCT POOL $error {*}$args] \
	[format $Errors($error) {*}$args]











}

# A small helper routine to check list membership
proc ::struct::pool::lmember {list element} {
    if { [lsearch -exact $list $element] >= 0 } {
        return 1
    } else  {
        return 0
    }
}


# General note
# ============
#
# All procedures below use the following method to reference
# a particular pool-object:
#







>
>
>
|
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>










<







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
88
89

90
91
92
93
94
95
96
	WRONG_NARGS            "wrong#args"
    }
    
    namespace export pool
}

# A small helper routine to generate structured errors

if {[package vsatisfies [package present Tcl] 8.5]} {
    # Tcl 8.5+, have expansion operator and syntax. And option -level.
    proc ::struct::pool::Error {error args} {
	variable Errors
	return -code error -level 1 \
	    -errorcode [list STRUCT POOL $error {*}$args] \
	    [format $Errors($error) {*}$args]
    }
} else {
    # Tcl 8.4. No expansion operator available. Nor -level.
    # Construct the pieces explicitly, via linsert/eval hop&dance.
    proc ::struct::pool::Error {error args} {
	variable Errors
	lappend code STRUCT POOL $error
	eval [linsert $args 0 lappend code]
	set msg [eval [linsert $args 0 format $Errors($error)]]
	return -code error -errorcode $code $msg
    }
}

# A small helper routine to check list membership
proc ::struct::pool::lmember {list element} {
    if { [lsearch -exact $list $element] >= 0 } {
        return 1
    } else  {
        return 0
    }
}


# General note
# ============
#
# All procedures below use the following method to reference
# a particular pool-object:
#