GNU bug report logs -
#8368
24.0.50; "temp" means "help" - rename or at least document
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 28 Mar 2011 16:40:02 UTC
Severity: wishlist
Found in version 24.0.50
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #32 received at 8368 <at> debbugs.gnu.org (full text, mbox):
> From: Stefan Monnier Sent: Saturday, September 10, 2011 9:58 PM
>
Lars> There's been no response in two months.
Lars> I think the following is a bug:
Lars> ;; This makes `with-output-to-temp-buffer' buffers use `help-mode'.
Lars> (add-hook 'temp-buffer-setup-hook 'help-mode-setup)
Lars> (add-hook 'temp-buffer-show-hook 'help-mode-finish)
Lars> Would removing these be a good idea?
>
> Not at this stage of the development, no.
So now it's been over a year since the bug was filed.
Can't the help mode code add those hooks only for the use of *Help* and other
help-mode buffers? Why should all uses of `with-output-to-temp-buffer' end up
running those hook functions that are, after all, specific to help mode?
Can we please move forward on fixing this bug?
There is lots of stuff in a "temp" buffer now that has nothing to do with a
temporary buffer.
emacs -Q
(setq debug-on-error t)
(defun foo ()
"..."
(with-output-to-temp-buffer "*TEMP*"
(princ "FOOOOO\n-----\n\n")))
(foo)
C-x b *TEMP*
TAB
Debugger entered--Lisp error: (error "No buttons!")
signal(error ("No buttons!"))
error("No buttons!")
forward-button(1 1 1)
call-interactively(forward-button nil nil)
No f___ing buttons? WTF? Who cares?
Look at all the keys bound now in a "temporary" buffer (below). How many of
them have to do with a temporary display of something other than outright
*Help*?
The only keys I can think of that might generally make sense for a temporary
buffer mode are SPC, DEL, <, >, ?, h, q, maybe z (but why was `z' chosen to
kill?), maybe the digits and -, and maybe (if `revert-buffer-function' says so)
g.
All of the special help link and navigation commands should be reserved for a
help mode that is _derived_ from a (minimal) temporary buffer mode.
While waiting for that, users have to do something like this, just to get rid of
the *Help*-imposed stuff:
(defmacro with-output-to-plain-temp-buffer (buf &rest body)
"Like `with-output-to-temp-buffer', but with no *Help* navigation stuff."
`(unwind-protect
(progn
(remove-hook 'temp-buffer-setup-hook 'help-mode-setup)
(remove-hook 'temp-buffer-show-hook 'help-mode-finish)
(with-output-to-temp-buffer ,buf ,@body))
(add-hook 'temp-buffer-setup-hook 'help-mode-setup)
(add-hook 'temp-buffer-show-hook 'help-mode-finish)))
It makes no more sense for *Help* to have co-opted temporary buffer display than
it would have made for Info to have co-opted it. Dunno how we ever went down
this road.
key binding
--- -------
C-c Prefix Command
TAB forward-button
RET help-follow
ESC Prefix Command
SPC scroll-up-command
- negative-argument
0 .. 9 digit-argument
< beginning-of-buffer
> end-of-buffer
? describe-mode
g revert-buffer
h describe-mode
q quit-window
z kill-this-buffer
DEL scroll-down-command
<backtab> backward-button
<mouse-2> help-follow-mouse
<remap> Prefix Command
C-c C-b help-go-back
C-c C-c help-follow-symbol
C-c C-f help-go-forward
M-TAB backward-button
This bug report was last modified 5 years and 303 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.