aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorJim Blandy1991-06-24 23:22:15 +0000
committerJim Blandy1991-06-24 23:22:15 +0000
commit36e37d632e6f089a89f4fc59ae6c2bf90d37e9d3 (patch)
tree832d793ace89b596d3600851d362421414dd08b1 /src/eval.c
parentc23ae0440bc2ad23237142545edfb741dba4dc2f (diff)
downloademacs-36e37d632e6f089a89f4fc59ae6c2bf90d37e9d3.tar.gz
emacs-36e37d632e6f089a89f4fc59ae6c2bf90d37e9d3.zip
*** empty log message ***
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/eval.c b/src/eval.c
index f2cb96e911b..c0aafa88d86 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1551,7 +1551,6 @@ Thus, (apply '+ 1 2 '(3 4)) returns 10.")
1551 register int i, numargs; 1551 register int i, numargs;
1552 register Lisp_Object spread_arg; 1552 register Lisp_Object spread_arg;
1553 register Lisp_Object *funcall_args; 1553 register Lisp_Object *funcall_args;
1554 struct gcpro gcpro1;
1555 Lisp_Object fun; 1554 Lisp_Object fun;
1556 1555
1557 fun = args [0]; 1556 fun = args [0];
@@ -1614,13 +1613,7 @@ Thus, (apply '+ 1 2 '(3 4)) returns 10.")
1614 spread_arg = XCONS (spread_arg)->cdr; 1613 spread_arg = XCONS (spread_arg)->cdr;
1615 } 1614 }
1616 1615
1617 GCPRO1 (*funcall_args); 1616 return Ffuncall (numargs + 1, funcall_args);
1618 gcpro1.nvars = numargs + 1;
1619 {
1620 Lisp_Object val = Ffuncall (numargs + 1, funcall_args);
1621 UNGCPRO;
1622 return val;
1623 }
1624} 1617}
1625 1618
1626/* Apply fn to arg */ 1619/* Apply fn to arg */
@@ -1719,8 +1712,15 @@ Thus, (funcall 'cons 'x 'y) returns (x . y).")
1719 1712
1720 QUIT; 1713 QUIT;
1721 if (consing_since_gc > gc_cons_threshold) 1714 if (consing_since_gc > gc_cons_threshold)
1722 Fgarbage_collect (); 1715 {
1723 1716 struct gcpro gcpro1;
1717
1718 /* The backtrace protects the arguments for the rest of the function. */
1719 GCPRO1 (*args);
1720 gcpro1.nvars = nargs;
1721 Fgarbage_collect ();
1722 UNGCPRO;
1723 }
1724 1724
1725 if (++lisp_eval_depth > max_lisp_eval_depth) 1725 if (++lisp_eval_depth > max_lisp_eval_depth)
1726 { 1726 {