Fix to help-buffer to ensure it returns a valid buffer (Bug#8147).

* lisp/help-mode.el (help-buffer): If we are to return the current
buffer, signal an error if it's not in Help mode.
This commit is contained in:
Chong Yidong 2011-03-05 16:10:03 -05:00
parent b59a4335cd
commit d23ae2b03f
2 changed files with 14 additions and 6 deletions

View file

@ -1,3 +1,8 @@
2011-03-05 Chong Yidong <cyd@stupidchicken.com>
* help-mode.el (help-buffer): If we are to return the current
buffer, signal an error if it's not in Help mode (Bug#8147).
2011-03-05 Reuben Thomas <rrt@sc3d.org>
* files.el (file-name-version-regexp): Handle backup files of the

View file

@ -409,13 +409,16 @@ restore it properly when going back."
(defun help-buffer ()
"Return the name of a buffer for inserting help.
If `help-xref-following' is non-nil, this is the name of the
current buffer.
Otherwise, it is *Help*; if no buffer with that name currently
exists, it is created."
current buffer. Signal an error if this buffer is not derived
from `help-mode'.
Otherwise, return \"*Help*\", creating a buffer with that name if
it does not already exist."
(buffer-name ;for with-output-to-temp-buffer
(if help-xref-following
(current-buffer)
(get-buffer-create "*Help*"))))
(if (not help-xref-following)
(get-buffer-create "*Help*")
(unless (derived-mode-p 'help-mode)
(error "Current buffer is not in Help mode"))
(current-buffer))))
(defvar help-xref-override-view-map
(let ((map (make-sparse-keymap)))