comparison src/eval.c @ 40141:3bb2c22854a2

(Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_failure) (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif, Fcond) (Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun, Fdefmacro) (Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect) (Fcondition_case): Add usage: string to doc string.
author Miles Bader <miles@gnu.org>
date Sun, 21 Oct 2001 15:22:49 +0000
parents 399441e11340
children 5ffb57fd759e
comparison
equal deleted inserted replaced
40140:9bf80d5fff41 40141:3bb2c22854a2
286 The definition of `For' shows what you have to do. */ 286 The definition of `For' shows what you have to do. */
287 287
288 DEFUN ("or", For, Sor, 0, UNEVALLED, 0, 288 DEFUN ("or", For, Sor, 0, UNEVALLED, 0,
289 "Eval args until one of them yields non-nil, then return that value.\n\ 289 "Eval args until one of them yields non-nil, then return that value.\n\
290 The remaining args are not evalled at all.\n\ 290 The remaining args are not evalled at all.\n\
291 If all args return nil, return nil.") 291 If all args return nil, return nil.\n\
292 usage: (or CONDITIONS ...)")
292 (args) 293 (args)
293 Lisp_Object args; 294 Lisp_Object args;
294 { 295 {
295 register Lisp_Object val; 296 register Lisp_Object val;
296 Lisp_Object args_left; 297 Lisp_Object args_left;
316 } 317 }
317 318
318 DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, 319 DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0,
319 "Eval args until one of them yields nil, then return nil.\n\ 320 "Eval args until one of them yields nil, then return nil.\n\
320 The remaining args are not evalled at all.\n\ 321 The remaining args are not evalled at all.\n\
321 If no arg yields nil, return the last arg's value.") 322 If no arg yields nil, return the last arg's value.\n\
323 usage: (and CONDITIONS ...)")
322 (args) 324 (args)
323 Lisp_Object args; 325 Lisp_Object args;
324 { 326 {
325 register Lisp_Object val; 327 register Lisp_Object val;
326 Lisp_Object args_left; 328 Lisp_Object args_left;
347 349
348 DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0, 350 DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0,
349 "If COND yields non-nil, do THEN, else do ELSE...\n\ 351 "If COND yields non-nil, do THEN, else do ELSE...\n\
350 Returns the value of THEN or the value of the last of the ELSE's.\n\ 352 Returns the value of THEN or the value of the last of the ELSE's.\n\
351 THEN must be one expression, but ELSE... can be zero or more expressions.\n\ 353 THEN must be one expression, but ELSE... can be zero or more expressions.\n\
352 If COND yields nil, and there are no ELSE's, the value is nil.") 354 If COND yields nil, and there are no ELSE's, the value is nil.\n\
355 usage: (if COND THEN ELSE...)")
353 (args) 356 (args)
354 Lisp_Object args; 357 Lisp_Object args;
355 { 358 {
356 register Lisp_Object cond; 359 register Lisp_Object cond;
357 struct gcpro gcpro1; 360 struct gcpro gcpro1;
371 and, if the value is non-nil, this clause succeeds:\n\ 374 and, if the value is non-nil, this clause succeeds:\n\
372 then the expressions in BODY are evaluated and the last one's\n\ 375 then the expressions in BODY are evaluated and the last one's\n\
373 value is the value of the cond-form.\n\ 376 value is the value of the cond-form.\n\
374 If no clause succeeds, cond returns nil.\n\ 377 If no clause succeeds, cond returns nil.\n\
375 If a clause has one element, as in (CONDITION),\n\ 378 If a clause has one element, as in (CONDITION),\n\
376 CONDITION's value if non-nil is returned from the cond-form.") 379 CONDITION's value if non-nil is returned from the cond-form.\n\
380 usage: (cond CLAUSES...)")
377 (args) 381 (args)
378 Lisp_Object args; 382 Lisp_Object args;
379 { 383 {
380 register Lisp_Object clause, val; 384 register Lisp_Object clause, val;
381 struct gcpro gcpro1; 385 struct gcpro gcpro1;
398 402
399 return val; 403 return val;
400 } 404 }
401 405
402 DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, 406 DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0,
403 "Eval BODY forms sequentially and return value of last one.") 407 "Eval BODY forms sequentially and return value of last one.\n\
408 usage: (progn BODY ...)")
404 (args) 409 (args)
405 Lisp_Object args; 410 Lisp_Object args;
406 { 411 {
407 register Lisp_Object val, tem; 412 register Lisp_Object val, tem;
408 Lisp_Object args_left; 413 Lisp_Object args_left;
438 } 443 }
439 444
440 DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0, 445 DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0,
441 "Eval FIRST and BODY sequentially; value from FIRST.\n\ 446 "Eval FIRST and BODY sequentially; value from FIRST.\n\
442 The value of FIRST is saved during the evaluation of the remaining args,\n\ 447 The value of FIRST is saved during the evaluation of the remaining args,\n\
443 whose values are discarded.") 448 whose values are discarded.\n\
449 usage: (prog1 FIRST BODY...)")
444 (args) 450 (args)
445 Lisp_Object args; 451 Lisp_Object args;
446 { 452 {
447 Lisp_Object val; 453 Lisp_Object val;
448 register Lisp_Object args_left; 454 register Lisp_Object args_left;
471 } 477 }
472 478
473 DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0, 479 DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0,
474 "Eval X, Y and BODY sequentially; value from Y.\n\ 480 "Eval X, Y and BODY sequentially; value from Y.\n\
475 The value of Y is saved during the evaluation of the remaining args,\n\ 481 The value of Y is saved during the evaluation of the remaining args,\n\
476 whose values are discarded.") 482 whose values are discarded.\n\
483 usage: (prog2 X Y BODY...)")
477 (args) 484 (args)
478 Lisp_Object args; 485 Lisp_Object args;
479 { 486 {
480 Lisp_Object val; 487 Lisp_Object val;
481 register Lisp_Object args_left; 488 register Lisp_Object args_left;
510 The symbols SYM are variables; they are literal (not evaluated).\n\ 517 The symbols SYM are variables; they are literal (not evaluated).\n\
511 The values VAL are expressions; they are evaluated.\n\ 518 The values VAL are expressions; they are evaluated.\n\
512 Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.\n\ 519 Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.\n\
513 The second VAL is not computed until after the first SYM is set, and so on;\n\ 520 The second VAL is not computed until after the first SYM is set, and so on;\n\
514 each VAL can use the new value of variables set earlier in the `setq'.\n\ 521 each VAL can use the new value of variables set earlier in the `setq'.\n\
515 The return value of the `setq' form is the value of the last VAL.") 522 The return value of the `setq' form is the value of the last VAL.\n\
523 usage: (setq SYM VAL SYM VAL ...)")
516 (args) 524 (args)
517 Lisp_Object args; 525 Lisp_Object args;
518 { 526 {
519 register Lisp_Object args_left; 527 register Lisp_Object args_left;
520 register Lisp_Object val, sym; 528 register Lisp_Object val, sym;
538 UNGCPRO; 546 UNGCPRO;
539 return val; 547 return val;
540 } 548 }
541 549
542 DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0, 550 DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0,
543 "Return the argument, without evaluating it. `(quote x)' yields `x'.") 551 "Return the argument, without evaluating it. `(quote x)' yields `x'.\n\
552 usage: (quote ARG)")
544 (args) 553 (args)
545 Lisp_Object args; 554 Lisp_Object args;
546 { 555 {
547 return Fcar (args); 556 return Fcar (args);
548 } 557 }
549 558
550 DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0, 559 DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0,
551 "Like `quote', but preferred for objects which are functions.\n\ 560 "Like `quote', but preferred for objects which are functions.\n\
552 In byte compilation, `function' causes its argument to be compiled.\n\ 561 In byte compilation, `function' causes its argument to be compiled.\n\
553 `quote' cannot do that.") 562 `quote' cannot do that.\n\
563 usage: (function ARG)")
554 (args) 564 (args)
555 Lisp_Object args; 565 Lisp_Object args;
556 { 566 {
557 return Fcar (args); 567 return Fcar (args);
558 } 568 }
627 637
628 638
629 DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0, 639 DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0,
630 "Define NAME as a function.\n\ 640 "Define NAME as a function.\n\
631 The definition is (lambda ARGLIST [DOCSTRING] BODY...).\n\ 641 The definition is (lambda ARGLIST [DOCSTRING] BODY...).\n\
632 See also the function `interactive'.") 642 See also the function `interactive'.\n\
643 usage: (defun NAME ARGLIST [DOCSTRING] BODY...)")
633 (args) 644 (args)
634 Lisp_Object args; 645 Lisp_Object args;
635 { 646 {
636 register Lisp_Object fn_name; 647 register Lisp_Object fn_name;
637 register Lisp_Object defn; 648 register Lisp_Object defn;
649 "Define NAME as a macro.\n\ 660 "Define NAME as a macro.\n\
650 The definition is (macro lambda ARGLIST [DOCSTRING] BODY...).\n\ 661 The definition is (macro lambda ARGLIST [DOCSTRING] BODY...).\n\
651 When the macro is called, as in (NAME ARGS...),\n\ 662 When the macro is called, as in (NAME ARGS...),\n\
652 the function (lambda ARGLIST BODY...) is applied to\n\ 663 the function (lambda ARGLIST BODY...) is applied to\n\
653 the list ARGS... as it appears in the expression,\n\ 664 the list ARGS... as it appears in the expression,\n\
654 and the result should be a form to be evaluated instead of the original.") 665 and the result should be a form to be evaluated instead of the original.\n\
666 usage: (defmacro NAME ARGLIST [DOCSTRING] BODY...)")
655 (args) 667 (args)
656 Lisp_Object args; 668 Lisp_Object args;
657 { 669 {
658 register Lisp_Object fn_name; 670 register Lisp_Object fn_name;
659 register Lisp_Object defn; 671 register Lisp_Object defn;
704 buffer-local values are not affected.\n\ 716 buffer-local values are not affected.\n\
705 INITVALUE and DOCSTRING are optional.\n\ 717 INITVALUE and DOCSTRING are optional.\n\
706 If DOCSTRING starts with *, this variable is identified as a user option.\n\ 718 If DOCSTRING starts with *, this variable is identified as a user option.\n\
707 This means that M-x set-variable recognizes it.\n\ 719 This means that M-x set-variable recognizes it.\n\
708 See also `user-variable-p'.\n\ 720 See also `user-variable-p'.\n\
709 If INITVALUE is missing, SYMBOL's value is not set.") 721 If INITVALUE is missing, SYMBOL's value is not set.\n\
722 usage: (defvar SYMBOL [INITVALUE DOCSTRING])")
710 (args) 723 (args)
711 Lisp_Object args; 724 Lisp_Object args;
712 { 725 {
713 register Lisp_Object sym, tem, tail; 726 register Lisp_Object sym, tem, tail;
714 727
746 "Define SYMBOL as a constant variable.\n\ 759 "Define SYMBOL as a constant variable.\n\
747 The intent is that neither programs nor users should ever change this value.\n\ 760 The intent is that neither programs nor users should ever change this value.\n\
748 Always sets the value of SYMBOL to the result of evalling INITVALUE.\n\ 761 Always sets the value of SYMBOL to the result of evalling INITVALUE.\n\
749 If SYMBOL is buffer-local, its default value is what is set;\n\ 762 If SYMBOL is buffer-local, its default value is what is set;\n\
750 buffer-local values are not affected.\n\ 763 buffer-local values are not affected.\n\
751 DOCSTRING is optional.") 764 DOCSTRING is optional.\n\
765 usage: (defconst SYMBOL INITVALUE [DOCSTRING])")
752 (args) 766 (args)
753 Lisp_Object args; 767 Lisp_Object args;
754 { 768 {
755 register Lisp_Object sym, tem; 769 register Lisp_Object sym, tem;
756 770
811 DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0, 825 DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0,
812 "Bind variables according to VARLIST then eval BODY.\n\ 826 "Bind variables according to VARLIST then eval BODY.\n\
813 The value of the last form in BODY is returned.\n\ 827 The value of the last form in BODY is returned.\n\
814 Each element of VARLIST is a symbol (which is bound to nil)\n\ 828 Each element of VARLIST is a symbol (which is bound to nil)\n\
815 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\ 829 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\
816 Each VALUEFORM can refer to the symbols already bound by this VARLIST.") 830 Each VALUEFORM can refer to the symbols already bound by this VARLIST.\n\
831 usage: (let* VARLIST BODY...)")
817 (args) 832 (args)
818 Lisp_Object args; 833 Lisp_Object args;
819 { 834 {
820 Lisp_Object varlist, val, elt; 835 Lisp_Object varlist, val, elt;
821 int count = specpdl_ptr - specpdl; 836 int count = specpdl_ptr - specpdl;
849 DEFUN ("let", Flet, Slet, 1, UNEVALLED, 0, 864 DEFUN ("let", Flet, Slet, 1, UNEVALLED, 0,
850 "Bind variables according to VARLIST then eval BODY.\n\ 865 "Bind variables according to VARLIST then eval BODY.\n\
851 The value of the last form in BODY is returned.\n\ 866 The value of the last form in BODY is returned.\n\
852 Each element of VARLIST is a symbol (which is bound to nil)\n\ 867 Each element of VARLIST is a symbol (which is bound to nil)\n\
853 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\ 868 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\
854 All the VALUEFORMs are evalled before any symbols are bound.") 869 All the VALUEFORMs are evalled before any symbols are bound.\n\
870 usage: (let VARLIST BODY...)")
855 (args) 871 (args)
856 Lisp_Object args; 872 Lisp_Object args;
857 { 873 {
858 Lisp_Object *temps, tem; 874 Lisp_Object *temps, tem;
859 register Lisp_Object elt, varlist; 875 register Lisp_Object elt, varlist;
904 } 920 }
905 921
906 DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0, 922 DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0,
907 "If TEST yields non-nil, eval BODY... and repeat.\n\ 923 "If TEST yields non-nil, eval BODY... and repeat.\n\
908 The order of execution is thus TEST, BODY, TEST, BODY and so on\n\ 924 The order of execution is thus TEST, BODY, TEST, BODY and so on\n\
909 until TEST returns nil.") 925 until TEST returns nil.\n\
926 usage: (while TEST BODY...)")
910 (args) 927 (args)
911 Lisp_Object args; 928 Lisp_Object args;
912 { 929 {
913 Lisp_Object test, body, tem; 930 Lisp_Object test, body, tem;
914 struct gcpro gcpro1, gcpro2; 931 struct gcpro gcpro1, gcpro2;
1011 TAG is evalled to get the tag to use; it must not be nil.\n\ 1028 TAG is evalled to get the tag to use; it must not be nil.\n\
1012 \n\ 1029 \n\
1013 Then the BODY is executed.\n\ 1030 Then the BODY is executed.\n\
1014 Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'.\n\ 1031 Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'.\n\
1015 If no throw happens, `catch' returns the value of the last BODY form.\n\ 1032 If no throw happens, `catch' returns the value of the last BODY form.\n\
1016 If a throw happens, it specifies the value to return from `catch'.") 1033 If a throw happens, it specifies the value to return from `catch'.\n\
1034 usage: (catch TAG BODY...)")
1017 (args) 1035 (args)
1018 Lisp_Object args; 1036 Lisp_Object args;
1019 { 1037 {
1020 register Lisp_Object tag; 1038 register Lisp_Object tag;
1021 struct gcpro gcpro1; 1039 struct gcpro gcpro1;
1139 1157
1140 DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0, 1158 DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0,
1141 "Do BODYFORM, protecting with UNWINDFORMS.\n\ 1159 "Do BODYFORM, protecting with UNWINDFORMS.\n\
1142 If BODYFORM completes normally, its value is returned\n\ 1160 If BODYFORM completes normally, its value is returned\n\
1143 after executing the UNWINDFORMS.\n\ 1161 after executing the UNWINDFORMS.\n\
1144 If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway.") 1162 If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway.\n\
1163 usage: (unwind-protect BODYFORM UNWINDFORMS...)")
1145 (args) 1164 (args)
1146 Lisp_Object args; 1165 Lisp_Object args;
1147 { 1166 {
1148 Lisp_Object val; 1167 Lisp_Object val;
1149 int count = specpdl_ptr - specpdl; 1168 int count = specpdl_ptr - specpdl;
1177 control returns to the condition-case and the handler BODY... is executed\n\ 1196 control returns to the condition-case and the handler BODY... is executed\n\
1178 with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA).\n\ 1197 with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA).\n\
1179 VAR may be nil; then you do not get access to the signal information.\n\ 1198 VAR may be nil; then you do not get access to the signal information.\n\
1180 \n\ 1199 \n\
1181 The value of the last BODY form is returned from the condition-case.\n\ 1200 The value of the last BODY form is returned from the condition-case.\n\
1182 See also the function `signal' for more info.") 1201 See also the function `signal' for more info.\n\
1202 usage: (condition-case VAR BODYFORM HANDLERS...)")
1183 (args) 1203 (args)
1184 Lisp_Object args; 1204 Lisp_Object args;
1185 { 1205 {
1186 Lisp_Object val; 1206 Lisp_Object val;
1187 struct catchtag c; 1207 struct catchtag c;
2117 } 2137 }
2118 2138
2119 DEFUN ("apply", Fapply, Sapply, 2, MANY, 0, 2139 DEFUN ("apply", Fapply, Sapply, 2, MANY, 0,
2120 "Call FUNCTION with our remaining args, using our last arg as list of args.\n\ 2140 "Call FUNCTION with our remaining args, using our last arg as list of args.\n\
2121 Then return the value FUNCTION returns.\n\ 2141 Then return the value FUNCTION returns.\n\
2122 Thus, (apply '+ 1 2 '(3 4)) returns 10.") 2142 Thus, (apply '+ 1 2 '(3 4)) returns 10.\n\
2143 usage: (apply FUNCTION &rest ARGUMENTS)")
2123 (nargs, args) 2144 (nargs, args)
2124 int nargs; 2145 int nargs;
2125 Lisp_Object *args; 2146 Lisp_Object *args;
2126 { 2147 {
2127 register int i, numargs; 2148 register int i, numargs;
2208 or a list of functions to be called to run the hook.\n\ 2229 or a list of functions to be called to run the hook.\n\
2209 If the value is a function, it is called with no arguments.\n\ 2230 If the value is a function, it is called with no arguments.\n\
2210 If it is a list, the elements are called, in order, with no arguments.\n\ 2231 If it is a list, the elements are called, in order, with no arguments.\n\
2211 \n\ 2232 \n\
2212 To make a hook variable buffer-local, use `make-local-hook',\n\ 2233 To make a hook variable buffer-local, use `make-local-hook',\n\
2213 not `make-local-variable'.") 2234 not `make-local-variable'.\n\
2235 usage: (run-hooks &rest HOOKS)")
2214 (nargs, args) 2236 (nargs, args)
2215 int nargs; 2237 int nargs;
2216 Lisp_Object *args; 2238 Lisp_Object *args;
2217 { 2239 {
2218 Lisp_Object hook[1]; 2240 Lisp_Object hook[1];
2238 with the given arguments ARGS.\n\ 2260 with the given arguments ARGS.\n\
2239 It is best not to depend on the value return by `run-hook-with-args',\n\ 2261 It is best not to depend on the value return by `run-hook-with-args',\n\
2240 as that may change.\n\ 2262 as that may change.\n\
2241 \n\ 2263 \n\
2242 To make a hook variable buffer-local, use `make-local-hook',\n\ 2264 To make a hook variable buffer-local, use `make-local-hook',\n\
2243 not `make-local-variable'.") 2265 not `make-local-variable'.\n\
2266 usage: (run-hook-with-args HOOK &rest ARGS)")
2244 (nargs, args) 2267 (nargs, args)
2245 int nargs; 2268 int nargs;
2246 Lisp_Object *args; 2269 Lisp_Object *args;
2247 { 2270 {
2248 return run_hook_with_args (nargs, args, to_completion); 2271 return run_hook_with_args (nargs, args, to_completion);
2256 passing arguments ARGS to each of them, until one of them\n\ 2279 passing arguments ARGS to each of them, until one of them\n\
2257 returns a non-nil value. Then we return that value.\n\ 2280 returns a non-nil value. Then we return that value.\n\
2258 If all the functions return nil, we return nil.\n\ 2281 If all the functions return nil, we return nil.\n\
2259 \n\ 2282 \n\
2260 To make a hook variable buffer-local, use `make-local-hook',\n\ 2283 To make a hook variable buffer-local, use `make-local-hook',\n\
2261 not `make-local-variable'.") 2284 not `make-local-variable'.\n\
2285 usage: (run-hook-with-args-until-success HOOK &rest ARGS)")
2262 (nargs, args) 2286 (nargs, args)
2263 int nargs; 2287 int nargs;
2264 Lisp_Object *args; 2288 Lisp_Object *args;
2265 { 2289 {
2266 return run_hook_with_args (nargs, args, until_success); 2290 return run_hook_with_args (nargs, args, until_success);
2274 passing arguments ARGS to each of them, until one of them\n\ 2298 passing arguments ARGS to each of them, until one of them\n\
2275 returns nil. Then we return nil.\n\ 2299 returns nil. Then we return nil.\n\
2276 If all the functions return non-nil, we return non-nil.\n\ 2300 If all the functions return non-nil, we return non-nil.\n\
2277 \n\ 2301 \n\
2278 To make a hook variable buffer-local, use `make-local-hook',\n\ 2302 To make a hook variable buffer-local, use `make-local-hook',\n\
2279 not `make-local-variable'.") 2303 not `make-local-variable'.\n\
2304 usage: (run-hook-with-args-until-failure HOOK &rest ARGS)")
2280 (nargs, args) 2305 (nargs, args)
2281 int nargs; 2306 int nargs;
2282 Lisp_Object *args; 2307 Lisp_Object *args;
2283 { 2308 {
2284 return run_hook_with_args (nargs, args, until_failure); 2309 return run_hook_with_args (nargs, args, until_failure);
2601 } 2626 }
2602 2627
2603 DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, 2628 DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
2604 "Call first argument as a function, passing remaining arguments to it.\n\ 2629 "Call first argument as a function, passing remaining arguments to it.\n\
2605 Return the value that function returns.\n\ 2630 Return the value that function returns.\n\
2606 Thus, (funcall 'cons 'x 'y) returns (x . y).") 2631 Thus, (funcall 'cons 'x 'y) returns (x . y).\n\
2632 usage: (funcall FUNCTION &rest ARGUMENTS)")
2607 (nargs, args) 2633 (nargs, args)
2608 int nargs; 2634 int nargs;
2609 Lisp_Object *args; 2635 Lisp_Object *args;
2610 { 2636 {
2611 Lisp_Object fun; 2637 Lisp_Object fun;