changeset 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 64fe99818e40
children 1439b9957f69
files src/ChangeLog src/specifier.c
diffstat 2 files changed, 13 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Jun 30 21:50:53 2004 +0000
+++ b/src/ChangeLog	Thu Jul 01 14:44:48 2004 +0000
@@ -1,3 +1,9 @@
+2004-06-29  Jerry James  <james@xemacs.org>
+
+	* specifier.c (check_valid_inst_list): Change LIST_LOOP to
+	EXTERNAL_LIST_LOOP_2.
+	* specifier.c (check_valid_spec_list): Ditto.
+
 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
 
 	* malloc.c (morecore): siz is a long because in some architectures
--- a/src/specifier.c	Wed Jun 30 21:50:53 2004 +0000
+++ b/src/specifier.c	Thu Jul 01 14:44:48 2004 +0000
@@ -1233,20 +1233,11 @@
 check_valid_inst_list (Lisp_Object inst_list, struct specifier_methods *meths,
 		       Error_Behavior errb)
 {
-  Lisp_Object rest;
-
-  LIST_LOOP (rest, inst_list)
+  EXTERNAL_LIST_LOOP_2 (inst_pair, inst_list)
     {
-      Lisp_Object inst_pair, tag_set;
-
-      if (!CONSP (rest))
-	{
-	  maybe_sferror (
-				   "Invalid instantiator list", inst_list,
-				     Qspecifier, errb);
-	  return Qnil;
-	}
-      if (!CONSP (inst_pair = XCAR (rest)))
+      Lisp_Object tag_set;
+
+      if (!CONSP (inst_pair))
 	{
 	  maybe_sferror (
 				   "Invalid instantiator pair", inst_pair,
@@ -1292,12 +1283,10 @@
 check_valid_spec_list (Lisp_Object spec_list, struct specifier_methods *meths,
 		       Error_Behavior errb)
 {
-  Lisp_Object rest;
-
-  LIST_LOOP (rest, spec_list)
+  EXTERNAL_LIST_LOOP_2 (spec, spec_list)
     {
-      Lisp_Object spec, locale;
-      if (!CONSP (rest) || !CONSP (spec = XCAR (rest)))
+      Lisp_Object locale;
+      if (!CONSP (spec))
 	{
 	  maybe_sferror (
 				   "Invalid specification list", spec_list,