Fossil SCM

Make sure the TH1 unset command fails if the variable does not exist.

mistachkin 2014-01-05 23:05 trunk
Commit 99bdfa0b9546e880e726fc716f3c06d8c076d9be
2 files changed +1 -1 +10
+1 -1
--- src/th.c
+++ src/th.c
@@ -1241,11 +1241,11 @@
12411241
** in the interpreter result and TH_ERROR is returned.
12421242
*/
12431243
int Th_UnsetVar(Th_Interp *interp, const char *zVar, int nVar){
12441244
Th_Variable *pValue;
12451245
1246
- pValue = thFindValue(interp, zVar, nVar, 1, 1);
1246
+ pValue = thFindValue(interp, zVar, nVar, 0, 1);
12471247
if( !pValue ){
12481248
return TH_ERROR;
12491249
}
12501250
12511251
Th_Free(interp, pValue->zData);
12521252
--- src/th.c
+++ src/th.c
@@ -1241,11 +1241,11 @@
1241 ** in the interpreter result and TH_ERROR is returned.
1242 */
1243 int Th_UnsetVar(Th_Interp *interp, const char *zVar, int nVar){
1244 Th_Variable *pValue;
1245
1246 pValue = thFindValue(interp, zVar, nVar, 1, 1);
1247 if( !pValue ){
1248 return TH_ERROR;
1249 }
1250
1251 Th_Free(interp, pValue->zData);
1252
--- src/th.c
+++ src/th.c
@@ -1241,11 +1241,11 @@
1241 ** in the interpreter result and TH_ERROR is returned.
1242 */
1243 int Th_UnsetVar(Th_Interp *interp, const char *zVar, int nVar){
1244 Th_Variable *pValue;
1245
1246 pValue = thFindValue(interp, zVar, nVar, 0, 1);
1247 if( !pValue ){
1248 return TH_ERROR;
1249 }
1250
1251 Th_Free(interp, pValue->zData);
1252
--- test/th1.test
+++ test/th1.test
@@ -132,5 +132,15 @@
132132
133133
###############################################################################
134134
135135
fossil test-th-eval "set var 1; unset var; expr {\$var+0}"
136136
test th1-info-exists-5 {$RESULT eq {TH_ERROR: no such variable: var}}
137
+
138
+###############################################################################
139
+
140
+fossil test-th-eval "set var 1; unset var"
141
+test th1-unset-1 {$RESULT eq {var}}
142
+
143
+###############################################################################
144
+
145
+fossil test-th-eval "unset var"
146
+test th1-unset-2 {$RESULT eq {TH_ERROR: no such variable: var}}
137147
--- test/th1.test
+++ test/th1.test
@@ -132,5 +132,15 @@
132
133 ###############################################################################
134
135 fossil test-th-eval "set var 1; unset var; expr {\$var+0}"
136 test th1-info-exists-5 {$RESULT eq {TH_ERROR: no such variable: var}}
 
 
 
 
 
 
 
 
 
 
137
--- test/th1.test
+++ test/th1.test
@@ -132,5 +132,15 @@
132
133 ###############################################################################
134
135 fossil test-th-eval "set var 1; unset var; expr {\$var+0}"
136 test th1-info-exists-5 {$RESULT eq {TH_ERROR: no such variable: var}}
137
138 ###############################################################################
139
140 fossil test-th-eval "set var 1; unset var"
141 test th1-unset-1 {$RESULT eq {var}}
142
143 ###############################################################################
144
145 fossil test-th-eval "unset var"
146 test th1-unset-2 {$RESULT eq {TH_ERROR: no such variable: var}}
147

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button