Function: help--window-setup

help--window-setup is a byte-compiled function defined in help.el.gz.

Signature

(help--window-setup BUFFER CALLBACK)

Source Code

;; Defined in /usr/src/emacs/lisp/help.el.gz
(defun help--window-setup (buffer callback)
  ;; Make `help-window-point-marker' point nowhere.  The only place
  ;; where this should be set to a buffer position is within BODY.
  (set-marker help-window-point-marker nil)
  (with-current-buffer (get-buffer-create buffer)
    (unless (derived-mode-p 'help-mode)
      (help-mode))
    (setq buffer-read-only t
          buffer-file-name nil)
    (setq-local help-mode--current-data nil)
    (buffer-disable-undo)
    (let ((inhibit-read-only t))
      (erase-buffer)
      (delete-all-overlays)
      (prog1
          (let ((standard-output (current-buffer)))
            (prog1
                (funcall callback)
              (run-hooks 'temp-buffer-window-setup-hook)))
        (help-make-xrefs (current-buffer))
        ;; This must be done after the buffer has been completely
        ;; generated, since `temp-buffer-resize-mode' may be enabled.
        (help-window-setup (temp-buffer-window-show (current-buffer)))))))