Mercurial > emacs
comparison src/eval.c @ 41822:50b6bc7ee607
Use standard syntax for usage in docstrings.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 05 Dec 2001 01:39:21 +0000 |
parents | b28d5d866500 |
children | 680de0f18330 |
comparison
equal
deleted
inserted
replaced
41821:ad017e26a4db | 41822:50b6bc7ee607 |
---|---|
284 | 284 |
285 DEFUN ("or", For, Sor, 0, UNEVALLED, 0, | 285 DEFUN ("or", For, Sor, 0, UNEVALLED, 0, |
286 doc: /* Eval args until one of them yields non-nil, then return that value. | 286 doc: /* Eval args until one of them yields non-nil, then return that value. |
287 The remaining args are not evalled at all. | 287 The remaining args are not evalled at all. |
288 If all args return nil, return nil. | 288 If all args return nil, return nil. |
289 usage: (or CONDITIONS ...) */) | 289 usage: (or &rest CONDITIONS) */) |
290 (args) | 290 (args) |
291 Lisp_Object args; | 291 Lisp_Object args; |
292 { | 292 { |
293 register Lisp_Object val; | 293 register Lisp_Object val; |
294 Lisp_Object args_left; | 294 Lisp_Object args_left; |
315 | 315 |
316 DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, | 316 DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, |
317 doc: /* Eval args until one of them yields nil, then return nil. | 317 doc: /* Eval args until one of them yields nil, then return nil. |
318 The remaining args are not evalled at all. | 318 The remaining args are not evalled at all. |
319 If no arg yields nil, return the last arg's value. | 319 If no arg yields nil, return the last arg's value. |
320 usage: (and CONDITIONS ...) */) | 320 usage: (and &rest CONDITIONS) */) |
321 (args) | 321 (args) |
322 Lisp_Object args; | 322 Lisp_Object args; |
323 { | 323 { |
324 register Lisp_Object val; | 324 register Lisp_Object val; |
325 Lisp_Object args_left; | 325 Lisp_Object args_left; |
347 DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0, | 347 DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0, |
348 doc: /* If COND yields non-nil, do THEN, else do ELSE... | 348 doc: /* If COND yields non-nil, do THEN, else do ELSE... |
349 Returns the value of THEN or the value of the last of the ELSE's. | 349 Returns the value of THEN or the value of the last of the ELSE's. |
350 THEN must be one expression, but ELSE... can be zero or more expressions. | 350 THEN must be one expression, but ELSE... can be zero or more expressions. |
351 If COND yields nil, and there are no ELSE's, the value is nil. | 351 If COND yields nil, and there are no ELSE's, the value is nil. |
352 usage: (if COND THEN ELSE...) */) | 352 usage: (if COND THEN &rest ELSE) */) |
353 (args) | 353 (args) |
354 Lisp_Object args; | 354 Lisp_Object args; |
355 { | 355 { |
356 register Lisp_Object cond; | 356 register Lisp_Object cond; |
357 struct gcpro gcpro1; | 357 struct gcpro gcpro1; |
372 then the expressions in BODY are evaluated and the last one's | 372 then the expressions in BODY are evaluated and the last one's |
373 value is the value of the cond-form. | 373 value is the value of the cond-form. |
374 If no clause succeeds, cond returns nil. | 374 If no clause succeeds, cond returns nil. |
375 If a clause has one element, as in (CONDITION), | 375 If a clause has one element, as in (CONDITION), |
376 CONDITION's value if non-nil is returned from the cond-form. | 376 CONDITION's value if non-nil is returned from the cond-form. |
377 usage: (cond CLAUSES...) */) | 377 usage: (cond &rest CLAUSES) */) |
378 (args) | 378 (args) |
379 Lisp_Object args; | 379 Lisp_Object args; |
380 { | 380 { |
381 register Lisp_Object clause, val; | 381 register Lisp_Object clause, val; |
382 struct gcpro gcpro1; | 382 struct gcpro gcpro1; |
400 return val; | 400 return val; |
401 } | 401 } |
402 | 402 |
403 DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, | 403 DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, |
404 doc: /* Eval BODY forms sequentially and return value of last one. | 404 doc: /* Eval BODY forms sequentially and return value of last one. |
405 usage: (progn BODY ...) */) | 405 usage: (progn &rest BODY) */) |
406 (args) | 406 (args) |
407 Lisp_Object args; | 407 Lisp_Object args; |
408 { | 408 { |
409 register Lisp_Object val, tem; | 409 register Lisp_Object val, tem; |
410 Lisp_Object args_left; | 410 Lisp_Object args_left; |
441 | 441 |
442 DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0, | 442 DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0, |
443 doc: /* Eval FIRST and BODY sequentially; value from FIRST. | 443 doc: /* Eval FIRST and BODY sequentially; value from FIRST. |
444 The value of FIRST is saved during the evaluation of the remaining args, | 444 The value of FIRST is saved during the evaluation of the remaining args, |
445 whose values are discarded. | 445 whose values are discarded. |
446 usage: (prog1 FIRST BODY...) */) | 446 usage: (prog1 FIRST &rest BODY) */) |
447 (args) | 447 (args) |
448 Lisp_Object args; | 448 Lisp_Object args; |
449 { | 449 { |
450 Lisp_Object val; | 450 Lisp_Object val; |
451 register Lisp_Object args_left; | 451 register Lisp_Object args_left; |
475 | 475 |
476 DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0, | 476 DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0, |
477 doc: /* Eval X, Y and BODY sequentially; value from Y. | 477 doc: /* Eval X, Y and BODY sequentially; value from Y. |
478 The value of Y is saved during the evaluation of the remaining args, | 478 The value of Y is saved during the evaluation of the remaining args, |
479 whose values are discarded. | 479 whose values are discarded. |
480 usage: (prog2 X Y BODY...) */) | 480 usage: (prog2 X Y &rest BODY) */) |
481 (args) | 481 (args) |
482 Lisp_Object args; | 482 Lisp_Object args; |
483 { | 483 { |
484 Lisp_Object val; | 484 Lisp_Object val; |
485 register Lisp_Object args_left; | 485 register Lisp_Object args_left; |
635 | 635 |
636 DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0, | 636 DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0, |
637 doc: /* Define NAME as a function. | 637 doc: /* Define NAME as a function. |
638 The definition is (lambda ARGLIST [DOCSTRING] BODY...). | 638 The definition is (lambda ARGLIST [DOCSTRING] BODY...). |
639 See also the function `interactive'. | 639 See also the function `interactive'. |
640 usage: (defun NAME ARGLIST [DOCSTRING] BODY...) */) | 640 usage: (defun NAME ARGLIST &optional DOCSTRING &rest BODY) */) |
641 (args) | 641 (args) |
642 Lisp_Object args; | 642 Lisp_Object args; |
643 { | 643 { |
644 register Lisp_Object fn_name; | 644 register Lisp_Object fn_name; |
645 register Lisp_Object defn; | 645 register Lisp_Object defn; |
658 The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). | 658 The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). |
659 When the macro is called, as in (NAME ARGS...), | 659 When the macro is called, as in (NAME ARGS...), |
660 the function (lambda ARGLIST BODY...) is applied to | 660 the function (lambda ARGLIST BODY...) is applied to |
661 the list ARGS... as it appears in the expression, | 661 the list ARGS... as it appears in the expression, |
662 and the result should be a form to be evaluated instead of the original. | 662 and the result should be a form to be evaluated instead of the original. |
663 usage: (defmacro NAME ARGLIST [DOCSTRING] BODY...) */) | 663 usage: (defmacro NAME ARGLIST &optional DOCSTRING &rest BODY) */) |
664 (args) | 664 (args) |
665 Lisp_Object args; | 665 Lisp_Object args; |
666 { | 666 { |
667 register Lisp_Object fn_name; | 667 register Lisp_Object fn_name; |
668 register Lisp_Object defn; | 668 register Lisp_Object defn; |
758 The intent is that neither programs nor users should ever change this value. | 758 The intent is that neither programs nor users should ever change this value. |
759 Always sets the value of SYMBOL to the result of evalling INITVALUE. | 759 Always sets the value of SYMBOL to the result of evalling INITVALUE. |
760 If SYMBOL is buffer-local, its default value is what is set; | 760 If SYMBOL is buffer-local, its default value is what is set; |
761 buffer-local values are not affected. | 761 buffer-local values are not affected. |
762 DOCSTRING is optional. | 762 DOCSTRING is optional. |
763 usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) | 763 usage: (defconst SYMBOL INITVALUE &optional DOCSTRING) */) |
764 (args) | 764 (args) |
765 Lisp_Object args; | 765 Lisp_Object args; |
766 { | 766 { |
767 register Lisp_Object sym, tem; | 767 register Lisp_Object sym, tem; |
768 | 768 |
824 doc: /* Bind variables according to VARLIST then eval BODY. | 824 doc: /* Bind variables according to VARLIST then eval BODY. |
825 The value of the last form in BODY is returned. | 825 The value of the last form in BODY is returned. |
826 Each element of VARLIST is a symbol (which is bound to nil) | 826 Each element of VARLIST is a symbol (which is bound to nil) |
827 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). | 827 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). |
828 Each VALUEFORM can refer to the symbols already bound by this VARLIST. | 828 Each VALUEFORM can refer to the symbols already bound by this VARLIST. |
829 usage: (let* VARLIST BODY...) */) | 829 usage: (let* VARLIST &rest BODY) */) |
830 (args) | 830 (args) |
831 Lisp_Object args; | 831 Lisp_Object args; |
832 { | 832 { |
833 Lisp_Object varlist, val, elt; | 833 Lisp_Object varlist, val, elt; |
834 int count = specpdl_ptr - specpdl; | 834 int count = specpdl_ptr - specpdl; |
863 doc: /* Bind variables according to VARLIST then eval BODY. | 863 doc: /* Bind variables according to VARLIST then eval BODY. |
864 The value of the last form in BODY is returned. | 864 The value of the last form in BODY is returned. |
865 Each element of VARLIST is a symbol (which is bound to nil) | 865 Each element of VARLIST is a symbol (which is bound to nil) |
866 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). | 866 or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). |
867 All the VALUEFORMs are evalled before any symbols are bound. | 867 All the VALUEFORMs are evalled before any symbols are bound. |
868 usage: (let VARLIST BODY...) */) | 868 usage: (let VARLIST &rest BODY) */) |
869 (args) | 869 (args) |
870 Lisp_Object args; | 870 Lisp_Object args; |
871 { | 871 { |
872 Lisp_Object *temps, tem; | 872 Lisp_Object *temps, tem; |
873 register Lisp_Object elt, varlist; | 873 register Lisp_Object elt, varlist; |
919 | 919 |
920 DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0, | 920 DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0, |
921 doc: /* If TEST yields non-nil, eval BODY... and repeat. | 921 doc: /* If TEST yields non-nil, eval BODY... and repeat. |
922 The order of execution is thus TEST, BODY, TEST, BODY and so on | 922 The order of execution is thus TEST, BODY, TEST, BODY and so on |
923 until TEST returns nil. | 923 until TEST returns nil. |
924 usage: (while TEST BODY...) */) | 924 usage: (while TEST &rest BODY) */) |
925 (args) | 925 (args) |
926 Lisp_Object args; | 926 Lisp_Object args; |
927 { | 927 { |
928 Lisp_Object test, body, tem; | 928 Lisp_Object test, body, tem; |
929 struct gcpro gcpro1, gcpro2; | 929 struct gcpro gcpro1, gcpro2; |
1028 | 1028 |
1029 Then the BODY is executed. | 1029 Then the BODY is executed. |
1030 Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'. | 1030 Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'. |
1031 If no throw happens, `catch' returns the value of the last BODY form. | 1031 If no throw happens, `catch' returns the value of the last BODY form. |
1032 If a throw happens, it specifies the value to return from `catch'. | 1032 If a throw happens, it specifies the value to return from `catch'. |
1033 usage: (catch TAG BODY...) */) | 1033 usage: (catch TAG &rest BODY) */) |
1034 (args) | 1034 (args) |
1035 Lisp_Object args; | 1035 Lisp_Object args; |
1036 { | 1036 { |
1037 register Lisp_Object tag; | 1037 register Lisp_Object tag; |
1038 struct gcpro gcpro1; | 1038 struct gcpro gcpro1; |
1157 DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0, | 1157 DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0, |
1158 doc: /* Do BODYFORM, protecting with UNWINDFORMS. | 1158 doc: /* Do BODYFORM, protecting with UNWINDFORMS. |
1159 If BODYFORM completes normally, its value is returned | 1159 If BODYFORM completes normally, its value is returned |
1160 after executing the UNWINDFORMS. | 1160 after executing the UNWINDFORMS. |
1161 If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway. | 1161 If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway. |
1162 usage: (unwind-protect BODYFORM UNWINDFORMS...) */) | 1162 usage: (unwind-protect BODYFORM &rest UNWINDFORMS) */) |
1163 (args) | 1163 (args) |
1164 Lisp_Object args; | 1164 Lisp_Object args; |
1165 { | 1165 { |
1166 Lisp_Object val; | 1166 Lisp_Object val; |
1167 int count = specpdl_ptr - specpdl; | 1167 int count = specpdl_ptr - specpdl; |
1197 with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA). | 1197 with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA). |
1198 VAR may be nil; then you do not get access to the signal information. | 1198 VAR may be nil; then you do not get access to the signal information. |
1199 | 1199 |
1200 The value of the last BODY form is returned from the condition-case. | 1200 The value of the last BODY form is returned from the condition-case. |
1201 See also the function `signal' for more info. | 1201 See also the function `signal' for more info. |
1202 usage: (condition-case VAR BODYFORM HANDLERS...) */) | 1202 usage: (condition-case VAR BODYFORM &rest HANDLERS) */) |
1203 (args) | 1203 (args) |
1204 Lisp_Object args; | 1204 Lisp_Object args; |
1205 { | 1205 { |
1206 Lisp_Object val; | 1206 Lisp_Object val; |
1207 struct catchtag c; | 1207 struct catchtag c; |