diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 0326a828a81..921a7533a60 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3243,6 +3243,25 @@ If NFRAMES is more than the number of frames, the value is nil. */) | |||
| 3243 | 3243 | ||
| 3244 | 3244 | ||
| 3245 | void | 3245 | void |
| 3246 | mark_backtrace () | ||
| 3247 | { | ||
| 3248 | register struct backtrace *backlist; | ||
| 3249 | register int i; | ||
| 3250 | |||
| 3251 | for (backlist = backtrace_list; backlist; backlist = backlist->next) | ||
| 3252 | { | ||
| 3253 | mark_object (*backlist->function); | ||
| 3254 | |||
| 3255 | if (backlist->nargs == UNEVALLED || backlist->nargs == MANY) | ||
| 3256 | i = 0; | ||
| 3257 | else | ||
| 3258 | i = backlist->nargs - 1; | ||
| 3259 | for (; i >= 0; i--) | ||
| 3260 | mark_object (backlist->args[i]); | ||
| 3261 | } | ||
| 3262 | } | ||
| 3263 | |||
| 3264 | void | ||
| 3246 | syms_of_eval () | 3265 | syms_of_eval () |
| 3247 | { | 3266 | { |
| 3248 | DEFVAR_INT ("max-specpdl-size", &max_specpdl_size, | 3267 | DEFVAR_INT ("max-specpdl-size", &max_specpdl_size, |