aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2004-06-22 13:57:00 +0000
committerKim F. Storm2004-06-22 13:57:00 +0000
commit7b4cd44a019f6dc8f6da54e23a1fbfb2354c721b (patch)
tree5f24c10af45e60e08c3cf1670f8beab3c3e37a1c
parentb766f87064147ba0feaa62de26ed8d1ed46ad96a (diff)
downloademacs-7b4cd44a019f6dc8f6da54e23a1fbfb2354c721b.tar.gz
emacs-7b4cd44a019f6dc8f6da54e23a1fbfb2354c721b.zip
(Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
SAFE_FREE_LISP macros.
-rw-r--r--src/fns.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/fns.c b/src/fns.c
index e5622bd717e..693f3eaaa93 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3000,7 +3000,6 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
3000 register Lisp_Object *args; 3000 register Lisp_Object *args;
3001 register int i; 3001 register int i;
3002 struct gcpro gcpro1; 3002 struct gcpro gcpro1;
3003 int nbytes;
3004 Lisp_Object ret; 3003 Lisp_Object ret;
3005 USE_SAFE_ALLOCA; 3004 USE_SAFE_ALLOCA;
3006 3005
@@ -3009,8 +3008,7 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
3009 nargs = leni + leni - 1; 3008 nargs = leni + leni - 1;
3010 if (nargs < 0) return build_string (""); 3009 if (nargs < 0) return build_string ("");
3011 3010
3012 nbytes = nargs * sizeof (Lisp_Object); 3011 SAFE_ALLOCA_LISP (args, nargs);
3013 SAFE_ALLOCA_LISP (args, nbytes);
3014 3012
3015 GCPRO1 (separator); 3013 GCPRO1 (separator);
3016 mapcar1 (leni, args, function, sequence); 3014 mapcar1 (leni, args, function, sequence);
@@ -3023,7 +3021,7 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
3023 args[i] = separator; 3021 args[i] = separator;
3024 3022
3025 ret = Fconcat (nargs, args); 3023 ret = Fconcat (nargs, args);
3026 SAFE_FREE (nbytes); 3024 SAFE_FREE_LISP (nargs);
3027 3025
3028 return ret; 3026 return ret;
3029} 3027}
@@ -3038,20 +3036,18 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
3038 register Lisp_Object len; 3036 register Lisp_Object len;
3039 register int leni; 3037 register int leni;
3040 register Lisp_Object *args; 3038 register Lisp_Object *args;
3041 int nbytes;
3042 Lisp_Object ret; 3039 Lisp_Object ret;
3043 USE_SAFE_ALLOCA; 3040 USE_SAFE_ALLOCA;
3044 3041
3045 len = Flength (sequence); 3042 len = Flength (sequence);
3046 leni = XFASTINT (len); 3043 leni = XFASTINT (len);
3047 3044
3048 nbytes = leni * sizeof (Lisp_Object); 3045 SAFE_ALLOCA_LISP (args, leni);
3049 SAFE_ALLOCA_LISP (args, nbytes);
3050 3046
3051 mapcar1 (leni, args, function, sequence); 3047 mapcar1 (leni, args, function, sequence);
3052 3048
3053 ret = Flist (leni, args); 3049 ret = Flist (leni, args);
3054 SAFE_FREE(nbytes); 3050 SAFE_FREE_LISP (leni);
3055 3051
3056 return ret; 3052 return ret;
3057} 3053}