Top-Level Definitions, or Defuns
In Emacs, a major definition at the top level in the buffer is
called a defun. The name comes from Lisp, but in Emacs we use
it for all languages.
In most programming language modes, Emacs assumes that a defun is
any pair of parentheses (or braces, if the language uses braces this
way) that starts at the left margin. For example, in C, the body of a
function definition is normally a defun, because the open-brace that
begins it is normally at the left margin. A variable's initializer
can also count as a defun, if the open-brace that begins the
initializer is at the left margin.
However, some language modes provide their own code for recognizing
defuns in a way that suits the language syntax and conventions better.
- Left Margin Paren: An open-paren or similar opening delimiter
starts a defun if it is at the left margin.
- Moving by Defuns: Commands to move over or mark a major definition.
- Imenu: Making buffer indexes as menus.
- Which Function: Which Function mode shows which function you are in.
|