Next: Servers and Methods, Previous: Creating a Virtual Server, Up: Server Buffer

#### 6.1.5 Server Variables

One sticky point when defining variables (both on back ends and in Emacs in general) is that some variables are typically initialized from other variables when the definition of the variables is being loaded. If you change the “base” variable after the variables have been loaded, you won't change the “derived” variables.

This typically affects directory and file variables. For instance, `nnml-directory` is `~/Mail/` by default, and all `nnml` directory variables are initialized from that variable, so `nnml-active-file` will be `~/Mail/active`. If you define a new virtual `nnml` server, it will not suffice to set just `nnml-directory`—you have to explicitly set all the file variables to be what you want them to be. For a complete list of variables for each back end, see each back end's section later in this manual, but here's an example `nnml` definition:

         (nnml "public"
               (nnml-directory "~/my-mail/")
               (nnml-active-file "~/my-mail/active")
               (nnml-newsgroups-file "~/my-mail/newsgroups"))

Server variables are often called server parameters.