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/terminal.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/terminal.c')
| -rw-r--r-- | src/terminal.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/terminal.c b/src/terminal.c index 6b6edf14316..0b1e9f32576 100644 --- a/src/terminal.c +++ b/src/terminal.c | |||
| @@ -256,7 +256,7 @@ delete_terminal (struct terminal *terminal) | |||
| 256 | struct terminal **tp; | 256 | struct terminal **tp; |
| 257 | Lisp_Object tail, frame; | 257 | Lisp_Object tail, frame; |
| 258 | 258 | ||
| 259 | /* Protect against recursive calls. Fdelete_frame calls the | 259 | /* Protect against recursive calls. delete_frame calls the |
| 260 | delete_terminal_hook when we delete our last frame. */ | 260 | delete_terminal_hook when we delete our last frame. */ |
| 261 | if (!terminal->name) | 261 | if (!terminal->name) |
| 262 | return; | 262 | return; |
| @@ -269,8 +269,8 @@ delete_terminal (struct terminal *terminal) | |||
| 269 | struct frame *f = XFRAME (frame); | 269 | struct frame *f = XFRAME (frame); |
| 270 | if (FRAME_LIVE_P (f) && f->terminal == terminal) | 270 | if (FRAME_LIVE_P (f) && f->terminal == terminal) |
| 271 | { | 271 | { |
| 272 | /* Maybe this should pass Qnoelisp rather than Qt? */ | 272 | /* Pass Qnoelisp rather than Qt. */ |
| 273 | Fdelete_frame (frame, Qt); | 273 | delete_frame (frame, Qnoelisp); |
| 274 | } | 274 | } |
| 275 | } | 275 | } |
| 276 | 276 | ||
| @@ -283,7 +283,7 @@ delete_terminal (struct terminal *terminal) | |||
| 283 | terminal->keyboard_coding = NULL; | 283 | terminal->keyboard_coding = NULL; |
| 284 | xfree (terminal->terminal_coding); | 284 | xfree (terminal->terminal_coding); |
| 285 | terminal->terminal_coding = NULL; | 285 | terminal->terminal_coding = NULL; |
| 286 | 286 | ||
| 287 | if (terminal->kboard && --terminal->kboard->reference_count == 0) | 287 | if (terminal->kboard && --terminal->kboard->reference_count == 0) |
| 288 | { | 288 | { |
| 289 | delete_kboard (terminal->kboard); | 289 | delete_kboard (terminal->kboard); |
| @@ -315,7 +315,7 @@ but if the second argument FORCE is non-nil, you may do so. */) | |||
| 315 | struct terminal *p = terminal_list; | 315 | struct terminal *p = terminal_list; |
| 316 | while (p && (p == t || !TERMINAL_ACTIVE_P (p))) | 316 | while (p && (p == t || !TERMINAL_ACTIVE_P (p))) |
| 317 | p = p->next_terminal; | 317 | p = p->next_terminal; |
| 318 | 318 | ||
| 319 | if (!p) | 319 | if (!p) |
| 320 | error ("Attempt to delete the sole active display terminal"); | 320 | error ("Attempt to delete the sole active display terminal"); |
| 321 | } | 321 | } |
| @@ -376,7 +376,7 @@ possible return values. */) | |||
| 376 | Lisp_Object object; | 376 | Lisp_Object object; |
| 377 | { | 377 | { |
| 378 | struct terminal *t; | 378 | struct terminal *t; |
| 379 | 379 | ||
| 380 | t = get_terminal (object, 0); | 380 | t = get_terminal (object, 0); |
| 381 | 381 | ||
| 382 | if (!t) | 382 | if (!t) |