summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1996-12-18 16:45:03 +0000
committerJim Blandy <jimb@red-bean.com>1996-12-18 16:45:03 +0000
commit2c8f21446855ce08b3500f8d9ed408d3c20dd211 (patch)
tree857c2e0adedbe99c4a1336aa7fdef2e326192337
parente4bcd6d945567d9762b3ee011c41c4f6f5d433db (diff)
downloadguile-2c8f21446855ce08b3500f8d9ed408d3c20dd211.tar.gz
* eval.c, debug.h: Revert changes of Dec 16 and Nov 21. They
cause an infinite loop (???). So much for the algebraic equivalency of variable-sized arrays and alloca...
-rw-r--r--libguile/debug.h2
-rw-r--r--libguile/eval.c4
2 files changed, 2 insertions, 4 deletions
diff --git a/libguile/debug.h b/libguile/debug.h
index 3d209bce3..99d526e1b 100644
--- a/libguile/debug.h
+++ b/libguile/debug.h
@@ -124,7 +124,7 @@ typedef struct scm_debug_frame
{
struct scm_debug_frame *prev;
long status;
- scm_debug_info *vect;
+ scm_debug_info vect[1];
} scm_debug_frame;
#ifndef USE_THREADS
diff --git a/libguile/eval.c b/libguile/eval.c
index 923f47955..6fee7e969 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -1318,13 +1318,11 @@ SCM_CEVAL (x, env)
{
scm_debug_frame *prev;
long status;
- scm_debug_info *vect;
+ scm_debug_info vect[scm_debug_eframe_size];
scm_debug_info *info;
} debug;
debug.prev = scm_last_debug_frame;
debug.status = scm_debug_eframe_size;
- debug.vect = ((scm_debug_info *)
- alloca (scm_debug_eframe_size * sizeof (debug.vect[0])));
debug.info = &debug.vect[0];
scm_last_debug_frame = (scm_debug_frame *) &debug;
#endif