Mercurial > hg > xemacs-beta
comparison src/eval.c @ 4162:8f6a825eb3d3
[xemacs-hg @ 2007-09-04 21:20:18 by aidan]
Eliminate a crash when profiling; only pass the backtrace record to
profile_record_about_to_call, profile_record_just_called when it's non-nil.
author | aidan |
---|---|
date | Tue, 04 Sep 2007 21:20:26 +0000 |
parents | 23d7fde3d773 |
children | 8748a3f7ceb4 |
comparison
equal
deleted
inserted
replaced
4161:08efedad2696 | 4162:8f6a825eb3d3 |
---|---|
3098 (cmd, record_flag, keys)) | 3098 (cmd, record_flag, keys)) |
3099 { | 3099 { |
3100 /* This function can GC */ | 3100 /* This function can GC */ |
3101 Lisp_Object prefixarg; | 3101 Lisp_Object prefixarg; |
3102 Lisp_Object final = cmd; | 3102 Lisp_Object final = cmd; |
3103 struct backtrace backtrace; | 3103 PROFILE_DECLARE(); |
3104 struct console *con = XCONSOLE (Vselected_console); | 3104 struct console *con = XCONSOLE (Vselected_console); |
3105 | 3105 |
3106 prefixarg = con->prefix_arg; | 3106 prefixarg = con->prefix_arg; |
3107 con->prefix_arg = Qnil; | 3107 con->prefix_arg = Qnil; |
3108 Vcurrent_prefix_arg = prefixarg; | 3108 Vcurrent_prefix_arg = prefixarg; |
3531 (form)) | 3531 (form)) |
3532 { | 3532 { |
3533 /* This function can GC */ | 3533 /* This function can GC */ |
3534 Lisp_Object fun, val, original_fun, original_args; | 3534 Lisp_Object fun, val, original_fun, original_args; |
3535 int nargs; | 3535 int nargs; |
3536 struct backtrace backtrace; | 3536 PROFILE_DECLARE(); |
3537 | 3537 |
3538 #ifdef ERROR_CHECK_TRAPPING_PROBLEMS | 3538 #ifdef ERROR_CHECK_TRAPPING_PROBLEMS |
3539 check_proper_critical_section_lisp_protection (); | 3539 check_proper_critical_section_lisp_protection (); |
3540 #endif | 3540 #endif |
3541 | 3541 |
3839 (int nargs, Lisp_Object *args)) | 3839 (int nargs, Lisp_Object *args)) |
3840 { | 3840 { |
3841 /* This function can GC */ | 3841 /* This function can GC */ |
3842 Lisp_Object fun; | 3842 Lisp_Object fun; |
3843 Lisp_Object val; | 3843 Lisp_Object val; |
3844 struct backtrace backtrace; | 3844 PROFILE_DECLARE(); |
3845 int fun_nargs = nargs - 1; | 3845 int fun_nargs = nargs - 1; |
3846 Lisp_Object *fun_args = args + 1; | 3846 Lisp_Object *fun_args = args + 1; |
3847 | 3847 |
3848 /* QUIT will check for proper redisplay wrapping */ | 3848 /* QUIT will check for proper redisplay wrapping */ |
3849 | 3849 |