Mercurial > hg > xemacs-beta
diff src/eval.c @ 371:cc15677e0335 r21-2b1
Import from CVS: tag r21-2b1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:03:08 +0200 |
parents | a4f53d9b3154 |
children | 8626e4521993 |
line wrap: on
line diff
--- a/src/eval.c Mon Aug 13 11:01:58 2007 +0200 +++ b/src/eval.c Mon Aug 13 11:03:08 2007 +0200 @@ -1071,7 +1071,7 @@ buffer-local values are not affected. INITVALUE and DOCSTRING are optional. If DOCSTRING starts with *, this variable is identified as a user option. - This means that M-x set-variable recognizes it. + This means that M-x set-variable and M-x edit-options recognize it. If INITVALUE is missing, SYMBOL's value is not set. In lisp-interaction-mode defvar is treated as defconst. @@ -1122,7 +1122,7 @@ buffer-local values are not affected. DOCSTRING is optional. If DOCSTRING starts with *, this variable is identified as a user option. - This means that M-x set-variable recognizes it. + This means that M-x set-variable and M-x edit-options recognize it. Note: do not use `defconst' for user options in libraries that are not normally loaded, since it is useful for users to be able to specify @@ -1193,10 +1193,10 @@ Otherwise, the macro is expanded and the expansion is considered in place of FORM. When a non-macro-call results, it is returned. -The second optional arg ENVIRONMENT specifies an environment of macro +The second optional arg ENVIRONMENT species an environment of macro definitions to shadow the loaded ones for use in file byte-compilation. */ - (form, environment)) + (form, env)) { /* This function can GC */ /* With cleanups from Hallvard Furuseth. */ @@ -1217,7 +1217,7 @@ { QUIT; sym = def; - tem = Fassq (sym, environment); + tem = Fassq (sym, env); if (NILP (tem)) { def = XSYMBOL (sym)->function; @@ -1226,11 +1226,11 @@ } break; } - /* Right now TEM is the result from SYM in ENVIRONMENT, + /* Right now TEM is the result from SYM in ENV, and if TEM is nil then DEF is SYM's function definition. */ if (NILP (tem)) { - /* SYM is not mentioned in ENVIRONMENT. + /* SYM is not mentioned in ENV. Look at its function definition. */ if (UNBOUNDP (def) || !CONSP (def)) @@ -3275,12 +3275,7 @@ } if (EQ (funcar, Qautoload)) { - struct gcpro gcpro1; - - GCPRO1 (function); do_autoload (function, orig_function); - UNGCPRO; - function = orig_function; goto retry; } if (EQ (funcar, Qlambda)) @@ -3343,12 +3338,7 @@ } if (EQ (funcar, Qautoload)) { - struct gcpro gcpro1; - - GCPRO1 (function); do_autoload (function, orig_function); - UNGCPRO; - function = orig_function; goto retry; } if (EQ (funcar, Qlambda)) @@ -3645,7 +3635,7 @@ the given arguments and its return value is returned. If it is a list of functions, those functions are called, in order, with the given arguments ARGS. -It is best not to depend on the value returned by `run-hook-with-args', +It is best not to depend on the value return by `run-hook-with-args', as that may change. To make a hook variable buffer-local, use `make-local-hook', @@ -3701,6 +3691,7 @@ enum run_hooks_condition cond) { Lisp_Object sym, val, ret; + struct gcpro gcpro1, gcpro2; if (!initialized || preparing_for_armageddon) /* We need to bail out of here pronto. */ @@ -3723,9 +3714,7 @@ } else { - struct gcpro gcpro1, gcpro2, gcpro3; - Lisp_Object globals = Qnil; - GCPRO3 (sym, val, globals); + GCPRO2 (sym, val); for (; CONSP (val) && ((cond == RUN_HOOKS_TO_COMPLETION) @@ -3737,7 +3726,7 @@ { /* t indicates this hook has a local binding; it means to run the global binding too. */ - globals = Fdefault_value (sym); + Lisp_Object globals = Fdefault_value (sym); if ((! CONSP (globals) || EQ (XCAR (globals), Qlambda)) && ! NILP (globals)) @@ -4832,7 +4821,7 @@ DEFUN ("backtrace", Fbacktrace, 0, 2, "", /* Print a trace of Lisp function calls currently active. -Optional arg STREAM specifies the output stream to send the backtrace to, +Option arg STREAM specifies the output stream to send the backtrace to, and defaults to the value of `standard-output'. Optional second arg DETAILED means show places where currently active variable bindings, catches, condition-cases, and unwind-protects were made as well as @@ -4875,8 +4864,8 @@ if (!NILP (detailed) && catches && catches->backlist == backlist) { int catchpdl = catches->pdlcount; - if (speccount > catchpdl - && specpdl[catchpdl].func == condition_case_unwind) + if (specpdl[catchpdl].func == condition_case_unwind + && speccount > catchpdl) /* This is a condition-case catchpoint */ catchpdl = catchpdl + 1; @@ -5259,7 +5248,7 @@ specpdl = xnew_array (struct specbinding, specpdl_size); /* XEmacs change: increase these values. */ max_specpdl_size = 3000; - max_lisp_eval_depth = 1000; + max_lisp_eval_depth = 500; throw_level = 0; reinit_eval ();