Mercurial > emacs
comparison src/keyboard.c @ 32174:13415f4f854a
(Frecursive_edit): Make sure redisplay can happen.
(show_help_echo): Use safe_call instead of
call_function; use safe_eval instead of eval_form.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 05 Oct 2000 19:27:17 +0000 |
parents | 6c61e0dbf542 |
children | 9b2a0dc393a4 |
comparison
equal
deleted
inserted
replaced
32173:fea92799d3e9 | 32174:13415f4f854a |
---|---|
936 { | 936 { |
937 int count = specpdl_ptr - specpdl; | 937 int count = specpdl_ptr - specpdl; |
938 | 938 |
939 command_loop_level++; | 939 command_loop_level++; |
940 update_mode_lines = 1; | 940 update_mode_lines = 1; |
941 | |
942 /* This function may have been called from a debugger called from | |
943 within redisplay, for instance by Edebugging a function called | |
944 from fontification-functions. We want to allow redisplay in | |
945 the debugging session. | |
946 | |
947 The recursive edit is left with a `(throw exit ...)'. The `exit' | |
948 tag is not caught anywhere in redisplay, i.e. when we leave the | |
949 recursive edit, the original redisplay leading to the recursive | |
950 edit will be unwound. The outcome should therefore be safe. */ | |
951 specbind (Qinhibit_redisplay, Qnil); | |
952 redisplaying_p = 0; | |
941 | 953 |
942 record_unwind_protect (recursive_edit_unwind, | 954 record_unwind_protect (recursive_edit_unwind, |
943 (command_loop_level | 955 (command_loop_level |
944 && current_buffer != XBUFFER (XWINDOW (selected_window)->buffer)) | 956 && current_buffer != XBUFFER (XWINDOW (selected_window)->buffer)) |
945 ? Fcurrent_buffer () | 957 ? Fcurrent_buffer () |
1958 Lisp_Object args[4]; | 1970 Lisp_Object args[4]; |
1959 args[0] = help; | 1971 args[0] = help; |
1960 args[1] = window; | 1972 args[1] = window; |
1961 args[2] = object; | 1973 args[2] = object; |
1962 args[3] = pos; | 1974 args[3] = pos; |
1963 help = call_function (4, args); | 1975 help = safe_call (4, args); |
1964 } | 1976 } |
1965 else | 1977 else |
1966 help = eval_form (help); | 1978 help = safe_eval (help); |
1967 | 1979 |
1968 if (!STRINGP (help)) | 1980 if (!STRINGP (help)) |
1969 return; | 1981 return; |
1970 } | 1982 } |
1971 | 1983 |