Mercurial > hg > xemacs-beta
comparison src/specifier.c @ 2159:3ceb3622efa3
[xemacs-hg @ 2004-07-01 14:44:43 by james]
Make sure spec-lists and inst-lists are valid lists.
author | james |
---|---|
date | Thu, 01 Jul 2004 14:44:48 +0000 |
parents | ec2d1e636272 |
children | 04bc9d2f42c7 |
comparison
equal
deleted
inserted
replaced
2158:64fe99818e40 | 2159:3ceb3622efa3 |
---|---|
1231 | 1231 |
1232 static Lisp_Object | 1232 static Lisp_Object |
1233 check_valid_inst_list (Lisp_Object inst_list, struct specifier_methods *meths, | 1233 check_valid_inst_list (Lisp_Object inst_list, struct specifier_methods *meths, |
1234 Error_Behavior errb) | 1234 Error_Behavior errb) |
1235 { | 1235 { |
1236 Lisp_Object rest; | 1236 EXTERNAL_LIST_LOOP_2 (inst_pair, inst_list) |
1237 | 1237 { |
1238 LIST_LOOP (rest, inst_list) | 1238 Lisp_Object tag_set; |
1239 { | 1239 |
1240 Lisp_Object inst_pair, tag_set; | 1240 if (!CONSP (inst_pair)) |
1241 | |
1242 if (!CONSP (rest)) | |
1243 { | |
1244 maybe_sferror ( | |
1245 "Invalid instantiator list", inst_list, | |
1246 Qspecifier, errb); | |
1247 return Qnil; | |
1248 } | |
1249 if (!CONSP (inst_pair = XCAR (rest))) | |
1250 { | 1241 { |
1251 maybe_sferror ( | 1242 maybe_sferror ( |
1252 "Invalid instantiator pair", inst_pair, | 1243 "Invalid instantiator pair", inst_pair, |
1253 Qspecifier, errb); | 1244 Qspecifier, errb); |
1254 return Qnil; | 1245 return Qnil; |
1290 | 1281 |
1291 static Lisp_Object | 1282 static Lisp_Object |
1292 check_valid_spec_list (Lisp_Object spec_list, struct specifier_methods *meths, | 1283 check_valid_spec_list (Lisp_Object spec_list, struct specifier_methods *meths, |
1293 Error_Behavior errb) | 1284 Error_Behavior errb) |
1294 { | 1285 { |
1295 Lisp_Object rest; | 1286 EXTERNAL_LIST_LOOP_2 (spec, spec_list) |
1296 | 1287 { |
1297 LIST_LOOP (rest, spec_list) | 1288 Lisp_Object locale; |
1298 { | 1289 if (!CONSP (spec)) |
1299 Lisp_Object spec, locale; | |
1300 if (!CONSP (rest) || !CONSP (spec = XCAR (rest))) | |
1301 { | 1290 { |
1302 maybe_sferror ( | 1291 maybe_sferror ( |
1303 "Invalid specification list", spec_list, | 1292 "Invalid specification list", spec_list, |
1304 Qspecifier, errb); | 1293 Qspecifier, errb); |
1305 return Qnil; | 1294 return Qnil; |