* window.el (set-window-buffer-start-and-point): Call
set-window-start with NOFORCE argument t. Suggested by Thierry
Volpiatto <thierry.volpiatto@gmail.com>.
(quit-window): Reword doc-string. Handle new format of
quit-restore parameter. Don't delete window if it has a
previous buffer we can show instead of the present one.
(display-buffer-record-window): Rewrite using a new format for
the quit-restore window parameter
(special-display-popup-frame, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Adapt symbol passed to display-buffer-record-window.
* help.el (help-window-setup): Handle new format of quit-restore
parameter.
* window.el (display-buffer-window): Remove.
(display-buffer-record-window): Use help-setup window parameter
instead of variable display-buffer-window.
(display-buffer-function, special-display-buffer-names)
(special-display-function): Mention help-setup parameter instead
of display-buffer-window in doc-string.
* help.el (help-window-setup): New argument help-window. Use
help-window-setup parameter instead of display-buffer-window.
Reword some messages.
(with-help-window): Pass window used for displaying the buffer
to help-window-setup. Don't set display-buffer-window.
* help.el (help-window): Remove variable.
(help-window-point-marker, temp-buffer-max-height)
(temp-buffer-resize-mode, help-window-select): Rewrite doc-strings.
(help-print-return-message): Don't set help-window.
(resize-temp-buffer-window): Rewrite cod eand doc-string.
(help-window-setup-finish): Remove.
(help-window-display-message, help-window-setup)
(with-help-window): Major rewrite based on new
display-buffer-window variable.
* help-mode.el (help-mode-finish): Remove help-window related
code.
* view.el (view-exits-all-viewing-windows): Remove reference to
view-return-to-alist in doc-string.
(view-return-to-alist): Make obsolete.
(view-buffer): Call pop-to-buffer-same-window and remove
undo-window code.
(view-buffer-other-window): Call pop-to-buffer-other-window and
simplify code. Ignore second argument.
(view-buffer-other-frame): Call pop-to-buffer-other-frame and
simplify code. Ignore second argument.
(view-return-to-alist-update): Make obsolete.
(view-mode-enter): Rename second argument to QUIT-RESTORE.
Rewrite using quit-restore window parameters.
(view-mode-exit): Rename second argument to EXIT-ONLY. Rewrite
using quit-restore-window.
(View-exit, View-exit-and-edit, View-leave, View-quit)
(View-quit-all, View-kill-and-leave): Call view-mode-exit with
appropriate arguments.
(view-end-message): Use quit-restore window parameter.
* lisp/help.el (help-form-show): New function, to be called from C.
Put help-form output in a buffer named differently than *Help*.
* src/keyboard.c (read_char): Call Lisp function help-form-show,
instead of using internal_with_output_to_temp_buffer.
(Qhelp_form_show): New var.
* src/lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
* src/print.c (internal_with_output_to_temp_buffer): Function deleted.
* isearch.el (isearch-help-for-help-internal): Purecopy the second arg.
* help-macro.el (make-help-screen): Avoid using an ambiguous function
definition where the docstring could be taken for the return value.
(help-window-select): New option.
(with-help-window): New macro for displaying help windows.
(help-window-display-message, help-window-setup-finish)
(help-window-setup): New functions used for setting up help windows.
(print-help-return-message): Reset help-window to nil.
(view-lossage): Use with-help-window instead of
with-output-to-temp-buffer and move help-window-point-marker after
inserted text.
(describe-bindings, describe-key, describe-mode): Use
with-help-window instead of with-output-to-temp-buffer.