comparison src/fns.c @ 219:262b8bb4a523 r20-4b8

Import from CVS: tag r20-4b8
author cvs
date Mon, 13 Aug 2007 10:09:35 +0200
parents 78478c60bfcd
children 2c611d1463a6
comparison
equal deleted inserted replaced
218:c9f226976f56 219:262b8bb4a523
3289 SEQUENCE may be a list, a vector or a string. 3289 SEQUENCE may be a list, a vector or a string.
3290 */ 3290 */
3291 (fn, seq)) 3291 (fn, seq))
3292 { 3292 {
3293 int len = XINT (Flength (seq)); 3293 int len = XINT (Flength (seq));
3294 Lisp_Object *args = alloca_array (Lisp_Object, len); 3294 /* Ideally, this should call make_vector_internal, because we don't
3295 3295 need initialization. */
3296 mapcar1 (len, args, fn, seq); 3296 Lisp_Object result = make_vector (len, Qnil);
3297 3297 struct gcpro gcpro1;
3298 return Fvector (len, args); 3298
3299 GCPRO1 (result);
3300 mapcar1 (len, XVECTOR_DATA (result), fn, seq);
3301 UNGCPRO;
3302
3303 return result;
3299 } 3304 }
3300 3305
3301 DEFUN ("mapc", Fmapc, 2, 2, 0, /* 3306 DEFUN ("mapc", Fmapc, 2, 2, 0, /*
3302 Apply FUNCTION to each element of SEQUENCE. 3307 Apply FUNCTION to each element of SEQUENCE.
3303 SEQUENCE may be a list, a vector, a bit vector, or a string. 3308 SEQUENCE may be a list, a vector, a bit vector, or a string.