Function: elisp-scope-define-symbol-role

elisp-scope-define-symbol-role is a macro defined in elisp-scope.el.gz.

Signature

(elisp-scope-define-symbol-role NAME PARENTS &rest PROPS)

Documentation

Define NAME as the name of a symbol role that inherits from PARENTS.

A symbol role is a symbol that Emacs uses to describe the role of (other) symbols in Emacs Lisp source code. For example, the symbol role face characterizes symbols that are face names.

PROPS is a plist specifying the properties of the new symbol role NAME. NAME inherits properties that do not appear in PROPS from its PARENTS.

Common symbol role properties are:

- :doc: short documentation string describing this symbol role.
- :face: face for highlighting symbols with this role.
- :help: help-echo text for symbols with this role.

See also elisp-scope-get-symbol-role-property and elisp-scope-set-symbol-role-property for getting and setting values of symbol role properties.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(defmacro elisp-scope-define-symbol-role (name parents &rest props)
  "Define NAME as the name of a symbol role that inherits from PARENTS.

A symbol role is a symbol that Emacs uses to describe the role
of (other) symbols in Emacs Lisp source code.  For example, the symbol
role `face' characterizes symbols that are face names.

PROPS is a plist specifying the properties of the new symbol role NAME.
NAME inherits properties that do not appear in PROPS from its PARENTS.

Common symbol role properties are:

- `:doc': short documentation string describing this symbol role.
- `:face': face for highlighting symbols with this role.
- `:help': `help-echo' text for symbols with this role.

See also `elisp-scope-get-symbol-role-property' and
`elisp-scope-set-symbol-role-property' for getting and setting values of
symbol role properties."
  (declare (indent defun))
  `(elisp-scope--define-symbol-role ',name ',parents ,(when props `(list ,@props))))