GNU bug report logs -
#17109
24.4.50; REGRESSION: `with-output-to-temp-buffer' is broken
Previous Next
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
In a build as recent as this one there was no such problem:
In GNU Emacs 24.4.50.1 (i686-pc-mingw32)
of 2014-03-21 on ODIEONE
Bzr revision: 116829 dancol <at> dancol.org-20140321121023-5tjxtiws6qa4qyod
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --prefix=/c/Devel/emacs/snapshot/trunk
--enable-checking=yes,glyphs 'CFLAGS=-O0 -g3' 'CPPFLAGS=-DGC_MCHECK=1
-Ic:/Devel/emacs/include' LDFLAGS=-Lc:/Devel/emacs/lib'
The problem exists in this build:
In GNU Emacs 24.4.50.1 (i686-pc-mingw32)
of 2014-03-23 on ODIEONE
Bzr revision: 116869 yamaoka <at> jpl.org-20140324004210-m3ek4k40qwamyabx
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --prefix=/c/Devel/emacs/snapshot/trunk
--enable-checking=yes,glyphs 'CFLAGS=-O0 -g3'
LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
-Ic:/Devel/emacs/include''
Recipe:
emacs -Q
Evaluate this:
(defun describe-keymap (keymap) ; Bound to `C-h M-k'
"Describe bindings in KEYMAP, a variable whose value is a keymap.
Completion is available for the keymap name."
(interactive
(list (intern
(completing-read
"Keymap: " obarray
(lambda (m) (and (boundp m)
(keymapp (symbol-value m))))
t nil 'variable-name-history))))
(unless (and (symbolp keymap) (boundp keymap)
(keymapp (symbol-value keymap)))
(error "`%S' is not a keymapp" keymap))
(let ((name (symbol-name keymap))
(doc (documentation-property
keymap 'variable-documentation)))
(help-setup-xref
(list #'describe-keymap keymap)
(called-interactively-p 'interactive))
(with-output-to-temp-buffer "*Help*" ; NO GOOD with this
;; (with-help-window "*Help*" ; <======== OK with this
(princ name) (terpri)
(princ (make-string (length name) ?-))
(terpri) (terpri)
(when doc
(princ doc) (terpri) (terpri))
(with-current-buffer "*Help*"
(insert (substitute-command-keys
(concat "\\{" name "}")))))))
M-x describe-keymap RET ctl-x-map RET
Buffer *Help* is not in Help mode, as it should be.
It is in Fundamental mode.
Change `with-output-to-temp-buffer' to `with-help-window' and the
problem goes away.
This does not seem right. We should not have to replace the former with
the latter everywhere. And the former still exists. It just does not
do the right thing anymore.
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.