286 |
The definition of `For' shows what you have to do. */ |
The definition of `For' shows what you have to do. */ |
287 |
|
|
288 |
DEFUN ("or", For, Sor, 0, UNEVALLED, 0, |
DEFUN ("or", For, Sor, 0, UNEVALLED, 0, |
289 |
"Eval args until one of them yields non-nil, then return that value.\n\ |
doc: /* Eval args until one of them yields non-nil, then return that value. |
290 |
The remaining args are not evalled at all.\n\ |
The remaining args are not evalled at all. |
291 |
If all args return nil, return nil.\n\ |
If all args return nil, return nil. |
292 |
usage: (or CONDITIONS ...)") |
usage: (or CONDITIONS ...) */) |
293 |
(args) |
(args) |
294 |
Lisp_Object args; |
Lisp_Object args; |
295 |
{ |
{ |
296 |
register Lisp_Object val; |
register Lisp_Object val; |
317 |
} |
} |
318 |
|
|
319 |
DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, |
DEFUN ("and", Fand, Sand, 0, UNEVALLED, 0, |
320 |
"Eval args until one of them yields nil, then return nil.\n\ |
doc: /* Eval args until one of them yields nil, then return nil. |
321 |
The remaining args are not evalled at all.\n\ |
The remaining args are not evalled at all. |
322 |
If no arg yields nil, return the last arg's value.\n\ |
If no arg yields nil, return the last arg's value. |
323 |
usage: (and CONDITIONS ...)") |
usage: (and CONDITIONS ...) */) |
324 |
(args) |
(args) |
325 |
Lisp_Object args; |
Lisp_Object args; |
326 |
{ |
{ |
327 |
register Lisp_Object val; |
register Lisp_Object val; |
348 |
} |
} |
349 |
|
|
350 |
DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0, |
DEFUN ("if", Fif, Sif, 2, UNEVALLED, 0, |
351 |
"If COND yields non-nil, do THEN, else do ELSE...\n\ |
doc: /* If COND yields non-nil, do THEN, else do ELSE... |
352 |
Returns the value of THEN or the value of the last of the ELSE's.\n\ |
Returns the value of THEN or the value of the last of the ELSE's. |
353 |
THEN must be one expression, but ELSE... can be zero or more expressions.\n\ |
THEN must be one expression, but ELSE... can be zero or more expressions. |
354 |
If COND yields nil, and there are no ELSE's, the value is nil.\n\ |
If COND yields nil, and there are no ELSE's, the value is nil. |
355 |
usage: (if COND THEN ELSE...)") |
usage: (if COND THEN ELSE...) */) |
356 |
(args) |
(args) |
357 |
Lisp_Object args; |
Lisp_Object args; |
358 |
{ |
{ |
359 |
register Lisp_Object cond; |
register Lisp_Object cond; |
369 |
} |
} |
370 |
|
|
371 |
DEFUN ("cond", Fcond, Scond, 0, UNEVALLED, 0, |
DEFUN ("cond", Fcond, Scond, 0, UNEVALLED, 0, |
372 |
"Try each clause until one succeeds.\n\ |
doc: /* Try each clause until one succeeds. |
373 |
Each clause looks like (CONDITION BODY...). CONDITION is evaluated\n\ |
Each clause looks like (CONDITION BODY...). CONDITION is evaluated |
374 |
and, if the value is non-nil, this clause succeeds:\n\ |
and, if the value is non-nil, this clause succeeds: |
375 |
then the expressions in BODY are evaluated and the last one's\n\ |
then the expressions in BODY are evaluated and the last one's |
376 |
value is the value of the cond-form.\n\ |
value is the value of the cond-form. |
377 |
If no clause succeeds, cond returns nil.\n\ |
If no clause succeeds, cond returns nil. |
378 |
If a clause has one element, as in (CONDITION),\n\ |
If a clause has one element, as in (CONDITION), |
379 |
CONDITION's value if non-nil is returned from the cond-form.\n\ |
CONDITION's value if non-nil is returned from the cond-form. |
380 |
usage: (cond CLAUSES...)") |
usage: (cond CLAUSES...) */) |
381 |
(args) |
(args) |
382 |
Lisp_Object args; |
Lisp_Object args; |
383 |
{ |
{ |
384 |
register Lisp_Object clause, val; |
register Lisp_Object clause, val; |
404 |
} |
} |
405 |
|
|
406 |
DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, |
DEFUN ("progn", Fprogn, Sprogn, 0, UNEVALLED, 0, |
407 |
"Eval BODY forms sequentially and return value of last one.\n\ |
doc: /* Eval BODY forms sequentially and return value of last one. |
408 |
usage: (progn BODY ...)") |
usage: (progn BODY ...) */) |
409 |
(args) |
(args) |
410 |
Lisp_Object args; |
Lisp_Object args; |
411 |
{ |
{ |
412 |
register Lisp_Object val, tem; |
register Lisp_Object val, tem; |
443 |
} |
} |
444 |
|
|
445 |
DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0, |
DEFUN ("prog1", Fprog1, Sprog1, 1, UNEVALLED, 0, |
446 |
"Eval FIRST and BODY sequentially; value from FIRST.\n\ |
doc: /* Eval FIRST and BODY sequentially; value from FIRST. |
447 |
The value of FIRST is saved during the evaluation of the remaining args,\n\ |
The value of FIRST is saved during the evaluation of the remaining args, |
448 |
whose values are discarded.\n\ |
whose values are discarded. |
449 |
usage: (prog1 FIRST BODY...)") |
usage: (prog1 FIRST BODY...) */) |
450 |
(args) |
(args) |
451 |
Lisp_Object args; |
Lisp_Object args; |
452 |
{ |
{ |
453 |
Lisp_Object val; |
Lisp_Object val; |
477 |
} |
} |
478 |
|
|
479 |
DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0, |
DEFUN ("prog2", Fprog2, Sprog2, 2, UNEVALLED, 0, |
480 |
"Eval X, Y and BODY sequentially; value from Y.\n\ |
doc: /* Eval X, Y and BODY sequentially; value from Y. |
481 |
The value of Y is saved during the evaluation of the remaining args,\n\ |
The value of Y is saved during the evaluation of the remaining args, |
482 |
whose values are discarded.\n\ |
whose values are discarded. |
483 |
usage: (prog2 X Y BODY...)") |
usage: (prog2 X Y BODY...) */) |
484 |
(args) |
(args) |
485 |
Lisp_Object args; |
Lisp_Object args; |
486 |
{ |
{ |
487 |
Lisp_Object val; |
Lisp_Object val; |
513 |
} |
} |
514 |
|
|
515 |
DEFUN ("setq", Fsetq, Ssetq, 0, UNEVALLED, 0, |
DEFUN ("setq", Fsetq, Ssetq, 0, UNEVALLED, 0, |
516 |
"Set each SYM to the value of its VAL.\n\ |
doc: /* Set each SYM to the value of its VAL. |
517 |
The symbols SYM are variables; they are literal (not evaluated).\n\ |
The symbols SYM are variables; they are literal (not evaluated). |
518 |
The values VAL are expressions; they are evaluated.\n\ |
The values VAL are expressions; they are evaluated. |
519 |
Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.\n\ |
Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'. |
520 |
The second VAL is not computed until after the first SYM is set, and so on;\n\ |
The second VAL is not computed until after the first SYM is set, and so on; |
521 |
each VAL can use the new value of variables set earlier in the `setq'.\n\ |
each VAL can use the new value of variables set earlier in the `setq'. |
522 |
The return value of the `setq' form is the value of the last VAL.\n\ |
The return value of the `setq' form is the value of the last VAL. |
523 |
usage: (setq SYM VAL SYM VAL ...)") |
usage: (setq SYM VAL SYM VAL ...) */) |
524 |
(args) |
(args) |
525 |
Lisp_Object args; |
Lisp_Object args; |
526 |
{ |
{ |
527 |
register Lisp_Object args_left; |
register Lisp_Object args_left; |
548 |
} |
} |
549 |
|
|
550 |
DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0, |
DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0, |
551 |
"Return the argument, without evaluating it. `(quote x)' yields `x'.\n\ |
doc: /* Return the argument, without evaluating it. `(quote x)' yields `x'. |
552 |
usage: (quote ARG)") |
usage: (quote ARG) */) |
553 |
(args) |
(args) |
554 |
Lisp_Object args; |
Lisp_Object args; |
555 |
{ |
{ |
556 |
return Fcar (args); |
return Fcar (args); |
557 |
} |
} |
558 |
|
|
559 |
DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0, |
DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0, |
560 |
"Like `quote', but preferred for objects which are functions.\n\ |
doc: /* Like `quote', but preferred for objects which are functions. |
561 |
In byte compilation, `function' causes its argument to be compiled.\n\ |
In byte compilation, `function' causes its argument to be compiled. |
562 |
`quote' cannot do that.\n\ |
`quote' cannot do that. |
563 |
usage: (function ARG)") |
usage: (function ARG) */) |
564 |
(args) |
(args) |
565 |
Lisp_Object args; |
Lisp_Object args; |
566 |
{ |
{ |
567 |
return Fcar (args); |
return Fcar (args); |
569 |
|
|
570 |
|
|
571 |
DEFUN ("interactive-p", Finteractive_p, Sinteractive_p, 0, 0, 0, |
DEFUN ("interactive-p", Finteractive_p, Sinteractive_p, 0, 0, 0, |
572 |
"Return t if function in which this appears was called interactively.\n\ |
doc: /* Return t if function in which this appears was called interactively. |
573 |
This means that the function was called with call-interactively (which\n\ |
This means that the function was called with call-interactively (which |
574 |
includes being called as the binding of a key)\n\ |
includes being called as the binding of a key) |
575 |
and input is currently coming from the keyboard (not in keyboard macro).") |
and input is currently coming from the keyboard (not in keyboard macro). */) |
576 |
() |
() |
577 |
{ |
{ |
578 |
return interactive_p (1) ? Qt : Qnil; |
return interactive_p (1) ? Qt : Qnil; |
579 |
} |
} |
637 |
|
|
638 |
|
|
639 |
DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0, |
DEFUN ("defun", Fdefun, Sdefun, 2, UNEVALLED, 0, |
640 |
"Define NAME as a function.\n\ |
doc: /* Define NAME as a function. |
641 |
The definition is (lambda ARGLIST [DOCSTRING] BODY...).\n\ |
The definition is (lambda ARGLIST [DOCSTRING] BODY...). |
642 |
See also the function `interactive'.\n\ |
See also the function `interactive'. |
643 |
usage: (defun NAME ARGLIST [DOCSTRING] BODY...)") |
usage: (defun NAME ARGLIST [DOCSTRING] BODY...) */) |
644 |
(args) |
(args) |
645 |
Lisp_Object args; |
Lisp_Object args; |
646 |
{ |
{ |
647 |
register Lisp_Object fn_name; |
register Lisp_Object fn_name; |
657 |
} |
} |
658 |
|
|
659 |
DEFUN ("defmacro", Fdefmacro, Sdefmacro, 2, UNEVALLED, 0, |
DEFUN ("defmacro", Fdefmacro, Sdefmacro, 2, UNEVALLED, 0, |
660 |
"Define NAME as a macro.\n\ |
doc: /* Define NAME as a macro. |
661 |
The definition is (macro lambda ARGLIST [DOCSTRING] BODY...).\n\ |
The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). |
662 |
When the macro is called, as in (NAME ARGS...),\n\ |
When the macro is called, as in (NAME ARGS...), |
663 |
the function (lambda ARGLIST BODY...) is applied to\n\ |
the function (lambda ARGLIST BODY...) is applied to |
664 |
the list ARGS... as it appears in the expression,\n\ |
the list ARGS... as it appears in the expression, |
665 |
and the result should be a form to be evaluated instead of the original.\n\ |
and the result should be a form to be evaluated instead of the original. |
666 |
usage: (defmacro NAME ARGLIST [DOCSTRING] BODY...)") |
usage: (defmacro NAME ARGLIST [DOCSTRING] BODY...) */) |
667 |
(args) |
(args) |
668 |
Lisp_Object args; |
Lisp_Object args; |
669 |
{ |
{ |
670 |
register Lisp_Object fn_name; |
register Lisp_Object fn_name; |
681 |
|
|
682 |
|
|
683 |
DEFUN ("defvaralias", Fdefvaralias, Sdefvaralias, 2, 2, 0, |
DEFUN ("defvaralias", Fdefvaralias, Sdefvaralias, 2, 2, 0, |
684 |
"Make SYMBOL a variable alias for symbol ALIASED.\n\ |
doc: /* Make SYMBOL a variable alias for symbol ALIASED. |
685 |
Setting the value of SYMBOL will subsequently set the value of ALIASED,\n\ |
Setting the value of SYMBOL will subsequently set the value of ALIASED, |
686 |
and getting the value of SYMBOL will return the value ALIASED has.\n\ |
and getting the value of SYMBOL will return the value ALIASED has. |
687 |
ALIASED nil means remove the alias; SYMBOL is unbound after that.") |
ALIASED nil means remove the alias; SYMBOL is unbound after that. */) |
688 |
(symbol, aliased) |
(symbol, aliased) |
689 |
Lisp_Object symbol, aliased; |
Lisp_Object symbol, aliased; |
690 |
{ |
{ |
691 |
struct Lisp_Symbol *sym; |
struct Lisp_Symbol *sym; |
707 |
|
|
708 |
|
|
709 |
DEFUN ("defvar", Fdefvar, Sdefvar, 1, UNEVALLED, 0, |
DEFUN ("defvar", Fdefvar, Sdefvar, 1, UNEVALLED, 0, |
710 |
"Define SYMBOL as a variable.\n\ |
doc: /* Define SYMBOL as a variable. |
711 |
You are not required to define a variable in order to use it,\n\ |
You are not required to define a variable in order to use it, |
712 |
but the definition can supply documentation and an initial value\n\ |
but the definition can supply documentation and an initial value |
713 |
in a way that tags can recognize.\n\n\ |
in a way that tags can recognize. |
714 |
INITVALUE is evaluated, and used to set SYMBOL, only if SYMBOL's value is void.\n\ |
|
715 |
If SYMBOL is buffer-local, its default value is what is set;\n\ |
INITVALUE is evaluated, and used to set SYMBOL, only if SYMBOL's value is void. |
716 |
buffer-local values are not affected.\n\ |
If SYMBOL is buffer-local, its default value is what is set; |
717 |
INITVALUE and DOCSTRING are optional.\n\ |
buffer-local values are not affected. |
718 |
If DOCSTRING starts with *, this variable is identified as a user option.\n\ |
INITVALUE and DOCSTRING are optional. |
719 |
This means that M-x set-variable recognizes it.\n\ |
If DOCSTRING starts with *, this variable is identified as a user option. |
720 |
See also `user-variable-p'.\n\ |
This means that M-x set-variable recognizes it. |
721 |
If INITVALUE is missing, SYMBOL's value is not set.\n\ |
See also `user-variable-p'. |
722 |
usage: (defvar SYMBOL [INITVALUE DOCSTRING])") |
If INITVALUE is missing, SYMBOL's value is not set. |
723 |
(args) |
usage: (defvar SYMBOL [INITVALUE DOCSTRING]) */) |
724 |
|
(args) |
725 |
Lisp_Object args; |
Lisp_Object args; |
726 |
{ |
{ |
727 |
register Lisp_Object sym, tem, tail; |
register Lisp_Object sym, tem, tail; |
757 |
} |
} |
758 |
|
|
759 |
DEFUN ("defconst", Fdefconst, Sdefconst, 2, UNEVALLED, 0, |
DEFUN ("defconst", Fdefconst, Sdefconst, 2, UNEVALLED, 0, |
760 |
"Define SYMBOL as a constant variable.\n\ |
doc: /* Define SYMBOL as a constant variable. |
761 |
The intent is that neither programs nor users should ever change this value.\n\ |
The intent is that neither programs nor users should ever change this value. |
762 |
Always sets the value of SYMBOL to the result of evalling INITVALUE.\n\ |
Always sets the value of SYMBOL to the result of evalling INITVALUE. |
763 |
If SYMBOL is buffer-local, its default value is what is set;\n\ |
If SYMBOL is buffer-local, its default value is what is set; |
764 |
buffer-local values are not affected.\n\ |
buffer-local values are not affected. |
765 |
DOCSTRING is optional.\n\ |
DOCSTRING is optional. |
766 |
usage: (defconst SYMBOL INITVALUE [DOCSTRING])") |
usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) |
767 |
(args) |
(args) |
768 |
Lisp_Object args; |
Lisp_Object args; |
769 |
{ |
{ |
770 |
register Lisp_Object sym, tem; |
register Lisp_Object sym, tem; |
789 |
} |
} |
790 |
|
|
791 |
DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, |
DEFUN ("user-variable-p", Fuser_variable_p, Suser_variable_p, 1, 1, 0, |
792 |
"Returns t if VARIABLE is intended to be set and modified by users.\n\ |
doc: /* Returns t if VARIABLE is intended to be set and modified by users. |
793 |
\(The alternative is a variable used internally in a Lisp program.)\n\ |
\(The alternative is a variable used internally in a Lisp program.) |
794 |
Determined by whether the first character of the documentation\n\ |
Determined by whether the first character of the documentation |
795 |
for the variable is `*' or if the variable is customizable (has a non-nil\n\ |
for the variable is `*' or if the variable is customizable (has a non-nil |
796 |
value of any of `custom-type', `custom-loads' or `standard-value'\n\ |
value of any of `custom-type', `custom-loads' or `standard-value' |
797 |
on its property list).") |
on its property list). */) |
798 |
(variable) |
(variable) |
799 |
Lisp_Object variable; |
Lisp_Object variable; |
800 |
{ |
{ |
801 |
Lisp_Object documentation; |
Lisp_Object documentation; |
824 |
} |
} |
825 |
|
|
826 |
DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0, |
DEFUN ("let*", FletX, SletX, 1, UNEVALLED, 0, |
827 |
"Bind variables according to VARLIST then eval BODY.\n\ |
doc: /* Bind variables according to VARLIST then eval BODY. |
828 |
The value of the last form in BODY is returned.\n\ |
The value of the last form in BODY is returned. |
829 |
Each element of VARLIST is a symbol (which is bound to nil)\n\ |
Each element of VARLIST is a symbol (which is bound to nil) |
830 |
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\ |
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). |
831 |
Each VALUEFORM can refer to the symbols already bound by this VARLIST.\n\ |
Each VALUEFORM can refer to the symbols already bound by this VARLIST. |
832 |
usage: (let* VARLIST BODY...)") |
usage: (let* VARLIST BODY...) */) |
833 |
(args) |
(args) |
834 |
Lisp_Object args; |
Lisp_Object args; |
835 |
{ |
{ |
836 |
Lisp_Object varlist, val, elt; |
Lisp_Object varlist, val, elt; |
863 |
} |
} |
864 |
|
|
865 |
DEFUN ("let", Flet, Slet, 1, UNEVALLED, 0, |
DEFUN ("let", Flet, Slet, 1, UNEVALLED, 0, |
866 |
"Bind variables according to VARLIST then eval BODY.\n\ |
doc: /* Bind variables according to VARLIST then eval BODY. |
867 |
The value of the last form in BODY is returned.\n\ |
The value of the last form in BODY is returned. |
868 |
Each element of VARLIST is a symbol (which is bound to nil)\n\ |
Each element of VARLIST is a symbol (which is bound to nil) |
869 |
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).\n\ |
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). |
870 |
All the VALUEFORMs are evalled before any symbols are bound.\n\ |
All the VALUEFORMs are evalled before any symbols are bound. |
871 |
usage: (let VARLIST BODY...)") |
usage: (let VARLIST BODY...) */) |
872 |
(args) |
(args) |
873 |
Lisp_Object args; |
Lisp_Object args; |
874 |
{ |
{ |
875 |
Lisp_Object *temps, tem; |
Lisp_Object *temps, tem; |
921 |
} |
} |
922 |
|
|
923 |
DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0, |
DEFUN ("while", Fwhile, Swhile, 1, UNEVALLED, 0, |
924 |
"If TEST yields non-nil, eval BODY... and repeat.\n\ |
doc: /* If TEST yields non-nil, eval BODY... and repeat. |
925 |
The order of execution is thus TEST, BODY, TEST, BODY and so on\n\ |
The order of execution is thus TEST, BODY, TEST, BODY and so on |
926 |
until TEST returns nil.\n\ |
until TEST returns nil. |
927 |
usage: (while TEST BODY...)") |
usage: (while TEST BODY...) */) |
928 |
(args) |
(args) |
929 |
Lisp_Object args; |
Lisp_Object args; |
930 |
{ |
{ |
931 |
Lisp_Object test, body, tem; |
Lisp_Object test, body, tem; |
947 |
} |
} |
948 |
|
|
949 |
DEFUN ("macroexpand", Fmacroexpand, Smacroexpand, 1, 2, 0, |
DEFUN ("macroexpand", Fmacroexpand, Smacroexpand, 1, 2, 0, |
950 |
"Return result of expanding macros at top level of FORM.\n\ |
doc: /* Return result of expanding macros at top level of FORM. |
951 |
If FORM is not a macro call, it is returned unchanged.\n\ |
If FORM is not a macro call, it is returned unchanged. |
952 |
Otherwise, the macro is expanded and the expansion is considered\n\ |
Otherwise, the macro is expanded and the expansion is considered |
953 |
in place of FORM. When a non-macro-call results, it is returned.\n\n\ |
in place of FORM. When a non-macro-call results, it is returned. |
954 |
The second optional arg ENVIRONMENT specifies an environment of macro\n\ |
|
955 |
definitions to shadow the loaded ones for use in file byte-compilation.") |
The second optional arg ENVIRONMENT specifies an environment of macro |
956 |
(form, environment) |
definitions to shadow the loaded ones for use in file byte-compilation. */) |
957 |
|
(form, environment) |
958 |
Lisp_Object form; |
Lisp_Object form; |
959 |
Lisp_Object environment; |
Lisp_Object environment; |
960 |
{ |
{ |
1026 |
} |
} |
1027 |
|
|
1028 |
DEFUN ("catch", Fcatch, Scatch, 1, UNEVALLED, 0, |
DEFUN ("catch", Fcatch, Scatch, 1, UNEVALLED, 0, |
1029 |
"Eval BODY allowing nonlocal exits using `throw'.\n\ |
doc: /* Eval BODY allowing nonlocal exits using `throw'. |
1030 |
TAG is evalled to get the tag to use; it must not be nil.\n\ |
TAG is evalled to get the tag to use; it must not be nil. |
1031 |
\n\ |
|
1032 |
Then the BODY is executed.\n\ |
Then the BODY is executed. |
1033 |
Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'.\n\ |
Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'. |
1034 |
If no throw happens, `catch' returns the value of the last BODY form.\n\ |
If no throw happens, `catch' returns the value of the last BODY form. |
1035 |
If a throw happens, it specifies the value to return from `catch'.\n\ |
If a throw happens, it specifies the value to return from `catch'. |
1036 |
usage: (catch TAG BODY...)") |
usage: (catch TAG BODY...) */) |
1037 |
(args) |
(args) |
1038 |
Lisp_Object args; |
Lisp_Object args; |
1039 |
{ |
{ |
1040 |
register Lisp_Object tag; |
register Lisp_Object tag; |
1137 |
} |
} |
1138 |
|
|
1139 |
DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, |
DEFUN ("throw", Fthrow, Sthrow, 2, 2, 0, |
1140 |
"Throw to the catch for TAG and return VALUE from it.\n\ |
doc: /* Throw to the catch for TAG and return VALUE from it. |
1141 |
Both TAG and VALUE are evalled.") |
Both TAG and VALUE are evalled. */) |
1142 |
(tag, value) |
(tag, value) |
1143 |
register Lisp_Object tag, value; |
register Lisp_Object tag, value; |
1144 |
{ |
{ |
1145 |
register struct catchtag *c; |
register struct catchtag *c; |
1158 |
|
|
1159 |
|
|
1160 |
DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0, |
DEFUN ("unwind-protect", Funwind_protect, Sunwind_protect, 1, UNEVALLED, 0, |
1161 |
"Do BODYFORM, protecting with UNWINDFORMS.\n\ |
doc: /* Do BODYFORM, protecting with UNWINDFORMS. |
1162 |
If BODYFORM completes normally, its value is returned\n\ |
If BODYFORM completes normally, its value is returned |
1163 |
after executing the UNWINDFORMS.\n\ |
after executing the UNWINDFORMS. |
1164 |
If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway.\n\ |
If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway. |
1165 |
usage: (unwind-protect BODYFORM UNWINDFORMS...)") |
usage: (unwind-protect BODYFORM UNWINDFORMS...) */) |
1166 |
(args) |
(args) |
1167 |
Lisp_Object args; |
Lisp_Object args; |
1168 |
{ |
{ |
1169 |
Lisp_Object val; |
Lisp_Object val; |
1183 |
struct handler *handlerlist; |
struct handler *handlerlist; |
1184 |
|
|
1185 |
DEFUN ("condition-case", Fcondition_case, Scondition_case, 2, UNEVALLED, 0, |
DEFUN ("condition-case", Fcondition_case, Scondition_case, 2, UNEVALLED, 0, |
1186 |
"Regain control when an error is signaled.\n\ |
doc: /* Regain control when an error is signaled. |
1187 |
executes BODYFORM and returns its value if no error happens.\n\ |
executes BODYFORM and returns its value if no error happens. |
1188 |
Each element of HANDLERS looks like (CONDITION-NAME BODY...)\n\ |
Each element of HANDLERS looks like (CONDITION-NAME BODY...) |
1189 |
where the BODY is made of Lisp expressions.\n\n\ |
where the BODY is made of Lisp expressions. |
1190 |
A handler is applicable to an error\n\ |
|
1191 |
if CONDITION-NAME is one of the error's condition names.\n\ |
A handler is applicable to an error |
1192 |
If an error happens, the first applicable handler is run.\n\ |
if CONDITION-NAME is one of the error's condition names. |
1193 |
\n\ |
If an error happens, the first applicable handler is run. |
1194 |
The car of a handler may be a list of condition names\n\ |
|
1195 |
instead of a single condition name.\n\ |
The car of a handler may be a list of condition names |
1196 |
\n\ |
instead of a single condition name. |
1197 |
When a handler handles an error,\n\ |
|
1198 |
control returns to the condition-case and the handler BODY... is executed\n\ |
When a handler handles an error, |
1199 |
with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA).\n\ |
control returns to the condition-case and the handler BODY... is executed |
1200 |
VAR may be nil; then you do not get access to the signal information.\n\ |
with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA). |
1201 |
\n\ |
VAR may be nil; then you do not get access to the signal information. |
1202 |
The value of the last BODY form is returned from the condition-case.\n\ |
|
1203 |
See also the function `signal' for more info.\n\ |
The value of the last BODY form is returned from the condition-case. |
1204 |
usage: (condition-case VAR BODYFORM HANDLERS...)") |
See also the function `signal' for more info. |
1205 |
(args) |
usage: (condition-case VAR BODYFORM HANDLERS...) */) |
1206 |
|
(args) |
1207 |
Lisp_Object args; |
Lisp_Object args; |
1208 |
{ |
{ |
1209 |
Lisp_Object val; |
Lisp_Object val; |
1407 |
static Lisp_Object find_handler_clause (); |
static Lisp_Object find_handler_clause (); |
1408 |
|
|
1409 |
DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, |
DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, |
1410 |
"Signal an error. Args are ERROR-SYMBOL and associated DATA.\n\ |
doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. |
1411 |
This function does not return.\n\n\ |
This function does not return. |
1412 |
An error symbol is a symbol with an `error-conditions' property\n\ |
|
1413 |
that is a list of condition names.\n\ |
An error symbol is a symbol with an `error-conditions' property |
1414 |
A handler for any of those names will get to handle this signal.\n\ |
that is a list of condition names. |
1415 |
The symbol `error' should normally be one of them.\n\ |
A handler for any of those names will get to handle this signal. |
1416 |
\n\ |
The symbol `error' should normally be one of them. |
1417 |
DATA should be a list. Its elements are printed as part of the error message.\n\ |
|
1418 |
If the signal is handled, DATA is made available to the handler.\n\ |
DATA should be a list. Its elements are printed as part of the error message. |
1419 |
See also the function `condition-case'.") |
If the signal is handled, DATA is made available to the handler. |
1420 |
(error_symbol, data) |
See also the function `condition-case'. */) |
1421 |
|
(error_symbol, data) |
1422 |
Lisp_Object error_symbol, data; |
Lisp_Object error_symbol, data; |
1423 |
{ |
{ |
1424 |
/* When memory is full, ERROR-SYMBOL is nil, |
/* When memory is full, ERROR-SYMBOL is nil, |
1744 |
} |
} |
1745 |
|
|
1746 |
DEFUN ("commandp", Fcommandp, Scommandp, 1, 1, 0, |
DEFUN ("commandp", Fcommandp, Scommandp, 1, 1, 0, |
1747 |
"T if FUNCTION makes provisions for interactive calling.\n\ |
doc: /* Non-nil if FUNCTION makes provisions for interactive calling. |
1748 |
This means it contains a description for how to read arguments to give it.\n\ |
This means it contains a description for how to read arguments to give it. |
1749 |
The value is nil for an invalid function or a symbol with no function\n\ |
The value is nil for an invalid function or a symbol with no function |
1750 |
definition.\n\ |
definition. |
1751 |
\n\ |
|
1752 |
Interactively callable functions include strings and vectors (treated\n\ |
Interactively callable functions include strings and vectors (treated |
1753 |
as keyboard macros), lambda-expressions that contain a top-level call\n\ |
as keyboard macros), lambda-expressions that contain a top-level call |
1754 |
to `interactive', autoload definitions made by `autoload' with non-nil\n\ |
to `interactive', autoload definitions made by `autoload' with non-nil |
1755 |
fourth argument, and some of the built-in functions of Lisp.\n\ |
fourth argument, and some of the built-in functions of Lisp. |
1756 |
\n\ |
|
1757 |
Also, a symbol satisfies `commandp' if its function definition does so.") |
Also, a symbol satisfies `commandp' if its function definition does so. */) |
1758 |
(function) |
(function) |
1759 |
Lisp_Object function; |
Lisp_Object function; |
1760 |
{ |
{ |
1761 |
register Lisp_Object fun; |
register Lisp_Object fun; |
1806 |
|
|
1807 |
/* ARGSUSED */ |
/* ARGSUSED */ |
1808 |
DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0, |
DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0, |
1809 |
"Define FUNCTION to autoload from FILE.\n\ |
doc: /* Define FUNCTION to autoload from FILE. |
1810 |
FUNCTION is a symbol; FILE is a file name string to pass to `load'.\n\ |
FUNCTION is a symbol; FILE is a file name string to pass to `load'. |
1811 |
Third arg DOCSTRING is documentation for the function.\n\ |
Third arg DOCSTRING is documentation for the function. |
1812 |
Fourth arg INTERACTIVE if non-nil says function can be called interactively.\n\ |
Fourth arg INTERACTIVE if non-nil says function can be called interactively. |
1813 |
Fifth arg TYPE indicates the type of the object:\n\ |
Fifth arg TYPE indicates the type of the object: |
1814 |
nil or omitted says FUNCTION is a function,\n\ |
nil or omitted says FUNCTION is a function, |
1815 |
`keymap' says FUNCTION is really a keymap, and\n\ |
`keymap' says FUNCTION is really a keymap, and |
1816 |
`macro' or t says FUNCTION is really a macro.\n\ |
`macro' or t says FUNCTION is really a macro. |
1817 |
Third through fifth args give info about the real definition.\n\ |
Third through fifth args give info about the real definition. |
1818 |
They default to nil.\n\ |
They default to nil. |
1819 |
If FUNCTION is already defined other than as an autoload,\n\ |
If FUNCTION is already defined other than as an autoload, |
1820 |
this does nothing and returns nil.") |
this does nothing and returns nil. */) |
1821 |
(function, file, docstring, interactive, type) |
(function, file, docstring, interactive, type) |
1822 |
Lisp_Object function, file, docstring, interactive, type; |
Lisp_Object function, file, docstring, interactive, type; |
1823 |
{ |
{ |
1824 |
#ifdef NO_ARG_ARRAY |
#ifdef NO_ARG_ARRAY |
1930 |
|
|
1931 |
|
|
1932 |
DEFUN ("eval", Feval, Seval, 1, 1, 0, |
DEFUN ("eval", Feval, Seval, 1, 1, 0, |
1933 |
"Evaluate FORM and return its value.") |
doc: /* Evaluate FORM and return its value. */) |
1934 |
(form) |
(form) |
1935 |
Lisp_Object form; |
Lisp_Object form; |
1936 |
{ |
{ |
1937 |
Lisp_Object fun, val, original_fun, original_args; |
Lisp_Object fun, val, original_fun, original_args; |
2141 |
} |
} |
2142 |
|
|
2143 |
DEFUN ("apply", Fapply, Sapply, 2, MANY, 0, |
DEFUN ("apply", Fapply, Sapply, 2, MANY, 0, |
2144 |
"Call FUNCTION with our remaining args, using our last arg as list of args.\n\ |
doc: /* Call FUNCTION with our remaining args, using our last arg as list of args. |
2145 |
Then return the value FUNCTION returns.\n\ |
Then return the value FUNCTION returns. |
2146 |
Thus, (apply '+ 1 2 '(3 4)) returns 10.\n\ |
Thus, (apply '+ 1 2 '(3 4)) returns 10. |
2147 |
usage: (apply FUNCTION &rest ARGUMENTS)") |
usage: (apply FUNCTION &rest ARGUMENTS) */) |
2148 |
(nargs, args) |
(nargs, args) |
2149 |
int nargs; |
int nargs; |
2150 |
Lisp_Object *args; |
Lisp_Object *args; |
2151 |
{ |
{ |
2226 |
enum run_hooks_condition {to_completion, until_success, until_failure}; |
enum run_hooks_condition {to_completion, until_success, until_failure}; |
2227 |
|
|
2228 |
DEFUN ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0, |
DEFUN ("run-hooks", Frun_hooks, Srun_hooks, 0, MANY, 0, |
2229 |
"Run each hook in HOOKS. Major mode functions use this.\n\ |
doc: /* Run each hook in HOOKS. Major mode functions use this. |
2230 |
Each argument should be a symbol, a hook variable.\n\ |
Each argument should be a symbol, a hook variable. |
2231 |
These symbols are processed in the order specified.\n\ |
These symbols are processed in the order specified. |
2232 |
If a hook symbol has a non-nil value, that value may be a function\n\ |
If a hook symbol has a non-nil value, that value may be a function |
2233 |
or a list of functions to be called to run the hook.\n\ |
or a list of functions to be called to run the hook. |
2234 |
If the value is a function, it is called with no arguments.\n\ |
If the value is a function, it is called with no arguments. |
2235 |
If it is a list, the elements are called, in order, with no arguments.\n\ |
If it is a list, the elements are called, in order, with no arguments. |
2236 |
\n\ |
|
2237 |
To make a hook variable buffer-local, use `make-local-hook',\n\ |
To make a hook variable buffer-local, use `make-local-hook', |
2238 |
not `make-local-variable'.\n\ |
not `make-local-variable'. |
2239 |
usage: (run-hooks &rest HOOKS)") |
usage: (run-hooks &rest HOOKS) */) |
2240 |
(nargs, args) |
(nargs, args) |
2241 |
int nargs; |
int nargs; |
2242 |
Lisp_Object *args; |
Lisp_Object *args; |
2243 |
{ |
{ |
2254 |
} |
} |
2255 |
|
|
2256 |
DEFUN ("run-hook-with-args", Frun_hook_with_args, |
DEFUN ("run-hook-with-args", Frun_hook_with_args, |
2257 |
Srun_hook_with_args, 1, MANY, 0, |
Srun_hook_with_args, 1, MANY, 0, |
2258 |
"Run HOOK with the specified arguments ARGS.\n\ |
doc: /* Run HOOK with the specified arguments ARGS. |
2259 |
HOOK should be a symbol, a hook variable. If HOOK has a non-nil\n\ |
HOOK should be a symbol, a hook variable. If HOOK has a non-nil |
2260 |
value, that value may be a function or a list of functions to be\n\ |
value, that value may be a function or a list of functions to be |
2261 |
called to run the hook. If the value is a function, it is called with\n\ |
called to run the hook. If the value is a function, it is called with |
2262 |
the given arguments and its return value is returned. If it is a list\n\ |
the given arguments and its return value is returned. If it is a list |
2263 |
of functions, those functions are called, in order,\n\ |
of functions, those functions are called, in order, |
2264 |
with the given arguments ARGS.\n\ |
with the given arguments ARGS. |
2265 |
It is best not to depend on the value return by `run-hook-with-args',\n\ |
It is best not to depend on the value return by `run-hook-with-args', |
2266 |
as that may change.\n\ |
as that may change. |
2267 |
\n\ |
|
2268 |
To make a hook variable buffer-local, use `make-local-hook',\n\ |
To make a hook variable buffer-local, use `make-local-hook', |
2269 |
not `make-local-variable'.\n\ |
not `make-local-variable'. |
2270 |
usage: (run-hook-with-args HOOK &rest ARGS)") |
usage: (run-hook-with-args HOOK &rest ARGS) */) |
2271 |
(nargs, args) |
(nargs, args) |
2272 |
int nargs; |
int nargs; |
2273 |
Lisp_Object *args; |
Lisp_Object *args; |
2274 |
{ |
{ |
2276 |
} |
} |
2277 |
|
|
2278 |
DEFUN ("run-hook-with-args-until-success", Frun_hook_with_args_until_success, |
DEFUN ("run-hook-with-args-until-success", Frun_hook_with_args_until_success, |
2279 |
Srun_hook_with_args_until_success, 1, MANY, 0, |
Srun_hook_with_args_until_success, 1, MANY, 0, |
2280 |
"Run HOOK with the specified arguments ARGS.\n\ |
doc: /* Run HOOK with the specified arguments ARGS. |
2281 |
HOOK should be a symbol, a hook variable. Its value should\n\ |
HOOK should be a symbol, a hook variable. Its value should |
2282 |
be a list of functions. We call those functions, one by one,\n\ |
be a list of functions. We call those functions, one by one, |
2283 |
passing arguments ARGS to each of them, until one of them\n\ |
passing arguments ARGS to each of them, until one of them |
2284 |
returns a non-nil value. Then we return that value.\n\ |
returns a non-nil value. Then we return that value. |
2285 |
If all the functions return nil, we return nil.\n\ |
If all the functions return nil, we return nil. |
2286 |
\n\ |
|
2287 |
To make a hook variable buffer-local, use `make-local-hook',\n\ |
To make a hook variable buffer-local, use `make-local-hook', |
2288 |
not `make-local-variable'.\n\ |
not `make-local-variable'. |
2289 |
usage: (run-hook-with-args-until-success HOOK &rest ARGS)") |
usage: (run-hook-with-args-until-success HOOK &rest ARGS) */) |
2290 |
(nargs, args) |
(nargs, args) |
2291 |
int nargs; |
int nargs; |
2292 |
Lisp_Object *args; |
Lisp_Object *args; |
2293 |
{ |
{ |
2295 |
} |
} |
2296 |
|
|
2297 |
DEFUN ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure, |
DEFUN ("run-hook-with-args-until-failure", Frun_hook_with_args_until_failure, |
2298 |
Srun_hook_with_args_until_failure, 1, MANY, 0, |
Srun_hook_with_args_until_failure, 1, MANY, 0, |
2299 |
"Run HOOK with the specified arguments ARGS.\n\ |
doc: /* Run HOOK with the specified arguments ARGS. |
2300 |
HOOK should be a symbol, a hook variable. Its value should\n\ |
HOOK should be a symbol, a hook variable. Its value should |
2301 |
be a list of functions. We call those functions, one by one,\n\ |
be a list of functions. We call those functions, one by one, |
2302 |
passing arguments ARGS to each of them, until one of them\n\ |
passing arguments ARGS to each of them, until one of them |
2303 |
returns nil. Then we return nil.\n\ |
returns nil. Then we return nil. |
2304 |
If all the functions return non-nil, we return non-nil.\n\ |
If all the functions return non-nil, we return non-nil. |
2305 |
\n\ |
|
2306 |
To make a hook variable buffer-local, use `make-local-hook',\n\ |
To make a hook variable buffer-local, use `make-local-hook', |
2307 |
not `make-local-variable'.\n\ |
not `make-local-variable'. |
2308 |
usage: (run-hook-with-args-until-failure HOOK &rest ARGS)") |
usage: (run-hook-with-args-until-failure HOOK &rest ARGS) */) |
2309 |
(nargs, args) |
(nargs, args) |
2310 |
int nargs; |
int nargs; |
2311 |
Lisp_Object *args; |
Lisp_Object *args; |
2312 |
{ |
{ |
2630 |
} |
} |
2631 |
|
|
2632 |
DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, |
DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0, |
2633 |
"Call first argument as a function, passing remaining arguments to it.\n\ |
doc: /* Call first argument as a function, passing remaining arguments to it. |
2634 |
Return the value that function returns.\n\ |
Return the value that function returns. |
2635 |
Thus, (funcall 'cons 'x 'y) returns (x . y).\n\ |
Thus, (funcall 'cons 'x 'y) returns (x . y). |
2636 |
usage: (funcall FUNCTION &rest ARGUMENTS)") |
usage: (funcall FUNCTION &rest ARGUMENTS) */) |
2637 |
(nargs, args) |
(nargs, args) |
2638 |
int nargs; |
int nargs; |
2639 |
Lisp_Object *args; |
Lisp_Object *args; |
2640 |
{ |
{ |
2910 |
} |
} |
2911 |
|
|
2912 |
DEFUN ("fetch-bytecode", Ffetch_bytecode, Sfetch_bytecode, |
DEFUN ("fetch-bytecode", Ffetch_bytecode, Sfetch_bytecode, |
2913 |
1, 1, 0, |
1, 1, 0, |
2914 |
"If byte-compiled OBJECT is lazy-loaded, fetch it now.") |
doc: /* If byte-compiled OBJECT is lazy-loaded, fetch it now. */) |
2915 |
(object) |
(object) |
2916 |
Lisp_Object object; |
Lisp_Object object; |
2917 |
{ |
{ |
2918 |
Lisp_Object tem; |
Lisp_Object tem; |
3147 |
#endif /* 0 */ |
#endif /* 0 */ |
3148 |
|
|
3149 |
DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0, |
DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0, |
3150 |
"Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG.\n\ |
doc: /* Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. |
3151 |
The debugger is entered when that frame exits, if the flag is non-nil.") |
The debugger is entered when that frame exits, if the flag is non-nil. */) |
3152 |
(level, flag) |
(level, flag) |
3153 |
Lisp_Object level, flag; |
Lisp_Object level, flag; |
3154 |
{ |
{ |
3155 |
register struct backtrace *backlist = backtrace_list; |
register struct backtrace *backlist = backtrace_list; |
3169 |
} |
} |
3170 |
|
|
3171 |
DEFUN ("backtrace", Fbacktrace, Sbacktrace, 0, 0, "", |
DEFUN ("backtrace", Fbacktrace, Sbacktrace, 0, 0, "", |
3172 |
"Print a trace of Lisp function calls currently active.\n\ |
doc: /* Print a trace of Lisp function calls currently active. |
3173 |
Output stream used is value of `standard-output'.") |
Output stream used is value of `standard-output'. */) |
3174 |
() |
() |
3175 |
{ |
{ |
3176 |
register struct backtrace *backlist = backtrace_list; |
register struct backtrace *backlist = backtrace_list; |
3177 |
register int i; |
register int i; |
3227 |
} |
} |
3228 |
|
|
3229 |
DEFUN ("backtrace-frame", Fbacktrace_frame, Sbacktrace_frame, 1, 1, NULL, |
DEFUN ("backtrace-frame", Fbacktrace_frame, Sbacktrace_frame, 1, 1, NULL, |
3230 |
"Return the function and arguments NFRAMES up from current execution point.\n\ |
doc: /* Return the function and arguments NFRAMES up from current execution point. |
3231 |
If that frame has not evaluated the arguments yet (or is a special form),\n\ |
If that frame has not evaluated the arguments yet (or is a special form), |
3232 |
the value is (nil FUNCTION ARG-FORMS...).\n\ |
the value is (nil FUNCTION ARG-FORMS...). |
3233 |
If that frame has evaluated its arguments and called its function already,\n\ |
If that frame has evaluated its arguments and called its function already, |
3234 |
the value is (t FUNCTION ARG-VALUES...).\n\ |
the value is (t FUNCTION ARG-VALUES...). |
3235 |
A &rest arg is represented as the tail of the list ARG-VALUES.\n\ |
A &rest arg is represented as the tail of the list ARG-VALUES. |
3236 |
FUNCTION is whatever was supplied as car of evaluated list,\n\ |
FUNCTION is whatever was supplied as car of evaluated list, |
3237 |
or a lambda expression for macro calls.\n\ |
or a lambda expression for macro calls. |
3238 |
If NFRAMES is more than the number of frames, the value is nil.") |
If NFRAMES is more than the number of frames, the value is nil. */) |
3239 |
(nframes) |
(nframes) |
3240 |
Lisp_Object nframes; |
Lisp_Object nframes; |
3241 |
{ |
{ |
3242 |
register struct backtrace *backlist = backtrace_list; |
register struct backtrace *backlist = backtrace_list; |
3269 |
syms_of_eval () |
syms_of_eval () |
3270 |
{ |
{ |
3271 |
DEFVAR_INT ("max-specpdl-size", &max_specpdl_size, |
DEFVAR_INT ("max-specpdl-size", &max_specpdl_size, |
3272 |
"*Limit on number of Lisp variable bindings & unwind-protects.\n\ |
doc: /* *Limit on number of Lisp variable bindings & unwind-protects. |
3273 |
If Lisp code tries to make more than this many at once,\n\ |
If Lisp code tries to make more than this many at once, |
3274 |
an error is signaled."); |
an error is signaled. */); |
3275 |
|
|
3276 |
DEFVAR_INT ("max-lisp-eval-depth", &max_lisp_eval_depth, |
DEFVAR_INT ("max-lisp-eval-depth", &max_lisp_eval_depth, |
3277 |
"*Limit on depth in `eval', `apply' and `funcall' before error.\n\ |
doc: /* *Limit on depth in `eval', `apply' and `funcall' before error. |
3278 |
This limit is to catch infinite recursions for you before they cause\n\ |
This limit is to catch infinite recursions for you before they cause |
3279 |
actual stack overflow in C, which would be fatal for Emacs.\n\ |
actual stack overflow in C, which would be fatal for Emacs. |
3280 |
You can safely make it considerably larger than its default value,\n\ |
You can safely make it considerably larger than its default value, |
3281 |
if that proves inconveniently small."); |
if that proves inconveniently small. */); |
3282 |
|
|
3283 |
DEFVAR_LISP ("quit-flag", &Vquit_flag, |
DEFVAR_LISP ("quit-flag", &Vquit_flag, |
3284 |
"Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil.\n\ |
doc: /* Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil. |
3285 |
Typing C-g sets `quit-flag' non-nil, regardless of `inhibit-quit'."); |
Typing C-g sets `quit-flag' non-nil, regardless of `inhibit-quit'. */); |
3286 |
Vquit_flag = Qnil; |
Vquit_flag = Qnil; |
3287 |
|
|
3288 |
DEFVAR_LISP ("inhibit-quit", &Vinhibit_quit, |
DEFVAR_LISP ("inhibit-quit", &Vinhibit_quit, |
3289 |
"Non-nil inhibits C-g quitting from happening immediately.\n\ |
doc: /* Non-nil inhibits C-g quitting from happening immediately. |
3290 |
Note that `quit-flag' will still be set by typing C-g,\n\ |
Note that `quit-flag' will still be set by typing C-g, |
3291 |
so a quit will be signaled as soon as `inhibit-quit' is nil.\n\ |
so a quit will be signaled as soon as `inhibit-quit' is nil. |
3292 |
To prevent this happening, set `quit-flag' to nil\n\ |
To prevent this happening, set `quit-flag' to nil |
3293 |
before making `inhibit-quit' nil."); |
before making `inhibit-quit' nil. */); |
3294 |
Vinhibit_quit = Qnil; |
Vinhibit_quit = Qnil; |
3295 |
|
|
3296 |
Qinhibit_quit = intern ("inhibit-quit"); |
Qinhibit_quit = intern ("inhibit-quit"); |
3326 |
staticpro (&Qand_optional); |
staticpro (&Qand_optional); |
3327 |
|
|
3328 |
DEFVAR_LISP ("stack-trace-on-error", &Vstack_trace_on_error, |
DEFVAR_LISP ("stack-trace-on-error", &Vstack_trace_on_error, |
3329 |
"*Non-nil means automatically display a backtrace buffer\n\ |
doc: /* *Non-nil means automatically display a backtrace buffer |
3330 |
after any error that is handled by the editor command loop.\n\ |
after any error that is handled by the editor command loop. |
3331 |
If the value is a list, an error only means to display a backtrace\n\ |
If the value is a list, an error only means to display a backtrace |
3332 |
if one of its condition symbols appears in the list."); |
if one of its condition symbols appears in the list. */); |
3333 |
Vstack_trace_on_error = Qnil; |
Vstack_trace_on_error = Qnil; |
3334 |
|
|
3335 |
DEFVAR_LISP ("debug-on-error", &Vdebug_on_error, |
DEFVAR_LISP ("debug-on-error", &Vdebug_on_error, |
3336 |
"*Non-nil means enter debugger if an error is signaled.\n\ |
doc: /* *Non-nil means enter debugger if an error is signaled. |
3337 |
Does not apply to errors handled by `condition-case' or those\n\ |
Does not apply to errors handled by `condition-case' or those |
3338 |
matched by `debug-ignored-errors'.\n\ |
matched by `debug-ignored-errors'. |
3339 |
If the value is a list, an error only means to enter the debugger\n\ |
If the value is a list, an error only means to enter the debugger |
3340 |
if one of its condition symbols appears in the list.\n\ |
if one of its condition symbols appears in the list. |
3341 |
When you evaluate an expression interactively, this variable\n\ |
When you evaluate an expression interactively, this variable |
3342 |
is temporarily non-nil if `eval-expression-debug-on-error' is non-nil.\n\ |
is temporarily non-nil if `eval-expression-debug-on-error' is non-nil. |
3343 |
See also variable `debug-on-quit'."); |
See also variable `debug-on-quit'. */); |
3344 |
Vdebug_on_error = Qnil; |
Vdebug_on_error = Qnil; |
3345 |
|
|
3346 |
DEFVAR_LISP ("debug-ignored-errors", &Vdebug_ignored_errors, |
DEFVAR_LISP ("debug-ignored-errors", &Vdebug_ignored_errors, |
3347 |
"*List of errors for which the debugger should not be called.\n\ |
doc: /* *List of errors for which the debugger should not be called. |
3348 |
Each element may be a condition-name or a regexp that matches error messages.\n\ |
Each element may be a condition-name or a regexp that matches error messages. |
3349 |
If any element applies to a given error, that error skips the debugger\n\ |
If any element applies to a given error, that error skips the debugger |
3350 |
and just returns to top level.\n\ |
and just returns to top level. |
3351 |
This overrides the variable `debug-on-error'.\n\ |
This overrides the variable `debug-on-error'. |
3352 |
It does not apply to errors handled by `condition-case'."); |
It does not apply to errors handled by `condition-case'. */); |
3353 |
Vdebug_ignored_errors = Qnil; |
Vdebug_ignored_errors = Qnil; |
3354 |
|
|
3355 |
DEFVAR_BOOL ("debug-on-quit", &debug_on_quit, |
DEFVAR_BOOL ("debug-on-quit", &debug_on_quit, |
3356 |
"*Non-nil means enter debugger if quit is signaled (C-g, for example).\n\ |
doc: /* *Non-nil means enter debugger if quit is signaled (C-g, for example). |
3357 |
Does not apply if quit is handled by a `condition-case'.\n\ |
Does not apply if quit is handled by a `condition-case'. |
3358 |
When you evaluate an expression interactively, this variable\n\ |
When you evaluate an expression interactively, this variable |
3359 |
is temporarily non-nil if `eval-expression-debug-on-quit' is non-nil."); |
is temporarily non-nil if `eval-expression-debug-on-quit' is non-nil. */); |
3360 |
debug_on_quit = 0; |
debug_on_quit = 0; |
3361 |
|
|
3362 |
DEFVAR_BOOL ("debug-on-next-call", &debug_on_next_call, |
DEFVAR_BOOL ("debug-on-next-call", &debug_on_next_call, |
3363 |
"Non-nil means enter debugger before next `eval', `apply' or `funcall'."); |
doc: /* Non-nil means enter debugger before next `eval', `apply' or `funcall'. */); |
3364 |
|
|
3365 |
DEFVAR_BOOL ("debugger-may-continue", &debugger_may_continue, |
DEFVAR_BOOL ("debugger-may-continue", &debugger_may_continue, |
3366 |
"Non-nil means debugger may continue execution.\n\ |
doc: /* Non-nil means debugger may continue execution. |
3367 |
This is nil when the debugger is called under circumstances where it\n\ |
This is nil when the debugger is called under circumstances where it |
3368 |
might not be safe to continue."); |
might not be safe to continue. */); |
3369 |
debugger_may_continue = 1; |
debugger_may_continue = 1; |
3370 |
|
|
3371 |
DEFVAR_LISP ("debugger", &Vdebugger, |
DEFVAR_LISP ("debugger", &Vdebugger, |
3372 |
"Function to call to invoke debugger.\n\ |
doc: /* Function to call to invoke debugger. |
3373 |
If due to frame exit, args are `exit' and the value being returned;\n\ |
If due to frame exit, args are `exit' and the value being returned; |
3374 |
this function's value will be returned instead of that.\n\ |
this function's value will be returned instead of that. |
3375 |
If due to error, args are `error' and a list of the args to `signal'.\n\ |
If due to error, args are `error' and a list of the args to `signal'. |
3376 |
If due to `apply' or `funcall' entry, one arg, `lambda'.\n\ |
If due to `apply' or `funcall' entry, one arg, `lambda'. |
3377 |
If due to `eval' entry, one arg, t."); |
If due to `eval' entry, one arg, t. */); |
3378 |
Vdebugger = Qnil; |
Vdebugger = Qnil; |
3379 |
|
|
3380 |
DEFVAR_LISP ("signal-hook-function", &Vsignal_hook_function, |
DEFVAR_LISP ("signal-hook-function", &Vsignal_hook_function, |
3381 |
"If non-nil, this is a function for `signal' to call.\n\ |
doc: /* If non-nil, this is a function for `signal' to call. |
3382 |
It receives the same arguments that `signal' was given.\n\ |
It receives the same arguments that `signal' was given. |
3383 |
The Edebug package uses this to regain control."); |
The Edebug package uses this to regain control. */); |
3384 |
Vsignal_hook_function = Qnil; |
Vsignal_hook_function = Qnil; |
3385 |
|
|
3386 |
Qmocklisp_arguments = intern ("mocklisp-arguments"); |
Qmocklisp_arguments = intern ("mocklisp-arguments"); |
3387 |
staticpro (&Qmocklisp_arguments); |
staticpro (&Qmocklisp_arguments); |
3388 |
DEFVAR_LISP ("mocklisp-arguments", &Vmocklisp_arguments, |
DEFVAR_LISP ("mocklisp-arguments", &Vmocklisp_arguments, |
3389 |
"While in a mocklisp function, the list of its unevaluated args."); |
doc: /* While in a mocklisp function, the list of its unevaluated args. */); |
3390 |
Vmocklisp_arguments = Qt; |
Vmocklisp_arguments = Qt; |
3391 |
|
|
3392 |
DEFVAR_LISP ("debug-on-signal", &Vdebug_on_signal, |
DEFVAR_LISP ("debug-on-signal", &Vdebug_on_signal, |
3393 |
"*Non-nil means call the debugger regardless of condition handlers.\n\ |
doc: /* *Non-nil means call the debugger regardless of condition handlers. |
3394 |
Note that `debug-on-error', `debug-on-quit' and friends\n\ |
Note that `debug-on-error', `debug-on-quit' and friends |
3395 |
still determine whether to handle the particular condition."); |
still determine whether to handle the particular condition. */); |
3396 |
Vdebug_on_signal = Qnil; |
Vdebug_on_signal = Qnil; |
3397 |
|
|
3398 |
Vrun_hooks = intern ("run-hooks"); |
Vrun_hooks = intern ("run-hooks"); |