[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

U.2 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.

U.2.1 Left Margin Convention  An open-paren or similar opening delimiter starts a defun if it is at the left margin.
U.2.2 Moving by Defuns  Commands to move over or mark a major definition.
U.2.3 Imenu  Making buffer indexes as menus.
U.2.4 Which Function Mode  Which Function mode shows which function you are in.



This document was generated on April 2, 2002 using texi2html