From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Drew Adams" <drew.adams@oracle.com>
Cc: 7728@debbugs.gnu.org
Subject: bug#7728: 24.0.50; GDB backtrace from abort
Date: Thu, 13 Jan 2011 16:24:27 -0500 [thread overview]
Message-ID: <jwvtyhccxo8.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <B32C9B7054D74650AE29DE3EE44B8E7F@us.oracle.com> (Drew Adams's message of "Thu, 13 Jan 2011 09:57:11 -0800")
>> > And just what code do you suggest for going off to do something on
>> > a different frame and returning? AFAIK we do not have
>> > a `save-frame-excursion'.
>> Hmm... let's see... how 'bout `with-selected-frame'? ;-)
> Does not exist before Emacs 23, for one thing. My code needs to work
> with multiple Emacs versions. And please do not suggest that I add
> such macros to older versions just to be able to work around a newly
> introduced Emacs bug. And please do not suggest that I split the code
> to use the macro only for Emacs 23.3+ since this is a new bug
> (regression).
I'm just telling you what's the right way to do it.
> Sorry, but I have never, ever suffered from "those things".
Then either you were lucky to only use the code after I fixed it, or you
don't know what I'm talking about. The typical misuse looks like:
(save-window-excursion
(let ((b (find-file "foo")))
blabla))
instead of
(let ((b (find-file-noselect "foo")))
blabla)
I.e. call code that may modify the window-layout whereas what the caller
wants is something else, so he uses save-window-excursion to "undo"
those changes. But of course, with pop-up-frames and friends, in
many/most cases the code may not only modify the window-layout but also
create a new frame, which can't really be undone because the creation
itself is already user-visible, and save-window-excursion won't even try
to undo it anyway.
> And `save-window-excursion' _has_ always been used for this kind of
> thing in Emacs AFAIK - revisionism notwithstanding.
I didn't know that. Can you point at some examples?
> In this case the `save-window-excursion' should amount to a no-op in
> the end. The source and target window and frame need not be the same
> in general, but they are the same in the crashes I reported. If Emacs
> cannot save and restore without crashing in this case then Houston you
> really have a problem.
You know I always consider any crash as a bug in the C code, even if
it's triggered by Elisp code.
Stefan
next prev parent reply other threads:[~2011-01-13 21:24 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-24 16:55 bug#7728: 24.0.50; GDB backtrace from abort Drew Adams
2010-12-25 9:38 ` Eli Zaretskii
2010-12-25 10:44 ` Andreas Schwab
2010-12-25 11:12 ` Eli Zaretskii
2010-12-25 20:35 ` Stefan Monnier
2011-01-01 18:02 ` Eli Zaretskii
2011-01-09 21:18 ` Eli Zaretskii
2011-01-10 23:32 ` Drew Adams
2011-01-11 20:55 ` Stefan Monnier
2011-01-11 21:14 ` Eli Zaretskii
2011-01-11 21:44 ` Drew Adams
2011-01-12 4:11 ` Eli Zaretskii
2011-01-12 4:59 ` Drew Adams
2011-01-12 11:03 ` Eli Zaretskii
2011-01-12 18:36 ` Drew Adams
2011-01-12 19:52 ` Drew Adams
2011-01-12 21:30 ` Drew Adams
2011-01-12 7:54 ` martin rudalics
2011-01-12 15:05 ` Drew Adams
2011-01-12 15:14 ` Stefan Monnier
2011-01-12 15:59 ` martin rudalics
2011-01-12 16:22 ` Eli Zaretskii
2011-01-12 17:42 ` martin rudalics
2011-01-12 17:48 ` Eli Zaretskii
2011-01-12 18:35 ` martin rudalics
2011-01-12 18:36 ` Drew Adams
2011-01-15 2:59 ` Chong Yidong
2011-01-15 20:05 ` martin rudalics
2011-01-13 2:53 ` Stefan Monnier
2011-01-13 7:07 ` Drew Adams
2011-01-13 17:02 ` Stefan Monnier
2011-01-13 17:57 ` Drew Adams
2011-01-13 21:24 ` Stefan Monnier [this message]
2011-01-13 22:06 ` Drew Adams
2011-01-14 0:26 ` Eli Zaretskii
2011-01-14 1:19 ` Drew Adams
2011-01-14 2:40 ` Eli Zaretskii
2011-01-14 6:46 ` Drew Adams
2011-01-14 7:09 ` Drew Adams
2011-01-14 20:01 ` Sean Sieger
2011-01-14 21:06 ` Drew Adams
2011-01-14 21:46 ` Sean Sieger
2011-01-14 22:51 ` Eli Zaretskii
2011-01-14 23:56 ` Sean Sieger
2011-01-14 2:25 ` Stefan Monnier
2011-01-14 4:25 ` Drew Adams
2011-01-14 8:26 ` martin rudalics
2011-01-14 8:58 ` Drew Adams
2011-01-14 15:30 ` Stefan Monnier
2011-01-16 20:44 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvtyhccxo8.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=7728@debbugs.gnu.org \
--cc=drew.adams@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).