diff options
| author | Martin Rudalics | 2008-12-22 09:40:33 +0000 |
|---|---|---|
| committer | Martin Rudalics | 2008-12-22 09:40:33 +0000 |
| commit | 56f2de103fd8ee430ae3d2f6a1b83d4aa2012f90 (patch) | |
| tree | 4dcbba9b999a65c7919278eb93fd5b821f9b5b2d /src/xterm.c | |
| parent | caf857eb7c7815e1d11ed706fb4a789bc92c3924 (diff) | |
| download | emacs-56f2de103fd8ee430ae3d2f6a1b83d4aa2012f90.tar.gz emacs-56f2de103fd8ee430ae3d2f6a1b83d4aa2012f90.zip | |
* frame.c (delete_frame): New function derived from
Fdelete_frame to handle Qnoelisp value for FORCE argument.
Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
(Fdelete_frame): Call delete_frame. Remove line from doc-string
saying that FORCE non-nil doesn't run `delete-frame-functions'.
* frame.h: Extern delete_frame.
* window.c (window_loop):
* terminal.c (delete_terminal):
* xterm.c (x_connection_closed):
* xfns.c (Fx_hide_tip):
* w32fns.c (Fx_hide_tip): Call delete_frame instead of
Fdelete_frame.
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/xterm.c b/src/xterm.c index 505100c6488..37c187486d8 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -4017,7 +4017,7 @@ x_window_to_scroll_bar (display, window_id) | |||
| 4017 | 4017 | ||
| 4018 | if (! FRAME_X_P (XFRAME (frame))) | 4018 | if (! FRAME_X_P (XFRAME (frame))) |
| 4019 | continue; | 4019 | continue; |
| 4020 | 4020 | ||
| 4021 | /* Scan this frame's scroll bar list for a scroll bar with the | 4021 | /* Scan this frame's scroll bar list for a scroll bar with the |
| 4022 | right window ID. */ | 4022 | right window ID. */ |
| 4023 | condemned = FRAME_CONDEMNED_SCROLL_BARS (XFRAME (frame)); | 4023 | condemned = FRAME_CONDEMNED_SCROLL_BARS (XFRAME (frame)); |
| @@ -6467,7 +6467,7 @@ handle_one_xevent (dpyinfo, eventp, finish, hold_quit) | |||
| 6467 | inev.ie.code = XFASTINT (c); | 6467 | inev.ie.code = XFASTINT (c); |
| 6468 | goto done_keysym; | 6468 | goto done_keysym; |
| 6469 | } | 6469 | } |
| 6470 | 6470 | ||
| 6471 | /* Random non-modifier sorts of keysyms. */ | 6471 | /* Random non-modifier sorts of keysyms. */ |
| 6472 | if (((keysym >= XK_BackSpace && keysym <= XK_Escape) | 6472 | if (((keysym >= XK_BackSpace && keysym <= XK_Escape) |
| 6473 | || keysym == XK_Delete | 6473 | || keysym == XK_Delete |
| @@ -7172,7 +7172,7 @@ XTread_socket (terminal, expected, hold_quit) | |||
| 7172 | XTread_socket_fake_io_error = 0; | 7172 | XTread_socket_fake_io_error = 0; |
| 7173 | x_io_error_quitter (terminal->display_info.x->display); | 7173 | x_io_error_quitter (terminal->display_info.x->display); |
| 7174 | } | 7174 | } |
| 7175 | 7175 | ||
| 7176 | #if 0 /* This loop is a noop now. */ | 7176 | #if 0 /* This loop is a noop now. */ |
| 7177 | /* Find the display we are supposed to read input for. | 7177 | /* Find the display we are supposed to read input for. |
| 7178 | It's the one communicating on descriptor SD. */ | 7178 | It's the one communicating on descriptor SD. */ |
| @@ -7871,7 +7871,7 @@ x_connection_closed (dpy, error_message) | |||
| 7871 | dpyinfo->reference_count++; | 7871 | dpyinfo->reference_count++; |
| 7872 | dpyinfo->terminal->reference_count++; | 7872 | dpyinfo->terminal->reference_count++; |
| 7873 | } | 7873 | } |
| 7874 | 7874 | ||
| 7875 | /* First delete frames whose mini-buffers are on frames | 7875 | /* First delete frames whose mini-buffers are on frames |
| 7876 | that are on the dead display. */ | 7876 | that are on the dead display. */ |
| 7877 | FOR_EACH_FRAME (tail, frame) | 7877 | FOR_EACH_FRAME (tail, frame) |
| @@ -7883,7 +7883,7 @@ x_connection_closed (dpy, error_message) | |||
| 7883 | && FRAME_X_P (XFRAME (minibuf_frame)) | 7883 | && FRAME_X_P (XFRAME (minibuf_frame)) |
| 7884 | && ! EQ (frame, minibuf_frame) | 7884 | && ! EQ (frame, minibuf_frame) |
| 7885 | && FRAME_X_DISPLAY_INFO (XFRAME (minibuf_frame)) == dpyinfo) | 7885 | && FRAME_X_DISPLAY_INFO (XFRAME (minibuf_frame)) == dpyinfo) |
| 7886 | Fdelete_frame (frame, Qnoelisp); | 7886 | delete_frame (frame, Qnoelisp); |
| 7887 | } | 7887 | } |
| 7888 | 7888 | ||
| 7889 | /* Now delete all remaining frames on the dead display. | 7889 | /* Now delete all remaining frames on the dead display. |
| @@ -7893,10 +7893,10 @@ x_connection_closed (dpy, error_message) | |||
| 7893 | if (FRAME_X_P (XFRAME (frame)) | 7893 | if (FRAME_X_P (XFRAME (frame)) |
| 7894 | && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) | 7894 | && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) |
| 7895 | { | 7895 | { |
| 7896 | /* Set this to t so that Fdelete_frame won't get confused | 7896 | /* Set this to t so that delete_frame won't get confused |
| 7897 | trying to find a replacement. */ | 7897 | trying to find a replacement. */ |
| 7898 | FRAME_KBOARD (XFRAME (frame))->Vdefault_minibuffer_frame = Qt; | 7898 | FRAME_KBOARD (XFRAME (frame))->Vdefault_minibuffer_frame = Qt; |
| 7899 | Fdelete_frame (frame, Qnoelisp); | 7899 | delete_frame (frame, Qnoelisp); |
| 7900 | } | 7900 | } |
| 7901 | 7901 | ||
| 7902 | /* We have to close the display to inform Xt that it doesn't | 7902 | /* We have to close the display to inform Xt that it doesn't |
| @@ -10170,7 +10170,7 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 10170 | terminal->name = (char *) xmalloc (SBYTES (display_name) + 1); | 10170 | terminal->name = (char *) xmalloc (SBYTES (display_name) + 1); |
| 10171 | strncpy (terminal->name, SDATA (display_name), SBYTES (display_name)); | 10171 | strncpy (terminal->name, SDATA (display_name), SBYTES (display_name)); |
| 10172 | terminal->name[SBYTES (display_name)] = 0; | 10172 | terminal->name[SBYTES (display_name)] = 0; |
| 10173 | 10173 | ||
| 10174 | #if 0 | 10174 | #if 0 |
| 10175 | XSetAfterFunction (x_current_display, x_trace_wire); | 10175 | XSetAfterFunction (x_current_display, x_trace_wire); |
| 10176 | #endif /* ! 0 */ | 10176 | #endif /* ! 0 */ |
| @@ -10622,7 +10622,7 @@ x_delete_terminal (struct terminal *terminal) | |||
| 10622 | struct x_display_info *dpyinfo = terminal->display_info.x; | 10622 | struct x_display_info *dpyinfo = terminal->display_info.x; |
| 10623 | int i; | 10623 | int i; |
| 10624 | 10624 | ||
| 10625 | /* Protect against recursive calls. Fdelete_frame in | 10625 | /* Protect against recursive calls. delete_frame in |
| 10626 | delete_terminal calls us back when it deletes our last frame. */ | 10626 | delete_terminal calls us back when it deletes our last frame. */ |
| 10627 | if (!terminal->name) | 10627 | if (!terminal->name) |
| 10628 | return; | 10628 | return; |
| @@ -10664,7 +10664,7 @@ static struct terminal * | |||
| 10664 | x_create_terminal (struct x_display_info *dpyinfo) | 10664 | x_create_terminal (struct x_display_info *dpyinfo) |
| 10665 | { | 10665 | { |
| 10666 | struct terminal *terminal; | 10666 | struct terminal *terminal; |
| 10667 | 10667 | ||
| 10668 | terminal = create_terminal (); | 10668 | terminal = create_terminal (); |
| 10669 | 10669 | ||
| 10670 | terminal->type = output_x_window; | 10670 | terminal->type = output_x_window; |
| @@ -10672,7 +10672,7 @@ x_create_terminal (struct x_display_info *dpyinfo) | |||
| 10672 | dpyinfo->terminal = terminal; | 10672 | dpyinfo->terminal = terminal; |
| 10673 | 10673 | ||
| 10674 | /* kboard is initialized in x_term_init. */ | 10674 | /* kboard is initialized in x_term_init. */ |
| 10675 | 10675 | ||
| 10676 | terminal->clear_frame_hook = x_clear_frame; | 10676 | terminal->clear_frame_hook = x_clear_frame; |
| 10677 | terminal->ins_del_lines_hook = x_ins_del_lines; | 10677 | terminal->ins_del_lines_hook = x_ins_del_lines; |
| 10678 | terminal->delete_glyphs_hook = x_delete_glyphs; | 10678 | terminal->delete_glyphs_hook = x_delete_glyphs; |
| @@ -10695,7 +10695,7 @@ x_create_terminal (struct x_display_info *dpyinfo) | |||
| 10695 | 10695 | ||
| 10696 | terminal->delete_frame_hook = x_destroy_window; | 10696 | terminal->delete_frame_hook = x_destroy_window; |
| 10697 | terminal->delete_terminal_hook = x_delete_terminal; | 10697 | terminal->delete_terminal_hook = x_delete_terminal; |
| 10698 | 10698 | ||
| 10699 | terminal->rif = &x_redisplay_interface; | 10699 | terminal->rif = &x_redisplay_interface; |
| 10700 | terminal->scroll_region_ok = 1; /* We'll scroll partial frames. */ | 10700 | terminal->scroll_region_ok = 1; /* We'll scroll partial frames. */ |
| 10701 | terminal->char_ins_del_ok = 1; | 10701 | terminal->char_ins_del_ok = 1; |