+<sect1>Configuring features conditionally<label id="ifdef">
+<p>
+Usage: <tt/ifdef/ <em/item/ <em/command/<newline>
+Usage: <tt/ifndef/ <em/item/ <em/command/
+
+<p>
+These commands allow testing for a variable, function or certain feature
+being available or not respectively, before actually executing the
+command given.
+
+<p>
+<tt/ifdef/ (short for ``if defined'') only executes the command 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.
+
+<p>
+All names of variables, functions and menus may be tested. Additionally, the
+following compile-features may be tested when prefixed with
+'<tt/feature_/':
+<tt/ncurses/, <tt/slang/, <tt/iconv/, <tt/idn/, <tt/dotlock/,
+<tt/standalone/, <tt/pop/, <tt/nntp/, <tt/imap/, <tt/ssl/, <tt/gnutls/,
+<tt/sasl/, <tt/sasl2/, <tt/libesmtp/, <tt/compressed/, <tt/color/,
+<tt/classic_pgp/, <tt/classic_smime/, <tt/gpgme/, <tt/header_cache/,
+<tt/gdbm/, <tt/qdbm/ and <tt/db4/.
+
+<p>
+Examples follow.
+
+<p>
+To only source a file with IMAP related settings 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>
+
+<p>
+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>
+
+<p>
+To only set the <ref id="imap_mail_check"
+name="$imap_mail_check"> variable if
+the system's mutt-ng is aware of it, use:
+<tscreen><verb>
+ifdef imap_mail_check 'set imap_mail_check=500'
+</verb></tscreen>
+