aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/eval.c b/src/eval.c
index 9f90e6df4b5..0e47d7c757c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -117,10 +117,10 @@ Lisp_Object Vsignaling_function;
117 117
118int handling_signal; 118int handling_signal;
119 119
120static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args);
121static Lisp_Object funcall_lambda (Lisp_Object, size_t, Lisp_Object *); 120static Lisp_Object funcall_lambda (Lisp_Object, size_t, Lisp_Object *);
122static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN; 121static void unwind_to_catch (struct catchtag *, Lisp_Object) NO_RETURN;
123static int interactive_p (int); 122static int interactive_p (int);
123static Lisp_Object apply_lambda (Lisp_Object fun, Lisp_Object args);
124 124
125void 125void
126init_eval_once (void) 126init_eval_once (void)
@@ -684,7 +684,7 @@ usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...) */)
684 tail = Fcons (lambda_list, tail); 684 tail = Fcons (lambda_list, tail);
685 else 685 else
686 tail = Fcons (lambda_list, Fcons (doc, tail)); 686 tail = Fcons (lambda_list, Fcons (doc, tail));
687 687
688 defn = Fcons (Qlambda, tail); 688 defn = Fcons (Qlambda, tail);
689 if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */ 689 if (!NILP (Vinternal_interpreter_environment)) /* Mere optimization! */
690 defn = Ffunction (Fcons (defn, Qnil)); 690 defn = Ffunction (Fcons (defn, Qnil));
@@ -1012,11 +1012,8 @@ usage: (let* VARLIST BODY...) */)
1012 1012
1013 varlist = XCDR (varlist); 1013 varlist = XCDR (varlist);
1014 } 1014 }
1015
1016 UNGCPRO; 1015 UNGCPRO;
1017
1018 val = Fprogn (Fcdr (args)); 1016 val = Fprogn (Fcdr (args));
1019
1020 return unbind_to (count, val); 1017 return unbind_to (count, val);
1021} 1018}
1022 1019
@@ -2083,7 +2080,8 @@ then strings and vectors are not accepted. */)
2083 return Qnil; 2080 return Qnil;
2084 funcar = XCAR (fun); 2081 funcar = XCAR (fun);
2085 if (EQ (funcar, Qclosure)) 2082 if (EQ (funcar, Qclosure))
2086 return !NILP (Fassq (Qinteractive, Fcdr (Fcdr (XCDR (fun))))) ? Qt : if_prop; 2083 return (!NILP (Fassq (Qinteractive, Fcdr (Fcdr (XCDR (fun)))))
2084 ? Qt : if_prop);
2087 else if (EQ (funcar, Qlambda)) 2085 else if (EQ (funcar, Qlambda))
2088 return !NILP (Fassq (Qinteractive, Fcdr (XCDR (fun)))) ? Qt : if_prop; 2086 return !NILP (Fassq (Qinteractive, Fcdr (XCDR (fun)))) ? Qt : if_prop;
2089 else if (EQ (funcar, Qautoload)) 2087 else if (EQ (funcar, Qautoload))
@@ -2898,7 +2896,7 @@ call7 (Lisp_Object fn, Lisp_Object arg1, Lisp_Object arg2, Lisp_Object arg3,
2898/* The caller should GCPRO all the elements of ARGS. */ 2896/* The caller should GCPRO all the elements of ARGS. */
2899 2897
2900DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0, 2898DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
2901 doc: /* Return non-nil if OBJECT is a type of object that can be called as a function. */) 2899 doc: /* Non-nil if OBJECT is a function. */)
2902 (Lisp_Object object) 2900 (Lisp_Object object)
2903{ 2901{
2904 if (SYMBOLP (object) && !NILP (Ffboundp (object))) 2902 if (SYMBOLP (object) && !NILP (Ffboundp (object)))
@@ -3220,7 +3218,7 @@ funcall_lambda (Lisp_Object fun, size_t nargs,
3220 xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs)); 3218 xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs));
3221 else 3219 else
3222 val = Qnil; 3220 val = Qnil;
3223 3221
3224 /* Bind the argument. */ 3222 /* Bind the argument. */
3225 if (!NILP (lexenv) && SYMBOLP (next)) 3223 if (!NILP (lexenv) && SYMBOLP (next))
3226 /* Lexically bind NEXT by adding it to the lexenv alist. */ 3224 /* Lexically bind NEXT by adding it to the lexenv alist. */
@@ -3501,7 +3499,6 @@ context where binding is lexical by default. */)
3501} 3499}
3502 3500
3503 3501
3504
3505DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0, 3502DEFUN ("backtrace-debug", Fbacktrace_debug, Sbacktrace_debug, 2, 2, 0,
3506 doc: /* Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. 3503 doc: /* Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG.
3507The debugger is entered when that frame exits, if the flag is non-nil. */) 3504The debugger is entered when that frame exits, if the flag is non-nil. */)