GNU Emacs Lisp Reference Manual
This section describes higher-level commands for inserting text, commands intended primarily for the user but useful also in Lisp programs.
nil.nil. Most printing characters are bound to this command. In routine use, self-insert-command is the most frequently called function in Emacs, but programs rarely use it except to install it on a keymap. In an interactive call, count is the numeric prefix argument.
This command calls auto-fill-function whenever that is non-nil and the character inserted is a space or a newline (see Auto Filling).
This command performs abbrev expansion if Abbrev mode is enabled and the inserted character does not have word-constituent syntax. (See Abbrevs, and Syntax Class Table.)
This is also responsible for calling blink-paren-function when the inserted character has close parenthesis syntax (see Blinking).
This function calls auto-fill-function if the current column number is greater than the value of fill-column and number-of-newlines is nil. Typically what auto-fill-function does is insert a newline; thus, the overall result in this case is to insert two newlines at different places: one at point, and another earlier in the line. newline does not auto-fill if number-of-newlines is non-nil.
This command indents to the left margin if that is not zero. See Margins.
The value returned is nil. In an interactive call, count is the numeric prefix argument.
indent-to function. split-line returns the position of point. Programs hardly ever use this function.
nil value enables the mode. It is automatically made buffer-local when set in any fashion.