Mercurial > emacs
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; |