Variable: describe-symbol-backends

describe-symbol-backends is a variable defined in help-mode.el.gz.

Value

(("ERT test" ert-test-boundp
  #[771 "\300!\207" [ert-describe-test] 5
	("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/emacs-lisp/ert.elc"
	 . 194428)])
 (nil fboundp
      #[771 "\300!\207" [describe-function] 5
	    ("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/help-mode.elc"
	     . 17870)])
 (nil
  #[257 "\300!\203
�\301!?\206�\211\302N\207"
	[boundp keywordp variable-documentation] 3
	("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/help-mode.elc"
	 . 17888)]
  describe-variable)
 ("type" cl-find-class cl-describe-type)
 ("face" facep
  #[771 "\300!\207" [describe-face] 5
	("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/help-mode.elc"
	 . 17870)]))

Documentation

List of providers of information about symbols.

Each element has the form (NAME TESTFUN DESCFUN) where:
  NAME is a string naming a category of object, such as "type" or "face".
  TESTFUN is a predicate which takes a symbol and returns non-nil if the
    symbol is such an object.
  DESCFUN is a function which takes three arguments (a symbol, a buffer,
    and a frame), inserts the description of that symbol in the current buffer
    and returns that text as well.

Source Code

;; Defined in /usr/src/emacs/lisp/help-mode.el.gz
(defvar describe-symbol-backends
  `((nil ,#'fboundp ,(lambda (s _b _f) (describe-function s)))
    (nil
     ,(lambda (symbol)
        (or (and (boundp symbol) (not (keywordp symbol)))
            (get symbol 'variable-documentation)))
     ,#'describe-variable)
    ;; FIXME: We could go crazy and add another entry so describe-symbol can be
    ;; used with the slot names of CL structs (and/or EIEIO objects).
    ("type" ,#'cl-find-class ,#'cl-describe-type)
    ("face" ,#'facep ,(lambda (s _b _f) (describe-face s))))
  "List of providers of information about symbols.
Each element has the form (NAME TESTFUN DESCFUN) where:
  NAME is a string naming a category of object, such as \"type\" or \"face\".
  TESTFUN is a predicate which takes a symbol and returns non-nil if the
    symbol is such an object.
  DESCFUN is a function which takes three arguments (a symbol, a buffer,
    and a frame), inserts the description of that symbol in the current buffer
    and returns that text as well.")