|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
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.