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

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Wed, 26 Mar 2014 20:09:01 UTC

Severity: normal

Tags: confirmed

Merged with 16038, 17966

Found in versions 24.3, 24.4.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Drew Adams <drew.adams <at> oracle.com>
To: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>, Leo Liu <sdl.web <at> gmail.com>
Cc: 17109 <at> debbugs.gnu.org
Subject: bug#17109: 24.4.50; REGRESSION: `with-output-to-temp-buffer' is broken
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.





This bug report was last modified 10 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.