multiple lines, provided that the split points don't appear in the
middle of command names.
+Please note that, unlike the various shells, mutt-ng interpretes a ``\''
+at the end of a line also in comments. This allows you to disable a command
+split over multiple lines with only one ``#''.
+
+<tscreen><verb>
+# folder-hook . \
+ set realname="Michael \"MuttDude\" Elkins"
+</verb></tscreen>
+
+When testing your config files, beware the following caveat. The backslash
+at the end of the commented line extends the current line with the next line
+- then referred to as a ``continuation line''. As the first line is
+commented with a hash (#) all following continuation lines are also
+part of a comment and therefore are ignored, too. So take care of comments
+when continuation lines are involved within your setup files!
+
+Abstract example:
+
+<tscreen><verb>
+line1\
+line2a # line2b\
+line3\
+line4
+line5
+</verb></tscreen>
+
+line1 ``continues'' until line4. however, the part after the # is a
+comment which includes line3 and line4. line5 is a new line of its own and
+thus is interpreted again.
+
It is also possible to substitute the output of a Unix command in an
initialization file. This is accomplished by enclosing the command in
backquotes (``). For example,
considered to be an executable program from which to read input (eg.
<tt>source ~/bin/myscript|</tt>).
-<sect1>Configuring features conditionnaly<label id="ifdef">
+<sect1>Configuring features conditionaly<label id="ifdef">
<p>
Usage: <tt/ifdef/ <em/item/ <em/command/
+Usage: <tt/ifndef/ <em/item/ <em/command/
-This command allows to test if a feature has been compiled in, before
-actually executing the command. Item can be either the name of a
-function or a variable.
+These command allows to test if a variable, function or certain feature
+is available or not respectively, before actually executing the command.
+<tt/ifdef/ (short for ``if defined) handles commands if upon
+availability while <tt/ifndef/ (short for ``if not defined'') does if
+not. The <em/command/ may be any valid fraction of a configuration file.
-Example:
+All names of variables and functions may be tested. Additionally, the
+following compile-features may be tested when prefixed with 'feature_':
+ncurses, slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl,
+gnutls, sasl, sasl2, libesmtp, compressed, color, classic_pgp,
+classic_smime, gpgme, header_cache.
+
+Examples follow.
+
+To only source a file with IMAP related settings only if IMAP support is
+compiled in, use:
+<tscreen><verb>
+ifdef feature_imap 'source ~/.mutt-ng/imap_setup'
+# or
+# ifdef imap_user 'source ~/.mutt-ng/imap_setup'
+# or
+# ...
+</verb></tscreen>
+
+To exit mutt-ng directly if no NNTP support is compiled in:
+<tscreen><verb>
+ifndef feature_nntp 'push q'
+# or
+# ifndef newsrc 'push q'
+# or
+# ...
+</verb></tscreen>
+
+To only set the <ref id="imap_mail_check"
+name="<$imap_mail_check"> when the system's SVN
+is recent enough to have it:
<tscreen><verb>
-ifdef imap_keepalive 'source ~/.mutt/imap_setup'
+ifdef imap_mail_check 'set imap_mail_check=300'
</verb></tscreen>
<sect1>Removing hooks<label id="unhook">
<item>! -- refers to your <ref id="spoolfile" name="$spoolfile"> (incoming) mailbox
<item>> -- refers to your <ref id="mbox" name="$mbox"> file
<item>< -- refers to your <ref id="record" name="$record"> file
+<item>^ -- refers to the current mailbox
<item>- or !! -- refers to the file you've last visited
<item>˜ -- refers to your home directory
<item>= or + -- refers to your <ref id="folder" name="$folder"> directory