[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SIGABRT while stress-testing with gnuclient/gnudoit
From: |
Alex Schroeder |
Subject: |
Re: SIGABRT while stress-testing with gnuclient/gnudoit |
Date: |
Mon, 06 Jan 2003 21:07:00 +0100 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2.92 (i686-pc-linux-gnu) |
Richard Stallman <address@hidden> writes:
> You didn't tell me to use C-x C-e; I used C-j, which handles the
> output differently. Now I understand the problem.
>
> Does this patch fix it?
I will try the patch as soon as possible.
In my original post I proposed an additional feature, however, which I
would like to consider again.
Is exiting emacs (cleanly or not) really the right thing for
delete-frame to do?
The documentation for delete-frame says:
"A frame may not be deleted if its minibuffer is used by other
frames. Normally, you may not delete a frame if all other frames
are invisible, but if the second optional argument FORCE is
non-nil, you may do so.
Assume usage similar to emacsclient -- when we are done with editing,
we would like delete the current frame, even if this is the last
visible frame. I do not think that we want to kill Emacs, however!
The situation is not that uncommon:
(In this example I assume that invisible means either all frames are
iconified, or on other displays -- perhaps the documentation string
could be more verbose on this issue!)
Now assume a running Emacs, iconified, or frames displaying on another
display. Now I run an application similar to emacsclient -- it
creates a new frame on the local display, and when I'm done, I call
some elisp code that is supposed to delete this frame. I really want
to delete the frame, but I do not want to kill Emacs just because the
other frames are invisible. I therefore think that delete-frame
should never remove the last frame.
Alex.
> *** xdisp.c.~1.797.~ Sun Dec 22 16:13:49 2002
> --- xdisp.c Sat Jan 4 14:05:35 2003
> ***************
> *** 6488,6493 ****
> --- 6488,6497 ----
> setup_echo_area_for_printing (multibyte_p)
> int multibyte_p;
> {
> + /* If we can't find an echo area any more, exit. */
> + if (! FRAME_LIVE_P (XFRAME (selected_frame)))
> + Fkill_emacs (Qnil);
> +
> ensure_echo_area_buffers ();
>
> if (!message_buf_print)