summaryrefslogtreecommitdiff
path: root/mail/mutt/files/extra-patch-ifdef
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mutt/files/extra-patch-ifdef')
-rw-r--r--mail/mutt/files/extra-patch-ifdef79
1 files changed, 79 insertions, 0 deletions
diff --git a/mail/mutt/files/extra-patch-ifdef b/mail/mutt/files/extra-patch-ifdef
new file mode 100644
index 000000000000..03f18dee9626
--- /dev/null
+++ b/mail/mutt/files/extra-patch-ifdef
@@ -0,0 +1,79 @@
+--- mutt-1.5.4.orig/init.c 2003-03-04 08:49:48.000000000 +0100
++++ mutt-1.5.4/init.c 2003-07-22 20:14:47.000000000 +0200
+@@ -349,6 +349,52 @@ static void remove_from_list (LIST **l,
+ }
+ }
+
++static int parse_ifdef (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
++{
++ int i, j, res = 0;
++ BUFFER token;
++
++ memset (&token, 0, sizeof (token));
++ mutt_extract_token (tmp, s, 0);
++
++ /* is the item defined as a variable or a function? */
++ if (!(res = (mutt_option_index (tmp->data) != -1)))
++ for (i = 0; !res && i < MENU_MAX; i++)
++ {
++ struct binding_t *b = km_get_table (Menus[i].value);
++
++ if (!b)
++ continue;
++
++ for (j = 0; b[j].name; j++)
++ if (!ascii_strncasecmp (tmp->data, b[j].name, mutt_strlen (tmp->data))
++ && (mutt_strlen (b[j].name) == mutt_strlen (tmp->data)))
++ {
++ res = 1;
++ break;
++ }
++ }
++
++ if (!MoreArgs (s))
++ {
++ snprintf (err->data, err->dsize, _("ifdef: too few arguments"));
++ return (-1);
++ }
++ mutt_extract_token (tmp, s, M_TOKEN_SPACE);
++
++ if (res)
++ {
++ if (mutt_parse_rc_line (tmp->data, &token, err) == -1)
++ {
++ mutt_error ("Erreur: %s", err->data);
++ FREE (&token.data);
++ return (-1);
++ }
++ FREE (&token.data);
++ }
++ return 0;
++}
++
+ static int parse_unignore (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
+ {
+ do
+diff -pruN mutt-1.5.4.orig/init.h mutt-1.5.4/init.h
+--- mutt-1.5.4.orig/init.h.orig 2009-06-22 15:48:16.000000000 +0200
++++ mutt-1.5.4/init.h 2009-06-22 15:49:28.000000000 +0200
+@@ -3658,6 +3658,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_ifdef (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 *);
+@@ -3715,6 +3716,7 @@
+ { "hdr_order", parse_list, UL &HeaderOrderList },
+ #ifdef HAVE_ICONV
+ { "iconv-hook", mutt_parse_hook, M_ICONVHOOK },
++ { "ifdef", parse_ifdef, 0 },
+ #endif
+ { "ignore", parse_ignore, 0 },
+ { "lists", parse_lists, 0 },
+diff -pruN mutt-1.5.4.orig/PATCHES mutt-1.5.4/PATCHES
+--- mutt-1.5.4.orig/PATCHES 2003-03-19 22:33:37.000000000 +0100
++++ mutt-1.5.4/PATCHES 2003-07-22 20:14:47.000000000 +0200
+@@ -0,0 +1 @@
++patch-1.5.4.cd.ifdef.1