Subject: RE: bug#13154: 24.3.50; emacs_backtrace.txt (different one)

From: "Drew Adams" <[email-masked]>
Date: Thu, 13 Dec 2012 13:16:03 -0800

> > From the backtrace I understand that Drew did show a 
> > temporary buffer and (probably after being done with that)
> > restored a previous window configuration.  This could come
> > from a `with-output-to-temp-buffer' wrapped in a
> > `save-window-excursion', which as we know is evil but
> > usually not evil enough to corrupt the stack.
> 
> Drew, does this allow to identify potential villains?  We are looking
> for some code that runs inside the above 2 forms.

I grepped my code for `with-output-to-temp-buffer' and checked each occurrence
to see if lexically within a `save-excursion'.  Took me a while.    I have lots
of calls to `with-output-to-temp-buffer'.

Of course, that is not a complete test, since some code doing a `save-excursion'
could call a function that then does `with-output-to-temp-buffer'.  I cannot
check for that - far too time-consuming.

FWIW, it's not clear to me that `w-o-t-t-b' inside `s-e' is "evil".  It might be
ineffectual in some contexts, in the sense that it might not do what some users
mistakenly might expect, but - for my own understanding - just why do you
consider it evil?

Anyway, this is all my search turned up.  Neither of these is pertinent, IMO.

* I found an occurrence in my version of `describe-function', which is based on
the vanilla Emacs 22 version in this respect.  It has to work for 22+, and 22
does not have macro `with-help-window'.  (Yes, I could duplicate the code and
have a version for Emacs 23+...)  In my own help commands (`describe-file',
`describe-keymap'), I do not use `save-excursion.

* I found one other occurrence of `with-output-to-temp-buffer' inside
`save-excursion', but that code is used only when running Emacs 22, and it is a
copy of the vanilla Emacs 22 code (for `describe-text-properties').  IOW, the
fault is with vanilla Emacs in this case, and this case cannot be manifested in
Emacs 24 anyway.

HTH (but I doubt it).