Next: Init Examples, Up: Init File [Contents][Index]

#### 51.4.1 Init File Syntax

The init file contains one or more Lisp expressions. Each of these consists of a function name followed by arguments, all surrounded by parentheses. For example, `(setq fill-column 60)` calls the function `setq` to set the variable `fill-column` (see Filling) to 60.

You can set any Lisp variable with `setq`, but with certain variables `setq` won’t do what you probably want in the `.emacs` file. Some variables automatically become buffer-local when set with `setq`; what you want in `.emacs` is to set the default value, using `setq-default`. Some customizable minor mode variables do special things to enable the mode when you set them with Customize, but ordinary `setq` won’t do that; to enable the mode in your `.emacs` file, call the minor mode command. The following section has examples of both of these methods.

The second argument to `setq` is an expression for the new value of the variable. This can be a constant, a variable, or a function call expression. In `.emacs`, constants are used most of the time. They can be:

Numbers:

  Numbers are written in decimal, with an optional initial minus sign.

Strings:

  Lisp string syntax is the same as C string syntax with a few extra features. Use a double-quote character to begin and end a string constant.

  In a string, you can include newlines and special characters literally. But often it is cleaner to use backslash sequences for them: ‘`\n`’ for newline, ‘`\b`’ for backspace, ‘`\r`’ for carriage return, ‘`\t`’ for tab, ‘`\f`’ for formfeed (control-L), ‘`\e`’ for escape, ‘`\\`’ for a backslash, ‘`\"`’ for a double-quote, or ‘`\ooo`’ for the character whose octal code is ooo. Backslash and double-quote are the only characters for which backslash sequences are mandatory.

  ‘`\C-`’ can be used as a prefix for a control character, as in ‘`\C-s`’ for ASCII control-S, and ‘`\M-`’ can be used as a prefix for a Meta character, as in ‘`\M-a`’ for `META-A` or ‘`\M-\C-a`’ for `Ctrl-META-A`.

  See Init Non-ASCII, for information about including non-ASCII in your init file.

Characters:

  Lisp character constant syntax consists of a ‘`?`’ followed by either a character or an escape sequence starting with ‘`\`’. Examples: `?x`, `?\n`, `?\"`, `?\)`. Note that strings and characters are not interchangeable in Lisp; some contexts require one and some contexts require the other.

  See Init Non-ASCII, for information about binding commands to keys which send non-ASCII characters.

True:

  `t` stands for “true”.

False:

  `nil` stands for “false”.

Other Lisp objects:

  Write a single-quote (`'`) followed by the Lisp object you want.

Next: Init Examples, Up: Init File [Contents][Index]