os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/tests/lsetComp.test
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
# This file is a -*- tcl -*- test script
sl@0
     2
sl@0
     3
# Commands covered: lset
sl@0
     4
#
sl@0
     5
# This file contains a collection of tests for one or more of the Tcl
sl@0
     6
# built-in commands.  Sourcing this file into Tcl runs the tests and
sl@0
     7
# generates output for errors.  No output means no errors were found.
sl@0
     8
#
sl@0
     9
# Copyright (c) 2001 by Kevin B. Kenny.  All rights reserved.
sl@0
    10
#
sl@0
    11
# See the file "license.terms" for information on usage and redistribution
sl@0
    12
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
sl@0
    13
#
sl@0
    14
# RCS: @(#) $Id$
sl@0
    15
sl@0
    16
if {[lsearch [namespace children] ::tcltest] == -1} {
sl@0
    17
    package require tcltest
sl@0
    18
    namespace import -force ::tcltest::*
sl@0
    19
}
sl@0
    20
sl@0
    21
# Procedure to evaluate a script within a proc, to test compilation
sl@0
    22
# functionality
sl@0
    23
sl@0
    24
proc evalInProc { script } {
sl@0
    25
    proc testProc {} $script
sl@0
    26
    set status [catch {
sl@0
    27
	testProc 
sl@0
    28
    } result]
sl@0
    29
    rename testProc {}
sl@0
    30
    return [list $status $result]
sl@0
    31
}
sl@0
    32
sl@0
    33
# Tests for the bytecode compilation of the 'lset' command
sl@0
    34
sl@0
    35
test lsetComp-1.1 {lset, compiled, wrong \# args} {
sl@0
    36
    evalInProc {
sl@0
    37
	lset
sl@0
    38
    }
sl@0
    39
} "1 {wrong \# args: should be \"lset listVar index ?index...? value\"}"
sl@0
    40
sl@0
    41
test lsetComp-2.1 {lset, compiled, list of args, not a simple var name} {
sl@0
    42
    evalInProc {
sl@0
    43
	set y x
sl@0
    44
	set x {{1 2} {3 4}}
sl@0
    45
	lset $y {1 1} 5
sl@0
    46
    }
sl@0
    47
} "0 {{1 2} {3 5}}"
sl@0
    48
sl@0
    49
test lsetComp-2.2 {lset, compiled, list of args, scalar on stack} {
sl@0
    50
    evalInProc {
sl@0
    51
	set ::x {{1 2} {3 4}}
sl@0
    52
	lset ::x {1 1} 5
sl@0
    53
    }
sl@0
    54
} "0 {{1 2} {3 5}}"
sl@0
    55
sl@0
    56
test lsetComp-2.3 {lset, compiled, list of args, scalar, one-byte offset} {
sl@0
    57
    evalInProc {
sl@0
    58
	set x {{1 2} {3 4}}
sl@0
    59
	lset x {1 1} 5
sl@0
    60
    }
sl@0
    61
} "0 {{1 2} {3 5}}"
sl@0
    62
sl@0
    63
test lsetComp-2.4 {lset, compiled, list of args, scalar, four-byte offset} {
sl@0
    64
    evalInProc {
sl@0
    65
	set x0 0; set x1 0; set x2 0; set x3 0; 
sl@0
    66
	set x4 0; set x5 0; set x6 0; set x7 0; 
sl@0
    67
	set x8 0; set x9 0; set x10 0; set x11 0; 
sl@0
    68
	set x12 0; set x13 0; set x14 0; set x15 0; 
sl@0
    69
	set x16 0; set x17 0; set x18 0; set x19 0; 
sl@0
    70
	set x20 0; set x21 0; set x22 0; set x23 0; 
sl@0
    71
	set x24 0; set x25 0; set x26 0; set x27 0; 
sl@0
    72
	set x28 0; set x29 0; set x30 0; set x31 0; 
sl@0
    73
	set x32 0; set x33 0; set x34 0; set x35 0; 
sl@0
    74
	set x36 0; set x37 0; set x38 0; set x39 0; 
sl@0
    75
	set x40 0; set x41 0; set x42 0; set x43 0; 
sl@0
    76
	set x44 0; set x45 0; set x46 0; set x47 0; 
sl@0
    77
	set x48 0; set x49 0; set x50 0; set x51 0; 
sl@0
    78
	set x52 0; set x53 0; set x54 0; set x55 0; 
sl@0
    79
	set x56 0; set x57 0; set x58 0; set x59 0; 
sl@0
    80
	set x60 0; set x61 0; set x62 0; set x63 0; 
sl@0
    81
	set x64 0; set x65 0; set x66 0; set x67 0; 
sl@0
    82
	set x68 0; set x69 0; set x70 0; set x71 0; 
sl@0
    83
	set x72 0; set x73 0; set x74 0; set x75 0; 
sl@0
    84
	set x76 0; set x77 0; set x78 0; set x79 0; 
sl@0
    85
	set x80 0; set x81 0; set x82 0; set x83 0; 
sl@0
    86
	set x84 0; set x85 0; set x86 0; set x87 0; 
sl@0
    87
	set x88 0; set x89 0; set x90 0; set x91 0; 
sl@0
    88
	set x92 0; set x93 0; set x94 0; set x95 0; 
sl@0
    89
	set x96 0; set x97 0; set x98 0; set x99 0; 
sl@0
    90
	set x100 0; set x101 0; set x102 0; set x103 0; 
sl@0
    91
	set x104 0; set x105 0; set x106 0; set x107 0; 
sl@0
    92
	set x108 0; set x109 0; set x110 0; set x111 0; 
sl@0
    93
	set x112 0; set x113 0; set x114 0; set x115 0; 
sl@0
    94
	set x116 0; set x117 0; set x118 0; set x119 0; 
sl@0
    95
	set x120 0; set x121 0; set x122 0; set x123 0; 
sl@0
    96
	set x124 0; set x125 0; set x126 0; set x127 0; 
sl@0
    97
	set x128 0; set x129 0; set x130 0; set x131 0; 
sl@0
    98
	set x132 0; set x133 0; set x134 0; set x135 0; 
sl@0
    99
	set x136 0; set x137 0; set x138 0; set x139 0; 
sl@0
   100
	set x140 0; set x141 0; set x142 0; set x143 0; 
sl@0
   101
	set x144 0; set x145 0; set x146 0; set x147 0; 
sl@0
   102
	set x148 0; set x149 0; set x150 0; set x151 0; 
sl@0
   103
	set x152 0; set x153 0; set x154 0; set x155 0; 
sl@0
   104
	set x156 0; set x157 0; set x158 0; set x159 0; 
sl@0
   105
	set x160 0; set x161 0; set x162 0; set x163 0; 
sl@0
   106
	set x164 0; set x165 0; set x166 0; set x167 0; 
sl@0
   107
	set x168 0; set x169 0; set x170 0; set x171 0; 
sl@0
   108
	set x172 0; set x173 0; set x174 0; set x175 0; 
sl@0
   109
	set x176 0; set x177 0; set x178 0; set x179 0; 
sl@0
   110
	set x180 0; set x181 0; set x182 0; set x183 0; 
sl@0
   111
	set x184 0; set x185 0; set x186 0; set x187 0; 
sl@0
   112
	set x188 0; set x189 0; set x190 0; set x191 0; 
sl@0
   113
	set x192 0; set x193 0; set x194 0; set x195 0; 
sl@0
   114
	set x196 0; set x197 0; set x198 0; set x199 0; 
sl@0
   115
	set x200 0; set x201 0; set x202 0; set x203 0; 
sl@0
   116
	set x204 0; set x205 0; set x206 0; set x207 0; 
sl@0
   117
	set x208 0; set x209 0; set x210 0; set x211 0; 
sl@0
   118
	set x212 0; set x213 0; set x214 0; set x215 0; 
sl@0
   119
	set x216 0; set x217 0; set x218 0; set x219 0; 
sl@0
   120
	set x220 0; set x221 0; set x222 0; set x223 0; 
sl@0
   121
	set x224 0; set x225 0; set x226 0; set x227 0; 
sl@0
   122
	set x228 0; set x229 0; set x230 0; set x231 0; 
sl@0
   123
	set x232 0; set x233 0; set x234 0; set x235 0; 
sl@0
   124
	set x236 0; set x237 0; set x238 0; set x239 0; 
sl@0
   125
	set x240 0; set x241 0; set x242 0; set x243 0; 
sl@0
   126
	set x244 0; set x245 0; set x246 0; set x247 0; 
sl@0
   127
	set x248 0; set x249 0; set x250 0; set x251 0; 
sl@0
   128
	set x252 0; set x253 0; set x254 0; set x255 0;
sl@0
   129
	set x {{1 2} {3 4}}
sl@0
   130
	lset x {1 1} 5
sl@0
   131
    }
sl@0
   132
} "0 {{1 2} {3 5}}"
sl@0
   133
sl@0
   134
test lsetComp-2.5 {lset, compiled, list of args, array on stack} {
sl@0
   135
    evalInProc {
sl@0
   136
	set ::y(0) {{1 2} {3 4}}
sl@0
   137
	lset ::y(0) {1 1} 5
sl@0
   138
    }
sl@0
   139
} "0 {{1 2} {3 5}}"
sl@0
   140
sl@0
   141
test lsetComp-2.6 {lset, compiled, list of args, array, one-byte offset} {
sl@0
   142
    evalInProc {
sl@0
   143
	set y(0) {{1 2} {3 4}}
sl@0
   144
	lset y(0) {1 1} 5
sl@0
   145
    }
sl@0
   146
} "0 {{1 2} {3 5}}"
sl@0
   147
sl@0
   148
test lsetComp-2.7 {lset, compiled, list of args, array, four-byte offset} {
sl@0
   149
    evalInProc {
sl@0
   150
	set x0 0; set x1 0; set x2 0; set x3 0; 
sl@0
   151
	set x4 0; set x5 0; set x6 0; set x7 0; 
sl@0
   152
	set x8 0; set x9 0; set x10 0; set x11 0; 
sl@0
   153
	set x12 0; set x13 0; set x14 0; set x15 0; 
sl@0
   154
	set x16 0; set x17 0; set x18 0; set x19 0; 
sl@0
   155
	set x20 0; set x21 0; set x22 0; set x23 0; 
sl@0
   156
	set x24 0; set x25 0; set x26 0; set x27 0; 
sl@0
   157
	set x28 0; set x29 0; set x30 0; set x31 0; 
sl@0
   158
	set x32 0; set x33 0; set x34 0; set x35 0; 
sl@0
   159
	set x36 0; set x37 0; set x38 0; set x39 0; 
sl@0
   160
	set x40 0; set x41 0; set x42 0; set x43 0; 
sl@0
   161
	set x44 0; set x45 0; set x46 0; set x47 0; 
sl@0
   162
	set x48 0; set x49 0; set x50 0; set x51 0; 
sl@0
   163
	set x52 0; set x53 0; set x54 0; set x55 0; 
sl@0
   164
	set x56 0; set x57 0; set x58 0; set x59 0; 
sl@0
   165
	set x60 0; set x61 0; set x62 0; set x63 0; 
sl@0
   166
	set x64 0; set x65 0; set x66 0; set x67 0; 
sl@0
   167
	set x68 0; set x69 0; set x70 0; set x71 0; 
sl@0
   168
	set x72 0; set x73 0; set x74 0; set x75 0; 
sl@0
   169
	set x76 0; set x77 0; set x78 0; set x79 0; 
sl@0
   170
	set x80 0; set x81 0; set x82 0; set x83 0; 
sl@0
   171
	set x84 0; set x85 0; set x86 0; set x87 0; 
sl@0
   172
	set x88 0; set x89 0; set x90 0; set x91 0; 
sl@0
   173
	set x92 0; set x93 0; set x94 0; set x95 0; 
sl@0
   174
	set x96 0; set x97 0; set x98 0; set x99 0; 
sl@0
   175
	set x100 0; set x101 0; set x102 0; set x103 0; 
sl@0
   176
	set x104 0; set x105 0; set x106 0; set x107 0; 
sl@0
   177
	set x108 0; set x109 0; set x110 0; set x111 0; 
sl@0
   178
	set x112 0; set x113 0; set x114 0; set x115 0; 
sl@0
   179
	set x116 0; set x117 0; set x118 0; set x119 0; 
sl@0
   180
	set x120 0; set x121 0; set x122 0; set x123 0; 
sl@0
   181
	set x124 0; set x125 0; set x126 0; set x127 0; 
sl@0
   182
	set x128 0; set x129 0; set x130 0; set x131 0; 
sl@0
   183
	set x132 0; set x133 0; set x134 0; set x135 0; 
sl@0
   184
	set x136 0; set x137 0; set x138 0; set x139 0; 
sl@0
   185
	set x140 0; set x141 0; set x142 0; set x143 0; 
sl@0
   186
	set x144 0; set x145 0; set x146 0; set x147 0; 
sl@0
   187
	set x148 0; set x149 0; set x150 0; set x151 0; 
sl@0
   188
	set x152 0; set x153 0; set x154 0; set x155 0; 
sl@0
   189
	set x156 0; set x157 0; set x158 0; set x159 0; 
sl@0
   190
	set x160 0; set x161 0; set x162 0; set x163 0; 
sl@0
   191
	set x164 0; set x165 0; set x166 0; set x167 0; 
sl@0
   192
	set x168 0; set x169 0; set x170 0; set x171 0; 
sl@0
   193
	set x172 0; set x173 0; set x174 0; set x175 0; 
sl@0
   194
	set x176 0; set x177 0; set x178 0; set x179 0; 
sl@0
   195
	set x180 0; set x181 0; set x182 0; set x183 0; 
sl@0
   196
	set x184 0; set x185 0; set x186 0; set x187 0; 
sl@0
   197
	set x188 0; set x189 0; set x190 0; set x191 0; 
sl@0
   198
	set x192 0; set x193 0; set x194 0; set x195 0; 
sl@0
   199
	set x196 0; set x197 0; set x198 0; set x199 0; 
sl@0
   200
	set x200 0; set x201 0; set x202 0; set x203 0; 
sl@0
   201
	set x204 0; set x205 0; set x206 0; set x207 0; 
sl@0
   202
	set x208 0; set x209 0; set x210 0; set x211 0; 
sl@0
   203
	set x212 0; set x213 0; set x214 0; set x215 0; 
sl@0
   204
	set x216 0; set x217 0; set x218 0; set x219 0; 
sl@0
   205
	set x220 0; set x221 0; set x222 0; set x223 0; 
sl@0
   206
	set x224 0; set x225 0; set x226 0; set x227 0; 
sl@0
   207
	set x228 0; set x229 0; set x230 0; set x231 0; 
sl@0
   208
	set x232 0; set x233 0; set x234 0; set x235 0; 
sl@0
   209
	set x236 0; set x237 0; set x238 0; set x239 0; 
sl@0
   210
	set x240 0; set x241 0; set x242 0; set x243 0; 
sl@0
   211
	set x244 0; set x245 0; set x246 0; set x247 0; 
sl@0
   212
	set x248 0; set x249 0; set x250 0; set x251 0; 
sl@0
   213
	set x252 0; set x253 0; set x254 0; set x255 0;
sl@0
   214
	set y(0) {{1 2} {3 4}}
sl@0
   215
	lset y(0) {1 1} 5
sl@0
   216
    }
sl@0
   217
} "0 {{1 2} {3 5}}"
sl@0
   218
sl@0
   219
test lsetComp-2.8 {lset, compiled, list of args, error } {
sl@0
   220
    evalInProc {
sl@0
   221
	set x { {1 2} {3 4} }
sl@0
   222
	lset x {1 5} 5
sl@0
   223
    }
sl@0
   224
} "1 {list index out of range}"
sl@0
   225
sl@0
   226
test lsetComp-2.9 {lset, compiled, list of args, error - is string preserved} {
sl@0
   227
    set ::x { { 1 2 } { 3 4 } }
sl@0
   228
    evalInProc {
sl@0
   229
	lset ::x { 1 5 } 5
sl@0
   230
    }
sl@0
   231
    list $::x [lindex $::x 1]
sl@0
   232
} "{ { 1 2 } { 3 4 } } { 3 4 }"
sl@0
   233
sl@0
   234
test lsetComp-3.1 {lset, compiled, flat args, not a simple var name} {
sl@0
   235
    evalInProc {
sl@0
   236
	set y x
sl@0
   237
	set x {{1 2} {3 4}}
sl@0
   238
	lset $y 1 1 5
sl@0
   239
    }
sl@0
   240
} "0 {{1 2} {3 5}}"
sl@0
   241
sl@0
   242
test lsetComp-3.2 {lset, compiled, flat args, scalar on stack} {
sl@0
   243
    evalInProc {
sl@0
   244
	set ::x {{1 2} {3 4}}
sl@0
   245
	lset ::x 1 1 5
sl@0
   246
    }
sl@0
   247
} "0 {{1 2} {3 5}}"
sl@0
   248
sl@0
   249
test lsetComp-3.3 {lset, compiled, flat args, scalar, one-byte offset} {
sl@0
   250
    evalInProc {
sl@0
   251
	set x {{1 2} {3 4}}
sl@0
   252
	lset x 1 1 5
sl@0
   253
    }
sl@0
   254
} "0 {{1 2} {3 5}}"
sl@0
   255
sl@0
   256
test lsetComp-3.4 {lset, compiled, scalar, four-byte offset} {
sl@0
   257
    evalInProc {
sl@0
   258
	set x0 0; set x1 0; set x2 0; set x3 0; 
sl@0
   259
	set x4 0; set x5 0; set x6 0; set x7 0; 
sl@0
   260
	set x8 0; set x9 0; set x10 0; set x11 0; 
sl@0
   261
	set x12 0; set x13 0; set x14 0; set x15 0; 
sl@0
   262
	set x16 0; set x17 0; set x18 0; set x19 0; 
sl@0
   263
	set x20 0; set x21 0; set x22 0; set x23 0; 
sl@0
   264
	set x24 0; set x25 0; set x26 0; set x27 0; 
sl@0
   265
	set x28 0; set x29 0; set x30 0; set x31 0; 
sl@0
   266
	set x32 0; set x33 0; set x34 0; set x35 0; 
sl@0
   267
	set x36 0; set x37 0; set x38 0; set x39 0; 
sl@0
   268
	set x40 0; set x41 0; set x42 0; set x43 0; 
sl@0
   269
	set x44 0; set x45 0; set x46 0; set x47 0; 
sl@0
   270
	set x48 0; set x49 0; set x50 0; set x51 0; 
sl@0
   271
	set x52 0; set x53 0; set x54 0; set x55 0; 
sl@0
   272
	set x56 0; set x57 0; set x58 0; set x59 0; 
sl@0
   273
	set x60 0; set x61 0; set x62 0; set x63 0; 
sl@0
   274
	set x64 0; set x65 0; set x66 0; set x67 0; 
sl@0
   275
	set x68 0; set x69 0; set x70 0; set x71 0; 
sl@0
   276
	set x72 0; set x73 0; set x74 0; set x75 0; 
sl@0
   277
	set x76 0; set x77 0; set x78 0; set x79 0; 
sl@0
   278
	set x80 0; set x81 0; set x82 0; set x83 0; 
sl@0
   279
	set x84 0; set x85 0; set x86 0; set x87 0; 
sl@0
   280
	set x88 0; set x89 0; set x90 0; set x91 0; 
sl@0
   281
	set x92 0; set x93 0; set x94 0; set x95 0; 
sl@0
   282
	set x96 0; set x97 0; set x98 0; set x99 0; 
sl@0
   283
	set x100 0; set x101 0; set x102 0; set x103 0; 
sl@0
   284
	set x104 0; set x105 0; set x106 0; set x107 0; 
sl@0
   285
	set x108 0; set x109 0; set x110 0; set x111 0; 
sl@0
   286
	set x112 0; set x113 0; set x114 0; set x115 0; 
sl@0
   287
	set x116 0; set x117 0; set x118 0; set x119 0; 
sl@0
   288
	set x120 0; set x121 0; set x122 0; set x123 0; 
sl@0
   289
	set x124 0; set x125 0; set x126 0; set x127 0; 
sl@0
   290
	set x128 0; set x129 0; set x130 0; set x131 0; 
sl@0
   291
	set x132 0; set x133 0; set x134 0; set x135 0; 
sl@0
   292
	set x136 0; set x137 0; set x138 0; set x139 0; 
sl@0
   293
	set x140 0; set x141 0; set x142 0; set x143 0; 
sl@0
   294
	set x144 0; set x145 0; set x146 0; set x147 0; 
sl@0
   295
	set x148 0; set x149 0; set x150 0; set x151 0; 
sl@0
   296
	set x152 0; set x153 0; set x154 0; set x155 0; 
sl@0
   297
	set x156 0; set x157 0; set x158 0; set x159 0; 
sl@0
   298
	set x160 0; set x161 0; set x162 0; set x163 0; 
sl@0
   299
	set x164 0; set x165 0; set x166 0; set x167 0; 
sl@0
   300
	set x168 0; set x169 0; set x170 0; set x171 0; 
sl@0
   301
	set x172 0; set x173 0; set x174 0; set x175 0; 
sl@0
   302
	set x176 0; set x177 0; set x178 0; set x179 0; 
sl@0
   303
	set x180 0; set x181 0; set x182 0; set x183 0; 
sl@0
   304
	set x184 0; set x185 0; set x186 0; set x187 0; 
sl@0
   305
	set x188 0; set x189 0; set x190 0; set x191 0; 
sl@0
   306
	set x192 0; set x193 0; set x194 0; set x195 0; 
sl@0
   307
	set x196 0; set x197 0; set x198 0; set x199 0; 
sl@0
   308
	set x200 0; set x201 0; set x202 0; set x203 0; 
sl@0
   309
	set x204 0; set x205 0; set x206 0; set x207 0; 
sl@0
   310
	set x208 0; set x209 0; set x210 0; set x211 0; 
sl@0
   311
	set x212 0; set x213 0; set x214 0; set x215 0; 
sl@0
   312
	set x216 0; set x217 0; set x218 0; set x219 0; 
sl@0
   313
	set x220 0; set x221 0; set x222 0; set x223 0; 
sl@0
   314
	set x224 0; set x225 0; set x226 0; set x227 0; 
sl@0
   315
	set x228 0; set x229 0; set x230 0; set x231 0; 
sl@0
   316
	set x232 0; set x233 0; set x234 0; set x235 0; 
sl@0
   317
	set x236 0; set x237 0; set x238 0; set x239 0; 
sl@0
   318
	set x240 0; set x241 0; set x242 0; set x243 0; 
sl@0
   319
	set x244 0; set x245 0; set x246 0; set x247 0; 
sl@0
   320
	set x248 0; set x249 0; set x250 0; set x251 0; 
sl@0
   321
	set x252 0; set x253 0; set x254 0; set x255 0;
sl@0
   322
	set x {{1 2} {3 4}}
sl@0
   323
	lset x 1 1 5
sl@0
   324
    }
sl@0
   325
} "0 {{1 2} {3 5}}"
sl@0
   326
sl@0
   327
test lsetComp-3.5 {lset, compiled, flat args, array on stack} {
sl@0
   328
    evalInProc {
sl@0
   329
	set ::y(0) {{1 2} {3 4}}
sl@0
   330
	lset ::y(0) 1 1 5
sl@0
   331
    }
sl@0
   332
} "0 {{1 2} {3 5}}"
sl@0
   333
sl@0
   334
test lsetComp-3.6 {lset, compiled, flat args, array, one-byte offset} {
sl@0
   335
    evalInProc {
sl@0
   336
	set y(0) {{1 2} {3 4}}
sl@0
   337
	lset y(0) 1 1 5
sl@0
   338
    }
sl@0
   339
} "0 {{1 2} {3 5}}"
sl@0
   340
sl@0
   341
test lsetComp-3.7 {lset, compiled, flat args, array, four-byte offset} {
sl@0
   342
    evalInProc {
sl@0
   343
	set x0 0; set x1 0; set x2 0; set x3 0; 
sl@0
   344
	set x4 0; set x5 0; set x6 0; set x7 0; 
sl@0
   345
	set x8 0; set x9 0; set x10 0; set x11 0; 
sl@0
   346
	set x12 0; set x13 0; set x14 0; set x15 0; 
sl@0
   347
	set x16 0; set x17 0; set x18 0; set x19 0; 
sl@0
   348
	set x20 0; set x21 0; set x22 0; set x23 0; 
sl@0
   349
	set x24 0; set x25 0; set x26 0; set x27 0; 
sl@0
   350
	set x28 0; set x29 0; set x30 0; set x31 0; 
sl@0
   351
	set x32 0; set x33 0; set x34 0; set x35 0; 
sl@0
   352
	set x36 0; set x37 0; set x38 0; set x39 0; 
sl@0
   353
	set x40 0; set x41 0; set x42 0; set x43 0; 
sl@0
   354
	set x44 0; set x45 0; set x46 0; set x47 0; 
sl@0
   355
	set x48 0; set x49 0; set x50 0; set x51 0; 
sl@0
   356
	set x52 0; set x53 0; set x54 0; set x55 0; 
sl@0
   357
	set x56 0; set x57 0; set x58 0; set x59 0; 
sl@0
   358
	set x60 0; set x61 0; set x62 0; set x63 0; 
sl@0
   359
	set x64 0; set x65 0; set x66 0; set x67 0; 
sl@0
   360
	set x68 0; set x69 0; set x70 0; set x71 0; 
sl@0
   361
	set x72 0; set x73 0; set x74 0; set x75 0; 
sl@0
   362
	set x76 0; set x77 0; set x78 0; set x79 0; 
sl@0
   363
	set x80 0; set x81 0; set x82 0; set x83 0; 
sl@0
   364
	set x84 0; set x85 0; set x86 0; set x87 0; 
sl@0
   365
	set x88 0; set x89 0; set x90 0; set x91 0; 
sl@0
   366
	set x92 0; set x93 0; set x94 0; set x95 0; 
sl@0
   367
	set x96 0; set x97 0; set x98 0; set x99 0; 
sl@0
   368
	set x100 0; set x101 0; set x102 0; set x103 0; 
sl@0
   369
	set x104 0; set x105 0; set x106 0; set x107 0; 
sl@0
   370
	set x108 0; set x109 0; set x110 0; set x111 0; 
sl@0
   371
	set x112 0; set x113 0; set x114 0; set x115 0; 
sl@0
   372
	set x116 0; set x117 0; set x118 0; set x119 0; 
sl@0
   373
	set x120 0; set x121 0; set x122 0; set x123 0; 
sl@0
   374
	set x124 0; set x125 0; set x126 0; set x127 0; 
sl@0
   375
	set x128 0; set x129 0; set x130 0; set x131 0; 
sl@0
   376
	set x132 0; set x133 0; set x134 0; set x135 0; 
sl@0
   377
	set x136 0; set x137 0; set x138 0; set x139 0; 
sl@0
   378
	set x140 0; set x141 0; set x142 0; set x143 0; 
sl@0
   379
	set x144 0; set x145 0; set x146 0; set x147 0; 
sl@0
   380
	set x148 0; set x149 0; set x150 0; set x151 0; 
sl@0
   381
	set x152 0; set x153 0; set x154 0; set x155 0; 
sl@0
   382
	set x156 0; set x157 0; set x158 0; set x159 0; 
sl@0
   383
	set x160 0; set x161 0; set x162 0; set x163 0; 
sl@0
   384
	set x164 0; set x165 0; set x166 0; set x167 0; 
sl@0
   385
	set x168 0; set x169 0; set x170 0; set x171 0; 
sl@0
   386
	set x172 0; set x173 0; set x174 0; set x175 0; 
sl@0
   387
	set x176 0; set x177 0; set x178 0; set x179 0; 
sl@0
   388
	set x180 0; set x181 0; set x182 0; set x183 0; 
sl@0
   389
	set x184 0; set x185 0; set x186 0; set x187 0; 
sl@0
   390
	set x188 0; set x189 0; set x190 0; set x191 0; 
sl@0
   391
	set x192 0; set x193 0; set x194 0; set x195 0; 
sl@0
   392
	set x196 0; set x197 0; set x198 0; set x199 0; 
sl@0
   393
	set x200 0; set x201 0; set x202 0; set x203 0; 
sl@0
   394
	set x204 0; set x205 0; set x206 0; set x207 0; 
sl@0
   395
	set x208 0; set x209 0; set x210 0; set x211 0; 
sl@0
   396
	set x212 0; set x213 0; set x214 0; set x215 0; 
sl@0
   397
	set x216 0; set x217 0; set x218 0; set x219 0; 
sl@0
   398
	set x220 0; set x221 0; set x222 0; set x223 0; 
sl@0
   399
	set x224 0; set x225 0; set x226 0; set x227 0; 
sl@0
   400
	set x228 0; set x229 0; set x230 0; set x231 0; 
sl@0
   401
	set x232 0; set x233 0; set x234 0; set x235 0; 
sl@0
   402
	set x236 0; set x237 0; set x238 0; set x239 0; 
sl@0
   403
	set x240 0; set x241 0; set x242 0; set x243 0; 
sl@0
   404
	set x244 0; set x245 0; set x246 0; set x247 0; 
sl@0
   405
	set x248 0; set x249 0; set x250 0; set x251 0; 
sl@0
   406
	set x252 0; set x253 0; set x254 0; set x255 0;
sl@0
   407
	set y(0) {{1 2} {3 4}}
sl@0
   408
	lset y(0) 1 1 5
sl@0
   409
    }
sl@0
   410
} "0 {{1 2} {3 5}}"
sl@0
   411
sl@0
   412
test lsetComp-3.8 {lset, compiled, flat args, error } {
sl@0
   413
    evalInProc {
sl@0
   414
	set x { {1 2} {3 4} }
sl@0
   415
	lset x 1 5 5
sl@0
   416
    }
sl@0
   417
} "1 {list index out of range}"
sl@0
   418
sl@0
   419
test lsetComp-3.9 {lset, compiled, flat args, error - is string preserved} {
sl@0
   420
    set ::x { { 1 2 } { 3 4 } }
sl@0
   421
    evalInProc {
sl@0
   422
	lset ::x 1 5 5
sl@0
   423
    }
sl@0
   424
    list $::x [lindex $::x 1]
sl@0
   425
} "{ { 1 2 } { 3 4 } } { 3 4 }"
sl@0
   426
sl@0
   427
catch { rename evalInProc {} }
sl@0
   428
catch { unset ::x }
sl@0
   429
catch { unset ::y }
sl@0
   430
sl@0
   431
# cleanup
sl@0
   432
::tcltest::cleanupTests
sl@0
   433
return