diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 6ac581914a7..80667951f91 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -226,6 +226,9 @@ Lisp_Object Qgrow_only; | |||
| 226 | Lisp_Object Qinhibit_eval_during_redisplay; | 226 | Lisp_Object Qinhibit_eval_during_redisplay; |
| 227 | Lisp_Object Qbuffer_position, Qposition, Qobject; | 227 | Lisp_Object Qbuffer_position, Qposition, Qobject; |
| 228 | 228 | ||
| 229 | /* Holds the list (error). */ | ||
| 230 | Lisp_Object list_of_error; | ||
| 231 | |||
| 229 | /* Functions called to fontify regions of text. */ | 232 | /* Functions called to fontify regions of text. */ |
| 230 | 233 | ||
| 231 | Lisp_Object Vfontification_functions; | 234 | Lisp_Object Vfontification_functions; |
| @@ -1323,7 +1326,9 @@ safe_eval (sexpr) | |||
| 1323 | 1326 | ||
| 1324 | GCPRO1 (sexpr); | 1327 | GCPRO1 (sexpr); |
| 1325 | specbind (Qinhibit_redisplay, Qt); | 1328 | specbind (Qinhibit_redisplay, Qt); |
| 1326 | val = internal_condition_case_1 (Feval, sexpr, Qerror, | 1329 | /* Use Qt to ensure debugger does not run, |
| 1330 | so there is no possibility of wanting to redisplay. */ | ||
| 1331 | val = internal_condition_case_1 (Feval, sexpr, Qt, | ||
| 1327 | safe_eval_handler); | 1332 | safe_eval_handler); |
| 1328 | UNGCPRO; | 1333 | UNGCPRO; |
| 1329 | val = unbind_to (count, val); | 1334 | val = unbind_to (count, val); |
| @@ -1354,7 +1359,9 @@ safe_call (nargs, args) | |||
| 1354 | GCPRO1 (args[0]); | 1359 | GCPRO1 (args[0]); |
| 1355 | gcpro1.nvars = nargs; | 1360 | gcpro1.nvars = nargs; |
| 1356 | specbind (Qinhibit_redisplay, Qt); | 1361 | specbind (Qinhibit_redisplay, Qt); |
| 1357 | val = internal_condition_case_2 (Ffuncall, nargs, args, Qerror, | 1362 | /* Use Qt to ensure debugger does not run, |
| 1363 | so there is no possibility of wanting to redisplay. */ | ||
| 1364 | val = internal_condition_case_2 (Ffuncall, nargs, args, Qt, | ||
| 1358 | safe_eval_handler); | 1365 | safe_eval_handler); |
| 1359 | UNGCPRO; | 1366 | UNGCPRO; |
| 1360 | val = unbind_to (count, val); | 1367 | val = unbind_to (count, val); |
| @@ -8960,7 +8967,10 @@ redisplay_internal (preserve_echo_area) | |||
| 8960 | struct frame *mini_frame; | 8967 | struct frame *mini_frame; |
| 8961 | 8968 | ||
| 8962 | displayed_buffer = XBUFFER (XWINDOW (selected_window)->buffer); | 8969 | displayed_buffer = XBUFFER (XWINDOW (selected_window)->buffer); |
| 8963 | internal_condition_case_1 (redisplay_window_1, selected_window, Qerror, | 8970 | /* Use list_of_error, not Qerror, so that |
| 8971 | we catch only errors and don't run the debugger. */ | ||
| 8972 | internal_condition_case_1 (redisplay_window_1, selected_window, | ||
| 8973 | list_of_error, | ||
| 8964 | redisplay_window_error); | 8974 | redisplay_window_error); |
| 8965 | 8975 | ||
| 8966 | /* Compare desired and current matrices, perform output. */ | 8976 | /* Compare desired and current matrices, perform output. */ |
| @@ -9299,7 +9309,10 @@ redisplay_windows (window) | |||
| 9299 | else | 9309 | else |
| 9300 | { | 9310 | { |
| 9301 | displayed_buffer = XBUFFER (w->buffer); | 9311 | displayed_buffer = XBUFFER (w->buffer); |
| 9302 | internal_condition_case_1 (redisplay_window_0, window, Qerror, | 9312 | /* Use list_of_error, not Qerror, so that |
| 9313 | we catch only errors and don't run the debugger. */ | ||
| 9314 | internal_condition_case_1 (redisplay_window_0, window, | ||
| 9315 | list_of_error, | ||
| 9303 | redisplay_window_error); | 9316 | redisplay_window_error); |
| 9304 | } | 9317 | } |
| 9305 | 9318 | ||
| @@ -14887,6 +14900,9 @@ syms_of_xdisp () | |||
| 14887 | Qobject = intern ("object"); | 14900 | Qobject = intern ("object"); |
| 14888 | staticpro (&Qobject); | 14901 | staticpro (&Qobject); |
| 14889 | 14902 | ||
| 14903 | list_of_error = Fcons (intern ("error"), Qnil); | ||
| 14904 | staticpro (&list_of_error); | ||
| 14905 | |||
| 14890 | last_arrow_position = Qnil; | 14906 | last_arrow_position = Qnil; |
| 14891 | last_arrow_string = Qnil; | 14907 | last_arrow_string = Qnil; |
| 14892 | staticpro (&last_arrow_position); | 14908 | staticpro (&last_arrow_position); |