Subject: RE: bug#7728: 24.0.50; GDB backtrace from abort

From: "Drew Adams" <[email-masked]>
Date: Wed, 12 Jan 2011 10:36:19 -0800

> But I bet Drew's code works just fine, when it does not crash.

It does.

And as I stated, it also works fine if I load the source file `fit-frame.el'
instead of the byte-compiled file `fit-frame.elc' (regardless of whether it is
compiled using Emacs 20 or the latest version).

It seems that in the latest release only, something in the byte-compilation
(from this release and from older releases) causes the crash.

> Anyway, if switching away of the frame inside save-window-excursion is
> not allowed, we should detect that and signal an error.

Please do not even think of such a thing.  AFAIK `save-window-excursion' has
always let you change frames.

(I've always thought of it more or less as `save-windows-and-frames-excursion'
(but I don't claim that is appropriate).)

> That would solve this bug cleanly, with no need for any
> low-level hacking or kludges.
> 
> > To avoid the present crash we could try something like the attached
> > patch (which does not try to solve anything but that crash).
> 
> But if you say that switching a frame inside save-window-excursion is
> not supported, why do we need to change code to support it?  What am I
> missing?

I don't agree that switching a frame inside a `save-window-excursion' is a
no-no.