;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:09:24 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/help-macro.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'backquote)
#@296 Non-nil means give more info about Help command in three steps.
The three steps are simple prompt, prompt with all options, and
window listing and describing the options.
A value of nil means skip the middle step, so that \[help-command] \[help-command]
gives the window that lists the options.
(custom-declare-variable 'three-step-help 'nil '(#$ . 566) :type 'boolean :group 'help)
#@426 Construct help-menu function name FNAME.
When invoked, FNAME shows HELP-LINE and reads a command using HELPED-MAP.
If the command is the help character, FNAME displays HELP-TEXT
and continues trying to read a command using HELPED-MAP.
If HELP-TEXT contains the sequence `%THIS-KEY%', that is replaced
with the key sequence that invoked FNAME.
When FNAME finally does get a command, it executes that command
and then returns.
(defalias 'make-help-screen '(macro . #[(fname help-line help-text helped-map) "\305\306!\307P!\310\311	\312\n\313BBBB\311\312\314\315\316\317\320DDC\321\322\323\324\325	DDD\326B\327\330\316\331\332\333\fE\334BBB\335BBFF\257E)\207" [fname doc-fn help-text help-line helped-map intern symbol-name "-doc" progn defun nil (nil) "Help command." (interactive) let line-prompt substitute-command-keys (when three-step-help (message "%s" line-prompt)) let* help-screen documentation quote ((local-map (make-sparse-keymap)) (new-minor-mode-map-alist minor-mode-map-alist) (prev-frame (selected-frame)) config new-frame key char) (when (string-match "%THIS-KEY%" help-screen) (setq help-screen (replace-match (key-description (substring (this-command-keys) 0 -1)) t t help-screen))) unwind-protect ((minor-mode-map-alist nil)) setcdr local-map ((define-key local-map [t] 'undefined) (define-key local-map [vertical-scroll-bar] (lookup-key global-map [vertical-scroll-bar])) (if three-step-help (progn (setq key (let ((overriding-local-map local-map)) (read-key-sequence nil))) (if (lookup-key function-key-map key) (setq key (lookup-key function-key-map key))) (setq char (aref key 0))) (setq char 63)) (when (or (eq char 63) (eq char help-char) (memq char help-event-list)) (setq config (current-window-configuration)) (switch-to-buffer-other-window "*Help*") (and (fboundp 'make-frame) (not (eq (window-frame (selected-window)) prev-frame)) (setq new-frame (window-frame (selected-window)) config nil)) (setq buffer-read-only nil) (let ((inhibit-read-only t)) (erase-buffer) (insert help-screen)) (let ((minor-mode-map-alist new-minor-mode-map-alist)) (help-mode) (setq new-minor-mode-map-alist minor-mode-map-alist)) (goto-char (point-min)) (while (or (memq char (append help-event-list (cons help-char '(63 22 32 127 delete backspace vertical-scroll-bar 134217846)))) (eq (car-safe char) 'switch-frame) (equal key "\366")) (condition-case nil (cond ((eq (car-safe char) 'switch-frame) (handle-switch-frame char)) ((memq char '(22 32)) (scroll-up)) ((or (memq char '(127 134217846 delete backspace)) (equal key "\366")) (scroll-down))) (error nil)) (let ((cursor-in-echo-area t) (overriding-local-map local-map)) (setq key (read-key-sequence (format "Type one of the options listed%s: " (if (pos-visible-in-window-p (point-max)) #1="" ", or SPACE or DEL to scroll"))) char (aref key 0))) (when (eq char 'vertical-scroll-bar) (command-execute (lookup-key local-map key) nil key)))) (message #1#) (if (listp char) (setq unread-command-events (cons char unread-command-events) config nil) (let ((defn (lookup-key local-map key))) (if defn (progn (when config (set-window-configuration config) (setq config nil)) (call-interactively defn) (when new-frame (unless (eq new-frame (selected-frame)) (iconify-frame new-frame)) (setq new-frame nil))) (ding))))) ((when config (set-window-configuration config)) (when new-frame (iconify-frame new-frame)) (setq minor-mode-map-alist new-minor-mode-map-alist))] 19 (#$ . 956)]))
(provide 'help-macro)
