4.3BSD-Reno/contrib/lib/emacs/lisp/ehelp.elc
(require (quote electric))
(provide (quote ehelp))
(defvar electric-help-map nil "\
Keymap defining commands available whilst scrolling
through a buffer in electric-help-mode")
(put (quote electric-help-undefined) (quote suppress-keymap) t)
(if electric-help-map nil (let ((map (make-keymap))) (fillarray map (quote electric-help-undefined)) (define-key map (char-to-string meta-prefix-char) (copy-keymap map)) (define-key map (char-to-string help-char) (quote electric-help-help)) (define-key map "?" (quote electric-help-help)) (define-key map " " (quote scroll-up)) (define-key map "" (quote scroll-down)) (define-key map "." (quote beginning-of-buffer)) (define-key map "<" (quote beginning-of-buffer)) (define-key map ">" (quote end-of-buffer)) (define-key map "q" (quote electric-help-exit)) (define-key map "Q" (quote electric-help-exit)) (define-key map "r" (quote electric-help-retain)) (setq electric-help-map map)))
(defun electric-help-mode nil "\
with-electric-help temporarily places its buffer in this mode
(On exit from with-electric-help, the buffer is put in default-major-mode)" (byte-code "Ɖljȉ
!" [buffer-read-only t mode-name major-mode mode-line-buffer-identification electric-help-map "Help" help (" Help: %b") use-local-map] 2))
(defun with-electric-help (thunk &optional buffer noerase) "\
Arguments are THUNK &optional BUFFER NOERASE.
BUFFER defaults to \"*Help*\"
THUNK is a function of no arguments which is called to initialise
the contents of BUFFER. BUFFER will be erased before THUNK is called unless
NOERASE is non-nil. THUNK will be called with standard-output bound to
the buffer specified by BUFFER
After THUNK has been called, this function \"electrically\" pops up a window
in which BUFFER is displayed and allows the user to scroll through that buffer
in electric-help-mode.
When the user exits (with electric-help-exit, or otherwise) the help
buffer's window disappears (ie we use save-window-excursion)
BUFFER is put into default-major-mode (or fundamental-mode) when we exit" (byte-code " !!U
! !\"Z
V8
! \"# \"\"\"b*\\ !!*" [buffer one t two nil pop-up-windows buffer-read-only noerase standard-output thunk tem get-buffer-create "*Help*" one-window-p ((byte-code "
!b!)͎q ʼn&