diff src/alloc.c @ 1737:68ed93de81b7

[xemacs-hg @ 2003-10-10 11:50:56 by stephent] E Benson bytecomp patch <87oewpmi1m.fsf_-_@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Fri, 10 Oct 2003 11:51:05 +0000
parents a8d8f419b459
children 9ddedfc70c4a
line wrap: on
line diff
--- a/src/alloc.c	Fri Oct 10 10:51:11 2003 +0000
+++ b/src/alloc.c	Fri Oct 10 11:51:05 2003 +0000
@@ -1505,6 +1505,7 @@
   f->instructions = Qzero;
   f->constants = Qzero;
   f->arglist = Qnil;
+  f->args = f->max_args = f->min_args = f->args_in_array = 0;
   f->doc_and_interactive = Qnil;
 #ifdef COMPILED_FUNCTION_ANNOTATION_HACK
   f->annotated = Qnil;
@@ -1559,48 +1560,6 @@
   }
   f->arglist = arglist;
 
-  {
-    int minargs = 0, maxargs = 0, totalargs = 0;
-    int optional_p = 0, rest_p = 0, i = 0;
-    {
-      LIST_LOOP_2 (arg, arglist)
-	{
-	  if (EQ (arg, Qand_optional))
-	    optional_p = 1;
-	  else if (EQ (arg, Qand_rest))
-	    rest_p = 1;
-	  else
-	    {
-	      if (rest_p)
-		{
-		  maxargs = MANY;
-		  totalargs++;
-		  break;
-		}
-	      if (!optional_p)
-		minargs++;
-	      maxargs++;
-	      totalargs++;
-	    }
-	}
-    }
-  
-    if (totalargs)
-      f->args = xnew_array (Lisp_Object, totalargs);
-
-    {
-      LIST_LOOP_2 (arg, arglist)
-	{
-	  if (!EQ (arg, Qand_optional) && !EQ (arg, Qand_rest))
-	    f->args[i++] = arg;
-	}
-    }
-
-    f->max_args = maxargs;
-    f->min_args = minargs;
-    f->args_in_array = totalargs;
-  }
-  
   /* `instructions' is a string or a cons (string . int) for a
      lazy-loaded function. */
   if (CONSP (instructions))