== END PATCH
--- a/init.c
+++ b/init.c
-@@ -635,6 +635,65 @@ static int remove_from_rx_list (RX_LIST
- return (rv);
+@@ -601,6 +601,65 @@
+ }
}
+static int parse_ifdef (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
do
--- a/init.h
+++ b/init.h
-@@ -3413,6 +3413,7 @@ static int parse_lists (BUFFER *, BUFFER
+@@ -3439,6 +3439,7 @@
static int parse_unlists (BUFFER *, BUFFER *, unsigned long, BUFFER *);
static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *);
-@@ -3463,6 +3464,7 @@ struct command_t Commands[] = {
- { "group", parse_group, 0 },
- { "ungroup", parse_ungroup, 0 },
+@@ -3489,6 +3490,7 @@
+ { "group", parse_group, M_GROUP },
+ { "ungroup", parse_group, M_UNGROUP },
{ "hdr_order", parse_list, UL &HeaderOrderList },
+ { "ifdef", parse_ifdef, 0 },
#ifdef HAVE_ICONV
#endif
--- a/doc/manual.xml.head
+++ b/doc/manual.xml.head
-@@ -4087,6 +4087,28 @@ considered to be an executable program f
+@@ -4373,6 +4373,28 @@
</sect1>