Subject: bug#17109: 24.4.50; REGRESSION: `with-output-to-temp-buffer' is broken

From: Drew Adams <[email-masked]>
Date: Thu, 27 Mar 2014 08:09:23 -0700 (PDT)

> >> In a build as recent as this one there was no such problem:
> >
> > See bug#16038 on why with-output-to-temp-buffer is no longer associated
> > with help mode. You can use any major mode.
> 
> (Bug#16816, Bug#17007) are also relevant. See lisp/ChangeLog for the log
> of the various changes and reversions.

Well, those are apparently relevant to the various changes that have
been made, but they are not so relevant to *this* bug report.

This is the point:

1. `with-output-to-temp-buffer' is poorly named.  No question about
that.  I was among the first to mention it.

2. That is NOT a reason to change its *behavior*.

3. Create a better-named alias for it, expressing what it really
does, which concerns the *Help* buffer (not just any old temporary
buffer).

You can even *deprecate* the old name (continuing to support it,
of course) in favor of the more accurate name.

4. You can also create one or more new macros with different
behavior, which you prefer, and use those in vanilla Emacs code in
place of `with-output-to-temp-buffer`, adapting the surrounding code
to fit the different behavior of the new macro(s).

That would all be OK.  And it has all been discussed in the various
bug threads cited.

5. What you must NOT do is change the behavior of the existing macro,
so that any code that uses it breaks.

It is not because the macro does not live up to its unfortunate name
that you should change the behavior, including changing it to better
reflect the name.  Far from it.

And that is just what you've done: change the behavior. That is the
regression that *this* bug report is about.