Function: describe-bindings

describe-bindings is an interactive and byte-compiled function defined in help.el.gz.

Signature

(describe-bindings &optional PREFIX BUFFER)

Documentation

Display a buffer showing a list of all defined keys, and their definitions.

The keys are displayed in order of precedence.

The optional argument PREFIX, if non-nil, should be a key sequence; then we display only bindings that start with that prefix. The optional argument BUFFER specifies which buffer's bindings to display (default, the current buffer). BUFFER can be a buffer or a buffer name.

Probably introduced at or before Emacs version 17.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/help.el.gz
(defun describe-bindings (&optional prefix buffer)
  "Display a buffer showing a list of all defined keys, and their definitions.
The keys are displayed in order of precedence.

The optional argument PREFIX, if non-nil, should be a key sequence;
then we display only bindings that start with that prefix.
The optional argument BUFFER specifies which buffer's bindings
to display (default, the current buffer).  BUFFER can be a buffer
or a buffer name."
  (interactive)
  (or buffer (setq buffer (current-buffer)))
  (help-setup-xref (list #'describe-bindings prefix buffer)
		   (called-interactively-p 'interactive))
  (with-help-window (help-buffer)
    ;; Be aware that `describe-buffer-bindings' puts its output into
    ;; the current buffer.
    (with-current-buffer (help-buffer)
      (describe-buffer-bindings buffer prefix)

      (when describe-bindings-outline
        (setq-local outline-regexp ".*:$")
        (setq-local outline-heading-end-regexp ":\n")
        (setq-local outline-level (lambda () 1))
        (setq-local outline-minor-mode-cycle t
                    outline-minor-mode-highlight t)
        (outline-minor-mode 1)
        (save-excursion
          (let ((inhibit-read-only t))
            (goto-char (point-min))
            (insert (substitute-command-keys
                     (concat "\\<outline-minor-mode-cycle-map>Type "
                             "\\[outline-cycle] or \\[outline-cycle-buffer] "
                             "on headings to cycle their visibility.\n\n")))
            ;; Hide the longest body
            (when (and (re-search-forward "Key translations" nil t)
                       (fboundp 'outline-cycle))
              (outline-cycle))))))))