diff src/fns.c @ 173:8eaf7971accc r20-3b13

Import from CVS: tag r20-3b13
author cvs
date Mon, 13 Aug 2007 09:49:09 +0200
parents 15872534500d
children 2d532a89d707
line wrap: on
line diff
--- a/src/fns.c	Mon Aug 13 09:47:55 2007 +0200
+++ b/src/fns.c	Mon Aug 13 09:49:09 2007 +0200
@@ -176,7 +176,7 @@
   else
     {
       struct Lisp_Compiled_Function *b = XCOMPILED_FUNCTION (seq);
-      
+
       return (b->flags.interactivep ? COMPILED_INTERACTIVE :
 	      b->flags.domainp      ? COMPILED_DOMAIN :
 	      COMPILED_DOC_STRING)
@@ -208,7 +208,7 @@
   if (STRINGP (obj))
     return make_int (string_char_length (XSTRING (obj)));
   else if (VECTORP (obj))
-    return make_int (vector_length (XVECTOR (obj)));
+    return make_int (XVECTOR_LENGTH (obj));
   else if (BIT_VECTORP (obj))
     return make_int (bit_vector_length (XBIT_VECTOR (obj)));
   else if (CONSP (obj))
@@ -219,11 +219,11 @@
 	  tail = Fcdr (tail);
 	}
 
-      return (make_int (i));
+      return make_int (i);
     }
   else if (NILP (obj))
     {
-      return (Qzero);
+      return Qzero;
     }
   else
     {
@@ -369,7 +369,7 @@
 #endif /* not I18N2, or MULE */
     /* Can't do i < len2 because then comparison between "foo" and "foo^@"
        won't work right in I18N2 case */
-    return ((end < len2) ? Qt : Qnil);
+    return end < len2 ? Qt : Qnil;
   }
 }
 
@@ -610,7 +610,7 @@
           check_losing_bytecode ("concat", seq);
           args[argnum] = wrong_type_argument (Qsequencep, seq);
 	}
-      
+
       if (args_mse)
         {
           if (STRINGP (seq))
@@ -722,7 +722,7 @@
 		  INC_CHARPTR (string_source_ptr);
 		}
 	      else if (VECTORP (seq))
-                elt = vector_data (XVECTOR (seq))[thisindex];
+                elt = XVECTOR_DATA (seq)[thisindex];
 	      else if (BIT_VECTORP (seq))
 		elt = make_int (bit_vector_bit (XBIT_VECTOR (seq),
 						thisindex));
@@ -740,7 +740,7 @@
 	      tail = XCDR (tail);
 	    }
 	  else if (VECTORP (val))
-	    vector_data (XVECTOR (val))[toindex++] = elt;
+	    XVECTOR_DATA (val)[toindex++] = elt;
 	  else if (BIT_VECTORP (val))
 	    {
 	      CHECK_BIT (elt);
@@ -778,7 +778,7 @@
   if (!NILP (prev))
     XCDR (prev) = last_tail;
 
-  RETURN_UNGCPRO (val);  
+  RETURN_UNGCPRO (val);
 }
 
 DEFUN ("copy-alist", Fcopy_alist, 1, 1, 0, /*
@@ -834,15 +834,15 @@
     }
   else if (VECTORP (arg) && ! NILP (vecp))
     {
-      int i = vector_length (XVECTOR (arg));
+      int i = XVECTOR_LENGTH (arg);
       int j;
       arg = Fcopy_sequence (arg);
       for (j = 0; j < i; j++)
 	{
-	  Lisp_Object elt = vector_data (XVECTOR (arg)) [j];
+	  Lisp_Object elt = XVECTOR_DATA (arg) [j];
 	  QUIT;
 	  if (CONSP (elt) || VECTORP (elt))
-	    vector_data (XVECTOR (arg)) [j] = Fcopy_tree (elt, vecp);
+	    XVECTOR_DATA (arg) [j] = Fcopy_tree (elt, vecp);
 	}
     }
   return arg;
@@ -870,7 +870,7 @@
   val = make_string (XSTRING_DATA (string) + bfr, bto - bfr);
   /* Copy any applicable extent information into the new string: */
   copy_string_extents (val, string, 0, bfr, bto - bfr);
-  return (val);
+  return val;
 }
 
 DEFUN ("subseq", Fsubseq, 2, 3, 0, /*
@@ -898,7 +898,7 @@
       check_losing_bytecode ("subseq", seq);
       seq = wrong_type_argument (Qsequencep, seq);
     }
-  
+
   len = XINT (Flength (seq));
   CHECK_INT (from);
   f = XINT (from);
@@ -913,7 +913,7 @@
       if (t < 0)
 	t = len + t;
     }
-  
+
   if (!(0 <= f && f <= t && t <= len))
     args_out_of_range_3 (seq, make_int (f), make_int (t));
 
@@ -921,8 +921,8 @@
     {
       Lisp_Object result = make_vector (t - f, Qnil);
       int i;
-      Lisp_Object *in_elts = vector_data (XVECTOR (seq));
-      Lisp_Object *out_elts = vector_data (XVECTOR (result));
+      Lisp_Object *in_elts  = XVECTOR_DATA (seq);
+      Lisp_Object *out_elts = XVECTOR_DATA (result);
 
       for (i = f; i < t; i++)
 	out_elts[i - f] = in_elts[i];
@@ -998,7 +998,7 @@
        * #### sequences, and does error- (bounds-) checking.
        */
       if (CONSP (tem))
-	return (XCAR (tem));
+	return XCAR (tem);
       else
 #if 1
 	/* This is The Way It Has Always Been. */
@@ -1011,7 +1011,7 @@
   else if (STRINGP (seq)
            || VECTORP (seq)
            || BIT_VECTORP (seq))
-    return (Faref (seq, n));
+    return Faref (seq, n);
 #ifdef LOSING_BYTECODE
   else if (COMPILED_FUNCTIONP (seq))
     {
@@ -1027,20 +1027,20 @@
         switch (idx)
           {
           case COMPILED_ARGLIST:
-            return (b->arglist);
+            return b->arglist;
           case COMPILED_BYTECODE:
-            return (b->bytecodes);
+            return b->bytecodes;
           case COMPILED_CONSTANTS:
-            return (b->constants);
+            return b->constants;
           case COMPILED_STACK_DEPTH:
-            return (make_int (b->maxdepth));
+            return make_int (b->maxdepth);
           case COMPILED_DOC_STRING:
-	    return (compiled_function_documentation (b));
+	    return compiled_function_documentation (b);
           case COMPILED_DOMAIN:
-	    return (compiled_function_domain (b));
+	    return compiled_function_domain (b);
           case COMPILED_INTERACTIVE:
 	    if (b->flags.interactivep)
-	      return (compiled_function_interactive (b));
+	      return compiled_function_interactive (b);
 	    /* if we return nil, can't tell interactive with no args
 	       from noninteractive. */
 	    goto lose;
@@ -1747,14 +1747,14 @@
   return new;
 }
 
-static Lisp_Object list_merge (Lisp_Object org_l1, Lisp_Object org_l2, 
-                               Lisp_Object lisp_arg, 
+static Lisp_Object list_merge (Lisp_Object org_l1, Lisp_Object org_l2,
+                               Lisp_Object lisp_arg,
                                int (*pred_fn) (Lisp_Object, Lisp_Object,
                                                Lisp_Object lisp_arg));
 
 Lisp_Object
 list_sort (Lisp_Object list,
-           Lisp_Object lisp_arg, 
+           Lisp_Object lisp_arg,
            int (*pred_fn) (Lisp_Object, Lisp_Object,
                            Lisp_Object lisp_arg))
 {
@@ -1783,7 +1783,7 @@
 
 
 static int
-merge_pred_function (Lisp_Object obj1, Lisp_Object obj2, 
+merge_pred_function (Lisp_Object obj1, Lisp_Object obj2,
                      Lisp_Object pred)
 {
   Lisp_Object tmp;
@@ -1798,7 +1798,7 @@
   tmp = call2 (pred, obj1, obj2);
   unbind_to (speccount, Qnil);
 
-  if (NILP (tmp)) 
+  if (NILP (tmp))
     return -1;
   else
     return 1;
@@ -1816,7 +1816,7 @@
 }
 
 Lisp_Object
-merge (Lisp_Object org_l1, Lisp_Object org_l2, 
+merge (Lisp_Object org_l1, Lisp_Object org_l2,
        Lisp_Object pred)
 {
   return list_merge (org_l1, org_l2, pred, merge_pred_function);
@@ -1824,8 +1824,8 @@
 
 
 static Lisp_Object
-list_merge (Lisp_Object org_l1, Lisp_Object org_l2, 
-            Lisp_Object lisp_arg, 
+list_merge (Lisp_Object org_l1, Lisp_Object org_l2,
+            Lisp_Object lisp_arg,
             int (*pred_fn) (Lisp_Object, Lisp_Object, Lisp_Object lisp_arg))
 {
   Lisp_Object value;
@@ -1842,7 +1842,7 @@
   /* It is sufficient to protect org_l1 and org_l2.
      When l1 and l2 are updated, we copy the new values
      back into the org_ vars.  */
-  
+
   GCPRO4 (org_l1, org_l2, lisp_arg, value);
 
   while (1)
@@ -1897,7 +1897,7 @@
    NIL_MEANS_NOT_PRESENT is as in `plists-eq' etc.
    LAXP means use `equal' for comparisons.
  */
-int 
+int
 plists_differ (Lisp_Object a, Lisp_Object b, int nil_means_not_present,
 	       int laxp, int depth)
 {
@@ -2072,7 +2072,7 @@
 		    Lisp_Object value)
 {
   Lisp_Object tail = *plist;
-  
+
   for (; !NILP (tail); tail = XCDR (XCDR (tail)))
     {
       struct Lisp_Cons *c = XCONS (tail);
@@ -2185,7 +2185,7 @@
   /* Note that our "fixing" may be more brutal than necessary,
      but it's the user's own problem, not ours. if they went in and
      manually fucked up a plist. */
-  
+
   for (i = 0; i < 2; i++)
     {
       /* This is a standard iteration of a defensive-loop-checking
@@ -2354,11 +2354,11 @@
 corresponding to the given PROP, or DEFAULT if PROP is not
 one of the properties on the list.
 */
-       (plist, prop, defalt))           /* Cant spel in C */
+       (plist, prop, default_))
 {
   Lisp_Object val = external_plist_get (&plist, prop, 0, ERROR_ME);
   if (UNBOUNDP (val))
-    return defalt;
+    return default_;
   return val;
 }
 
@@ -2422,7 +2422,7 @@
 
   return Qnil;
 }
-  
+
 DEFUN ("valid-plist-p", Fvalid_plist_p, 1, 1, 0, /*
 Given a plist, return non-nil if its format is correct.
 If it returns nil, `check-valid-plist' will signal an error when given
@@ -2500,11 +2500,11 @@
 corresponding to the given PROP, or DEFAULT if PROP is not one of the
 properties on the list.
 */
-       (lax_plist, prop, defalt))           /* Cant spel in C */
+       (lax_plist, prop, default_))
 {
   Lisp_Object val = external_plist_get (&lax_plist, prop, 1, ERROR_ME);
   if (UNBOUNDP (val))
-    return defalt;
+    return default_;
   return val;
 }
 
@@ -2628,12 +2628,12 @@
    invalid property list structure */
 
 static Lisp_Object
-symbol_getprop (Lisp_Object sym, Lisp_Object propname, Lisp_Object defalt)
+symbol_getprop (Lisp_Object sym, Lisp_Object propname, Lisp_Object default_)
 {
   Lisp_Object val = external_plist_get (&XSYMBOL (sym)->plist, propname,
 					0, ERROR_ME);
   if (UNBOUNDP (val))
-    return defalt;
+    return default_;
   return val;
 }
 
@@ -2672,12 +2672,12 @@
 
 Lisp_Object
 string_getprop (struct Lisp_String *s, Lisp_Object property,
-		Lisp_Object defalt)
+		Lisp_Object default_)
 {
   Lisp_Object val = external_plist_get (string_plist_ptr (s), property, 0,
 					ERROR_ME);
   if (UNBOUNDP (val))
-    return defalt;
+    return default_;
   return val;
 }
 
@@ -2704,22 +2704,22 @@
 Return the value of OBJECT's PROPNAME property.
 This is the last VALUE stored with `(put OBJECT PROPNAME VALUE)'.
 If there is no such property, return optional third arg DEFAULT
-(which defaults to `nil').  OBJECT can be a symbol, face, extent,
+\(which defaults to `nil').  OBJECT can be a symbol, face, extent,
 or string.  See also `put', `remprop', and `object-plist'.
 */
-(object, propname, defalt))           /* Cant spel in C */
+       (object, propname, default_))
 {
   Lisp_Object val;
 
   /* Various places in emacs call Fget() and expect it not to quit,
      so don't quit. */
-  
+
   /* It's easiest to treat symbols specially because they may not
      be an lrecord */
   if (SYMBOLP (object))
-    val = symbol_getprop (object, propname, defalt);
+    val = symbol_getprop (object, propname, default_);
   else if (STRINGP (object))
-    val = string_getprop (XSTRING (object), propname, defalt);
+    val = string_getprop (XSTRING (object), propname, default_);
   else if (LRECORDP (object))
     {
       CONST struct lrecord_implementation
@@ -2728,7 +2728,7 @@
 	{
 	  val = (imp->getprop) (object, propname);
 	  if (UNBOUNDP (val))
-	    val = defalt;
+	    val = default_;
 	}
       else
 	goto noprops;
@@ -2869,7 +2869,7 @@
   if (EQ_WITH_EBOLA_NOTICE (o1, o2))
     return 1;
   /* Note that (equal 20 20.0) should be nil */
-  else if (XTYPE (o1) != XTYPE (o2)) 
+  else if (XTYPE (o1) != XTYPE (o2))
     return 0;
   else if (CONSP (o1))
     {
@@ -2883,15 +2883,15 @@
 #ifndef LRECORD_VECTOR
   else if (VECTORP (o1))
     {
-      int indecks;
-      int len = vector_length (XVECTOR (o1));
-      if (len != vector_length (XVECTOR (o2)))
+      int indice;
+      int len = XVECTOR_LENGTH (o1);
+      if (len != XVECTOR_LENGTH (o2))
 	return 0;
-      for (indecks = 0; indecks < len; indecks++)
+      for (indice = 0; indice < len; indice++)
 	{
 	  Lisp_Object v1, v2;
-	  v1 = vector_data (XVECTOR (o1)) [indecks];
-	  v2 = vector_data (XVECTOR (o2)) [indecks];
+	  v1 = XVECTOR_DATA (o1) [indice];
+	  v2 = XVECTOR_DATA (o2) [indice];
 	  if (!internal_equal (v1, v2, depth + 1))
             return 0;
 	}
@@ -2939,7 +2939,7 @@
   if (HACKEQ_UNSAFE (o1, o2))
     return 1;
   /* Note that (equal 20 20.0) should be nil */
-  else if (XTYPE (o1) != XTYPE (o2)) 
+  else if (XTYPE (o1) != XTYPE (o2))
     return 0;
   else if (CONSP (o1))
     {
@@ -2953,16 +2953,15 @@
 #ifndef LRECORD_VECTOR
   else if (VECTORP (o1))
     {
-      int indecks;
-      int len = vector_length (XVECTOR (o1));
-      if (len != vector_length (XVECTOR (o2)))
+      int indice;
+      int len = XVECTOR_LENGTH (o1);
+      if (len != XVECTOR_LENGTH (o2))
 	return 0;
-      for (indecks = 0; indecks < len; indecks++)
+      for (indice = 0; indice < len; indice++)
 	{
-	  Lisp_Object v1, v2;
-	  v1 = vector_data (XVECTOR (o1)) [indecks];
-	  v2 = vector_data (XVECTOR (o2)) [indecks];
-	  if (!internal_old_equal (v1, v2, depth + 1))
+	  if (!internal_old_equal (XVECTOR_DATA (o1) [indice],
+				   XVECTOR_DATA (o2) [indice],
+				   depth + 1))
             return 0;
 	}
       return 1;
@@ -2988,7 +2987,7 @@
 	/* EQ-ness of the objects was noticed above */
 	return 0;
       else
-	return ((imp1->equal) (o1, o2, depth));
+	return (imp1->equal) (o1, o2, depth);
     }
 
   return 0;
@@ -3030,7 +3029,7 @@
  retry:
   if (STRINGP (array))
     {
-      Charcount size;
+      Charcount len;
       Charcount i;
       Emchar charval;
       struct Lisp_String *s;
@@ -3038,32 +3037,32 @@
       CHECK_IMPURE (array);
       charval = XCHAR (item);
       s = XSTRING (array);
-      size = string_char_length (s);
-      for (i = 0; i < size; i++)
+      len = string_char_length (s);
+      for (i = 0; i < len; i++)
 	set_string_char (s, i, charval);
       bump_string_modiff (array);
     }
   else if (VECTORP (array))
     {
       Lisp_Object *p;
-      int size;
+      int len;
       int i;
       CHECK_IMPURE (array);
-      size = vector_length (XVECTOR (array));
-      p = vector_data (XVECTOR (array));
-      for (i = 0; i < size; i++)
+      len = XVECTOR_LENGTH (array);
+      p = XVECTOR_DATA (array);
+      for (i = 0; i < len; i++)
 	p[i] = item;
     }
   else if (BIT_VECTORP (array))
     {
       struct Lisp_Bit_Vector *v;
-      int size;
+      int len;
       int i;
       CHECK_BIT (item);
       CHECK_IMPURE (array);
       v = XBIT_VECTOR (array);
-      size = bit_vector_length (v);
-      for (i = 0; i < size; i++)
+      len = bit_vector_length (v);
+      for (i = 0; i < len; i++)
 	set_bit_vector_bit (v, i, XINT (item));
     }
   else
@@ -3100,9 +3099,11 @@
      callers out by protecting the args ourselves to save them
      a lot of temporary-variable grief. */
 
+ again:
+
   GCPRO1 (args[0]);
   gcpro1.nvars = nargs;
-	 
+
   val = Qnil;
 
   for (argnum = 0; argnum < nargs; argnum++)
@@ -3116,7 +3117,10 @@
       if (argnum + 1 == nargs) break;
 
       if (!CONSP (tem))
-	tem = wrong_type_argument (Qlistp, tem);
+	{
+	  tem = wrong_type_argument (Qlistp, tem);
+	  goto again;
+	}
 
       while (CONSP (tem))
 	{
@@ -3170,7 +3174,7 @@
     {
       for (i = 0; i < leni; i++)
 	{
-	  dummy = vector_data (XVECTOR (seq))[i];
+	  dummy = XVECTOR_DATA (seq)[i];
 	  result = call1 (fn, dummy);
 	  if (vals)
 	    vals[i] = result;
@@ -3235,7 +3239,7 @@
 
   for (i = len - 1; i >= 0; i--)
     args[i + i] = args[i];
-      
+
   for (i = 1; i < nargs; i += 2)
     args[i] = sep;
 
@@ -3358,7 +3362,7 @@
 	  featurep_emacs_version = XINT (Vemacs_major_version) +
 	    (XINT (Vemacs_minor_version) / 100.0);
 	}
-      return (featurep_emacs_version >= d) ? Qt : Qnil;
+      return featurep_emacs_version >= d ? Qt : Qnil;
     }
   else if (CONSP(fexp))
     {