   (set-syntax-table scheme-mode-syntax-table)
   (setq mode-name "Geiser Doc")
   (setq major-mode 'geiser-doc-mode)
+  (geiser-menu--provide)
   (setq buffer-read-only t))
 
 (geiser-popup--define doc "*Geiser documentation*" geiser-doc-mode)

      (let ((geiser-eval--get-module-function (lambda (&rest x) module)))
        (geiser-edit-symbol-at-point)))))

(defvar geiser-doc-mode-map
  (let ((map (make-sparse-keymap)))
    (suppress-keymap map)
    (set-keymap-parent map button-buffer-map)
    (define-key map "\C-c\C-c" 'geiser-doc-clean-history)
    (define-key map "\C-c\C-k" 'geiser-doc-kill-page)
    (define-key map "\C-c\C-f" 'geiser-doc-next)
    (define-key map "\C-c\C-b" 'geiser-doc-previous)
    (define-key map "\C-c\C-r" 'geiser-doc-refresh)
    (define-key map (kbd "S-SPC") 'scroll-down)
    (define-key map "\M-." 'geiser-doc-edit-symbol-at-point)
    (define-key map "\C-cz" 'run-geiser)
    (define-key map "\C-c\C-z" 'run-geiser)
    map))

(defun geiser-doc-mode ()
  "Major mode for browsing scheme documentation.

(require 'geiser-autodoc)
(require 'geiser-eval)
(require 'geiser-syntax)
(require 'geiser-menu)
(require 'geiser-popup)
(require 'geiser-custom)
(require 'geiser-base)
