Function: defgroup

defgroup is a macro defined in custom.el.gz.

Signature

(defgroup SYMBOL MEMBERS DOC &rest ARGS)

Documentation

Declare SYMBOL as a customization group containing MEMBERS.

SYMBOL does not need to be quoted.

Third argument DOC is the group documentation. This should be a short description of the group, beginning with a capital and ending with a period. Words other than the first should not be capitalized, if they are not usually written so.

MEMBERS should be an alist of the form ((NAME WIDGET)...) where NAME is a symbol and WIDGET is a widget for editing that symbol. Useful widgets are custom-variable for editing variables, custom-face for editing faces, and custom-group for editing groups.

The remaining arguments should have the form

   [KEYWORD VALUE]...

For a list of valid keywords, see the common keywords listed in defcustom. The keyword :prefix can only be used for customization groups, and means that the given string should be removed from variable names before creating unlispified names, when the user option custom-unlispify-remove-prefixes is non-nil.

See Info node (elisp) Customization in the Emacs Lisp manual for more information.

Probably introduced at or before Emacs version 20.1.

Source Code

;; Defined in /usr/src/emacs/lisp/custom.el.gz
(defmacro defgroup (symbol members doc &rest args)
  "Declare SYMBOL as a customization group containing MEMBERS.
SYMBOL does not need to be quoted.

Third argument DOC is the group documentation.  This should be a short
description of the group, beginning with a capital and ending with
a period.  Words other than the first should not be capitalized, if they
are not usually written so.

MEMBERS should be an alist of the form ((NAME WIDGET)...) where
NAME is a symbol and WIDGET is a widget for editing that symbol.
Useful widgets are `custom-variable' for editing variables,
`custom-face' for editing faces, and `custom-group' for editing groups.

The remaining arguments should have the form

   [KEYWORD VALUE]...

For a list of valid keywords, see the common keywords listed in
`defcustom'.  The keyword :prefix can only be used for
customization groups, and means that the given string should be
removed from variable names before creating unlispified names,
when the user option `custom-unlispify-remove-prefixes' is
non-nil.

See Info node `(elisp) Customization' in the Emacs Lisp manual
for more information."
  (declare (doc-string 3))
  ;; It is better not to use backquote in this file,
  ;; because that makes a bootstrapping problem
  ;; if you need to recompile all the Lisp files using interpreted code.
  (nconc (list 'custom-declare-group (list 'quote symbol) members doc) args))