comparison src/emacs.c @ 32:e04119814345 r19-15b99

Import from CVS: tag r19-15b99
author cvs
date Mon, 13 Aug 2007 08:52:56 +0200
parents 859a2309aef8
children ee648375d8d6
comparison
equal deleted inserted replaced
31:b9328a10c56c 32:e04119814345
178 fatal_error_in_progress = 1; 178 fatal_error_in_progress = 1;
179 shut_down_emacs (sig, Qnil); 179 shut_down_emacs (sig, Qnil);
180 stderr_out("\nLisp backtrace follows:\n\n"); 180 stderr_out("\nLisp backtrace follows:\n\n");
181 Fbacktrace(Qexternal_debugging_output, Qt); 181 Fbacktrace(Qexternal_debugging_output, Qt);
182 182
183 # if 0 /* This is evil, rarely useful, and causes grief in some cases. */
183 /* Check for Sun-style stack printing via /proc */ 184 /* Check for Sun-style stack printing via /proc */
184 { 185 {
185 CONST char *pstack = "/usr/proc/bin/pstack"; 186 CONST char *pstack = "/usr/proc/bin/pstack";
186 if (access(pstack, X_OK) == 0) 187 if (access(pstack, X_OK) == 0)
187 { 188 {
190 "(A real debugger may provide better information)\n\n"); 191 "(A real debugger may provide better information)\n\n");
191 sprintf(buf, "%s %d >&2", pstack, (int)getpid()); 192 sprintf(buf, "%s %d >&2", pstack, (int)getpid());
192 system(buf); 193 system(buf);
193 } 194 }
194 } 195 }
196 # endif
195 } 197 }
196 #ifdef VMS 198 #ifdef VMS
197 LIB$STOP (SS$_ABORT); 199 LIB$STOP (SS$_ABORT);
198 #else 200 #else
199 /* Signal the same code; this time it will really be fatal. */ 201 /* Signal the same code; this time it will really be fatal. */
2118 /* This flag is useful to define if you're under a debugger; this way, you 2120 /* This flag is useful to define if you're under a debugger; this way, you
2119 can put a breakpoint of assert_failed() and debug multiple problems 2121 can put a breakpoint of assert_failed() and debug multiple problems
2120 in one session without having to recompile. */ 2122 in one session without having to recompile. */
2121 /* #define ASSERTIONS_DONT_ABORT */ 2123 /* #define ASSERTIONS_DONT_ABORT */
2122 2124
2123 #ifdef USE_ASSERTIONS
2124 /* This highly dubious kludge ... shut up Jamie, I'm tired of your slagging. */ 2125 /* This highly dubious kludge ... shut up Jamie, I'm tired of your slagging. */
2125 2126
2126 DOESNT_RETURN 2127 DOESNT_RETURN
2127 assert_failed (CONST char *file, int line, CONST char *expr) 2128 assert_failed (CONST char *file, int line, CONST char *expr)
2128 { 2129 {
2131 #undef abort /* avoid infinite #define loop... */ 2132 #undef abort /* avoid infinite #define loop... */
2132 #ifndef ASSERTIONS_DONT_ABORT 2133 #ifndef ASSERTIONS_DONT_ABORT
2133 abort (); 2134 abort ();
2134 #endif 2135 #endif
2135 } 2136 }
2136 #endif /* USE_ASSERTIONS */
2137 2137
2138 #ifdef QUANTIFY 2138 #ifdef QUANTIFY
2139 DEFUN ("quantify-start-recording-data", 2139 DEFUN ("quantify-start-recording-data",
2140 Fquantify_start_recording_data, 0, 0, 0, /* 2140 Fquantify_start_recording_data, 0, 0, 0, /*
2141 Start recording Quantify data. 2141 Start recording Quantify data.