+(defvar help-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map (char-to-string help-char) 'help-for-help)
+ (define-key map [help] 'help-for-help)
+ (define-key map [f1] 'help-for-help)
+ (define-key map "." 'display-local-help)
+ (define-key map "?" 'help-for-help)
+
+ (define-key map "\C-c" 'describe-copying)
+ (define-key map "\C-d" 'describe-distribution)
+ (define-key map "\C-e" 'view-emacs-problems)
+ (define-key map "\C-f" 'view-emacs-FAQ)
+ (define-key map "\C-m" 'view-order-manuals)
+ (define-key map "\C-n" 'view-emacs-news)
+ (define-key map "\C-p" 'describe-project)
+ (define-key map "\C-t" 'view-todo)
+ (define-key map "\C-w" 'describe-no-warranty)
+
+ ;; This does not fit the pattern, but it is natural given the C-\ command.
+ (define-key map "\C-\\" 'describe-input-method)
+
+ (define-key map "C" 'describe-coding-system)
+ (define-key map "F" 'Info-goto-emacs-command-node)
+ (define-key map "I" 'describe-input-method)
+ (define-key map "K" 'Info-goto-emacs-key-command-node)
+ (define-key map "L" 'describe-language-environment)
+ (define-key map "S" 'info-lookup-symbol)
+
+ (define-key map "a" 'apropos-command)
+ (define-key map "b" 'describe-bindings)
+ (define-key map "c" 'describe-key-briefly)
+ (define-key map "d" 'apropos-documentation)
+ (define-key map "e" 'view-echo-area-messages)
+ (define-key map "f" 'describe-function)
+ (define-key map "h" 'view-hello-file)
+
+ (define-key map "i" 'info)
+ (define-key map "4i" 'info-other-window)
+
+ (define-key map "k" 'describe-key)
+ (define-key map "l" 'view-lossage)
+ (define-key map "m" 'describe-mode)
+ (define-key map "n" 'view-emacs-news)
+ (define-key map "p" 'finder-by-keyword)
+ (define-key map "r" 'info-emacs-manual)
+ (define-key map "s" 'describe-syntax)
+ (define-key map "t" 'help-with-tutorial)
+ (define-key map "w" 'where-is)
+ (define-key map "v" 'describe-variable)
+ (define-key map "q" 'help-quit)
+ map)