comparison src/fns.c @ 4693:80cd90837ac5

Add argument information to remaining MANY or UNEVALLED C subrs. src/ChangeLog addition: 2009-09-20 Aidan Kehoe <kehoea@parhasard.net> * alloc.c (Flist): (Fvector): (Fbit_vector): (Fmake_byte_code): (Fstring): * data.c (Feqlsign): (Flss): (Fgtr): (Fleq): (Fgeq): (Fneq): (Fgtr): (Fplus): (Fminus): (Ftimes): (Fdiv): (Fquo): (Fmax): (Fmin): (Flogand): (Flogior): (Flogxor): * editfns.c (Fsave_excursion): (Fsave_current_buffer): (Fencode_time): (Finsert): (Finsert_before_markers): (Fsave_restriction): (Fformat): * elhash.c (Fmake_hash_table): * eval.c (Fdefun): (Fdefmacro): (Fcatch): (Funwind_protect): (Fcall_with_condition_handler): (Ffuncall): (Fapply): (Frun_hooks): * fns.c (Fappend): (Fconcat): (Fvconcat): (Fbvconcat): (Fnconc): * print.c (Fwith_output_to_temp_buffer): * process.c (Fstart_process_internal): * window.c (Fsave_window_excursion): * widget.c (Fwidget_apply): Add argument information, in a form understood by #'function-arglist, to all these MANY or UNEVALLED (that is to say, special-operator) built-in functions.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 20 Sep 2009 21:29:00 +0100
parents 1c2a46ea1f78
children c45fdd4e1858 e0db3c197671
comparison
equal deleted inserted replaced
4692:dc3c2f298857 4693:80cd90837ac5
501 Concatenate all the arguments and make the result a list. 501 Concatenate all the arguments and make the result a list.
502 The result is a list whose elements are the elements of all the arguments. 502 The result is a list whose elements are the elements of all the arguments.
503 Each argument may be a list, vector, bit vector, or string. 503 Each argument may be a list, vector, bit vector, or string.
504 The last argument is not copied, just used as the tail of the new list. 504 The last argument is not copied, just used as the tail of the new list.
505 Also see: `nconc'. 505 Also see: `nconc'.
506
507 arguments: (&rest ARGS)
506 */ 508 */
507 (int nargs, Lisp_Object *args)) 509 (int nargs, Lisp_Object *args))
508 { 510 {
509 return concat (nargs, args, c_cons, 1); 511 return concat (nargs, args, c_cons, 1);
510 } 512 }
516 518
517 As of XEmacs 21.0, this function does NOT accept individual integers 519 As of XEmacs 21.0, this function does NOT accept individual integers
518 as arguments. Old code that relies on, for example, (concat "foo" 50) 520 as arguments. Old code that relies on, for example, (concat "foo" 50)
519 returning "foo50" will fail. To fix such code, either apply 521 returning "foo50" will fail. To fix such code, either apply
520 `int-to-string' to the integer argument, or use `format'. 522 `int-to-string' to the integer argument, or use `format'.
523
524 arguments: (&rest ARGS)
521 */ 525 */
522 (int nargs, Lisp_Object *args)) 526 (int nargs, Lisp_Object *args))
523 { 527 {
524 return concat (nargs, args, c_string, 0); 528 return concat (nargs, args, c_string, 0);
525 } 529 }
526 530
527 DEFUN ("vconcat", Fvconcat, 0, MANY, 0, /* 531 DEFUN ("vconcat", Fvconcat, 0, MANY, 0, /*
528 Concatenate all the arguments and make the result a vector. 532 Concatenate all the arguments and make the result a vector.
529 The result is a vector whose elements are the elements of all the arguments. 533 The result is a vector whose elements are the elements of all the arguments.
530 Each argument may be a list, vector, bit vector, or string. 534 Each argument may be a list, vector, bit vector, or string.
535
536 arguments: (&rest ARGS)
531 */ 537 */
532 (int nargs, Lisp_Object *args)) 538 (int nargs, Lisp_Object *args))
533 { 539 {
534 return concat (nargs, args, c_vector, 0); 540 return concat (nargs, args, c_vector, 0);
535 } 541 }
536 542
537 DEFUN ("bvconcat", Fbvconcat, 0, MANY, 0, /* 543 DEFUN ("bvconcat", Fbvconcat, 0, MANY, 0, /*
538 Concatenate all the arguments and make the result a bit vector. 544 Concatenate all the arguments and make the result a bit vector.
539 The result is a bit vector whose elements are the elements of all the 545 The result is a bit vector whose elements are the elements of all the
540 arguments. Each argument may be a list, vector, bit vector, or string. 546 arguments. Each argument may be a list, vector, bit vector, or string.
547
548 arguments: (&rest ARGS)
541 */ 549 */
542 (int nargs, Lisp_Object *args)) 550 (int nargs, Lisp_Object *args))
543 { 551 {
544 return concat (nargs, args, c_bit_vector, 0); 552 return concat (nargs, args, c_bit_vector, 0);
545 } 553 }
3062 Only the last argument is not altered, and need not be a list. 3070 Only the last argument is not altered, and need not be a list.
3063 Also see: `append'. 3071 Also see: `append'.
3064 If the first argument is nil, there is no way to modify it by side 3072 If the first argument is nil, there is no way to modify it by side
3065 effect; therefore, write `(setq foo (nconc foo list))' to be sure of 3073 effect; therefore, write `(setq foo (nconc foo list))' to be sure of
3066 changing the value of `foo'. 3074 changing the value of `foo'.
3075
3076 arguments: (&rest ARGS)
3067 */ 3077 */
3068 (int nargs, Lisp_Object *args)) 3078 (int nargs, Lisp_Object *args))
3069 { 3079 {
3070 int argnum = 0; 3080 int argnum = 0;
3071 struct gcpro gcpro1; 3081 struct gcpro gcpro1;