]> git.pld-linux.org Git - packages/mutt.git/commitdiff
- some adapted patches for mutt 1.1.11
authorbonkey <bonkey@bonkey.pl.eu.org>
Fri, 7 Apr 2000 06:48:10 +0000 (06:48 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    patch-0.00.sec+bonk.patchlist.1 -> 1.1
    patch-0.94.7.sec.previous_jump.1 -> 1.1
    patch-0.94.7.vikas.word_chars.1 -> 1.1
    patch-0.95.3.bj.ed_mtime.1 -> 1.1
    patch-0.95.4.bj.status-time.1 -> 1.1
    patch-0.95.4.sec.keypad.1 -> 1.1
    patch-0.95.4.sec.reverse_reply.1 -> 1.1
    patch-0.95.4.vikas.print_index.1 -> 1.1
    patch-0.95.6.as.mark-old.1 -> 1.1
    patch-0.95.bj.hash_destroy.2 -> 1.1
    patch-0.95.sec.condense_pgp.1 -> 1.1
    patch-1.02.sec._A.1 -> 1.1
    patches_bj.txt -> 1.1
    patches_sec.txt -> 1.1

14 files changed:
patch-0.00.sec+bonk.patchlist.1 [new file with mode: 0644]
patch-0.94.7.sec.previous_jump.1 [new file with mode: 0644]
patch-0.94.7.vikas.word_chars.1 [new file with mode: 0644]
patch-0.95.3.bj.ed_mtime.1 [new file with mode: 0644]
patch-0.95.4.bj.status-time.1 [new file with mode: 0644]
patch-0.95.4.sec.keypad.1 [new file with mode: 0644]
patch-0.95.4.sec.reverse_reply.1 [new file with mode: 0644]
patch-0.95.4.vikas.print_index.1 [new file with mode: 0644]
patch-0.95.6.as.mark-old.1 [new file with mode: 0644]
patch-0.95.bj.hash_destroy.2 [new file with mode: 0644]
patch-0.95.sec.condense_pgp.1 [new file with mode: 0644]
patch-1.02.sec._A.1 [new file with mode: 0644]
patches_bj.txt [new file with mode: 0644]
patches_sec.txt [new file with mode: 0644]

diff --git a/patch-0.00.sec+bonk.patchlist.1 b/patch-0.00.sec+bonk.patchlist.1
new file mode 100644 (file)
index 0000000..93edbff
--- /dev/null
@@ -0,0 +1,78 @@
+diff -Nru mutt-1.1.11.orig/Makefile.in mutt-1.1.11/Makefile.in
+--- mutt-1.1.11.orig/Makefile.in       Sun Apr  2 22:23:23 2000
++++ mutt-1.1.11/Makefile.in    Sun Apr  2 22:25:58 2000
+@@ -120,7 +120,7 @@
+ BUILT_SOURCES = keymap_defs.h
+ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
+-mutt_SOURCES = $(BUILT_SOURCES)       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c  commands.c complete.c compose.c compress.c copy.c curs_lib.c curs_main.c date.c         edit.c enter.c flags.c init.c filter.c from.c getdomain.c       handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c     main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c        postpone.c query.c recvattach.c recvcmd.c       rfc822.c rfc1524.c rfc2047.c rfc2231.c  score.c send.c sendlib.c signal.c sort.c        status.c system.c thread.c charset.c history.c lib.c    muttlib.c editmsg.c
++mutt_SOURCES = $(BUILT_SOURCES)       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c  commands.c complete.c compose.c compress.c copy.c curs_lib.c curs_main.c date.c         edit.c enter.c flags.c init.c filter.c from.c getdomain.c       handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c     main.c mbox.c menu.c mh.c mx.c pager.c parse.c patchlist.c pattern.c    postpone.c query.c recvattach.c recvcmd.c       rfc822.c rfc1524.c rfc2047.c rfc2231.c  score.c send.c sendlib.c signal.c sort.c        status.c system.c thread.c charset.c history.c lib.c    muttlib.c editmsg.c
+ mutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(MUTTLIBS)      $(INTLLIBS) 
+@@ -184,7 +184,7 @@
+ color.o commands.o complete.o compose.o compress.o copy.o curs_lib.o curs_main.o \
+ date.o edit.o enter.o flags.o init.o filter.o from.o getdomain.o \
+ handler.o hash.o hdrline.o headers.o help.o hook.o keymap.o main.o \
+-mbox.o menu.o mh.o mx.o pager.o parse.o pattern.o postpone.o query.o \
++mbox.o menu.o mh.o mx.o pager.o parse.o patchlist.o pattern.o postpone.o query.o \
+ recvattach.o recvcmd.o rfc822.o rfc1524.o rfc2047.o rfc2231.o score.o \
+ send.o sendlib.o signal.o sort.o status.o system.o thread.o charset.o \
+ history.o lib.o muttlib.o editmsg.o
+--- mutt-1.0pre1/main.c.orig   Mon Aug 23 14:22:20 1999
++++ mutt-1.0pre1/main.c        Wed Aug 25 15:20:48 1999
+@@ -285,6 +285,8 @@
+   puts(_(ReachingUs));
++  mutt_print_patchlist ();
++
+   exit (0);
+ }
+--- mutt-1.0pre1/patchlist.c.orig      Wed Aug 25 15:20:48 1999
++++ mutt-1.0pre1/patchlist.c   Wed Aug 25 15:20:48 1999
+@@ -0,0 +1,22 @@
++#include <stdio.h>
++
++void mutt_print_patchlist (void)
++{
++  /*
++   * If you add a patch, include a line identifying it within this
++   * section.  It should include the type of patch (Feature, Bugfix, or
++   * Merge), the name of the patch, the version of mutt to which the   
++   * patch should be applied, the version of the patch itself, and your
++   * name.  This line should be a printf, terminated by a single \n, and
++   * should fit in one line of code.  It should be inserted after all   
++   * other patch-ID lines.  It should be preceded by three blank lines, 
++   * and followed by three blank lines and the DO NOT MODIFY AFTER... line.
++   */
++  /* DO NOT MODIFY BEFORE THIS LINE */
++
++
++
++
++
++  /* DO NOT MODIFY AFTER THIS LINE */
++}
+--- mutt-1.0pre1/protos.h.orig Mon Jul 26 16:52:27 1999
++++ mutt-1.0pre1/protos.h      Wed Aug 25 15:20:49 1999
+@@ -180,6 +180,7 @@
+ void mutt_pretty_mailbox (char *);
+ void mutt_pretty_size (char *, size_t, long);
+ void mutt_print_message (HEADER *);
++void mutt_print_patchlist (void);
+ void mutt_query_exit (void);
+ void mutt_query_menu (char *, size_t);
+ void mutt_safe_path (char *s, size_t l, ADDRESS *a);
+--- mutt-1.1.11/Makefile.am    Mon Apr  3 00:35:18 2000
++++ mutt-1.1.11/Makefile.am.patchlist  Mon Apr  3 00:38:05 2000
+@@ -30,7 +30,7 @@
+       curs_main.c date.c \
+       edit.c enter.c flags.c init.c filter.c from.c getdomain.c \
+       handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c \
+-      main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
++      main.c mbox.c menu.c mh.c mx.c pager.c parse.c patchlist.c pattern.c \
+       postpone.c query.c recvattach.c recvcmd.c \
+       rfc822.c rfc1524.c rfc2047.c rfc2231.c \
+       score.c send.c sendlib.c signal.c sort.c \
diff --git a/patch-0.94.7.sec.previous_jump.1 b/patch-0.94.7.sec.previous_jump.1
new file mode 100644 (file)
index 0000000..87eedd8
--- /dev/null
@@ -0,0 +1,125 @@
+--- mutt-0.94.7i/OPS.orig      Sat Sep 12 21:23:27 1998
++++ mutt-0.94.7i/OPS   Sat Sep 19 02:54:15 1998
+@@ -115,6 +115,7 @@
+ OP_PAGER_TOP "jump to the top of the message"
+ OP_PIPE "pipe message/attachment to a shell command"
+ OP_PREV_ENTRY "move to the previous entry"
++OP_PREV_JUMP "jump to the previously selected message"
+ OP_PREV_LINE "scroll up one line"
+ OP_PREV_PAGE "move to the previous page"
+ OP_PRINT "print the current entry"
+--- mutt-0.94.7i/curs_main.c.orig      Wed Sep 16 07:57:23 1998
++++ mutt-0.94.7i/curs_main.c   Sat Sep 19 02:55:06 1998
+@@ -240,6 +240,7 @@
+   int tag = 0;                 /* has the tag-prefix command been pressed? */
+   int newcount = -1;
+   int oldcount = -1;
++  int LastJumped = -1;
+   int rc = -1;
+   MUTTMENU *menu;
+   char *cp;                    /* temporary variable. */
+@@ -627,6 +628,7 @@
+         if (j >= 0)
+         {
+           menu->current = Context->hdrs[j]->virtual;
++          LastJumped=Context->v2r[menu->current]+1;
+           if (menu->menu == MENU_PAGER)
+           {
+             op = OP_DISPLAY_MESSAGE;
+@@ -915,6 +917,7 @@
+                             the folder */
+       menu->redraw = REDRAW_FULL;
+       set_option (OPTSEARCHINVALID);
++      LastJumped=-1;
+       break;
+       case OP_DISPLAY_MESSAGE:
+@@ -1043,6 +1046,29 @@
+         menu->redraw = REDRAW_MOTION;
+       break;
++      case OP_PREV_JUMP:
++      i=LastJumped;
++      if (i > 0 && i <= Context->msgcount)
++      {
++        if (Context->hdrs[i-1]->virtual != -1)
++        {
++          LastJumped=Context->v2r[menu->current]+1;
++          menu->current = Context->hdrs[i-1]->virtual;
++          if (menu->menu == MENU_PAGER)
++          {
++            op = OP_DISPLAY_MESSAGE;
++            continue;
++          }
++          else
++          menu->redraw = REDRAW_MOTION;
++        }
++        else
++          mutt_error ("That message is not visible.");
++      }
++      else
++        mutt_error ("No target yet.");
++      break;
++
+       case OP_PREV_ENTRY:
+       CHECK_MSGCOUNT;
+@@ -1111,6 +1137,7 @@
+       case OP_MAIN_PREV_UNREAD:
+       CHECK_MSGCOUNT;
++      LastJumped=Context->v2r[menu->current]+1;
+       i = menu->current;
+       menu->current = -1;
+       for (j = 0; j != Context->vcount; j++)
+@@ -1244,6 +1271,7 @@
+       case OP_MAIN_PREV_SUBTHREAD:
+       CHECK_MSGCOUNT;
++      i=Context->v2r[menu->current]+1;
+       switch (op)
+       {
+         case OP_MAIN_NEXT_THREAD:
+@@ -1424,11 +1424,13 @@
+       }
+       else if (menu->menu == MENU_PAGER)
+         {
++             LastJumped=i;
+           op = OP_DISPLAY_MESSAGE;
+           continue;
+         }
+         else
+           menu->redraw = REDRAW_MOTION;
++      LastJumped=i;
+       break;
+       case OP_MAIN_SET_FLAG:
+--- mutt-0.94.7i/functions.h.orig      Sat Sep 12 21:23:30 1998
++++ mutt-0.94.7i/functions.h   Sat Sep 19 02:54:16 1998
+@@ -87,6 +87,7 @@
+   { "display-headers",                OP_DISPLAY_HEADERS,             "h" },
+   { "next-undeleted",         OP_MAIN_NEXT_UNDELETED,         "j" },
+   { "previous-undeleted",     OP_MAIN_PREV_UNDELETED,         "k" },
++  { "previous-jump",          OP_PREV_JUMP,                   "\033b" },
+   { "limit",                  OP_MAIN_LIMIT,                  "l" },
+   { "list-reply",             OP_LIST_REPLY,                  "L" },
+   { "mail",                   OP_MAIL,                        "m" },
+@@ -163,6 +164,7 @@
+   { "next-entry",     OP_NEXT_ENTRY,                  "J" },
+   { "previous-undeleted",OP_MAIN_PREV_UNDELETED,      "k" },
+   { "previous-entry", OP_PREV_ENTRY,                  "K" },
++  { "previous-jump",  OP_PREV_JUMP,                   "\033b" },
+   { "list-reply",     OP_LIST_REPLY,                  "L" },
+   { "redraw-screen",  OP_REDRAW,                      "\014" },
+   { "mail",           OP_MAIL,                        "m" },
+--- mutt-0.94.7i/patchlist.c.orig      Sat Sep 19 02:29:51 1998
++++ mutt-0.94.7i/patchlist.c   Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: previous-jump        0.94.7 by Stefan `Sec` Zehl\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.94.7.vikas.word_chars.1 b/patch-0.94.7.vikas.word_chars.1
new file mode 100644 (file)
index 0000000..252830d
--- /dev/null
@@ -0,0 +1,61 @@
+Index: enter.c
+===================================================================
+RCS file: /export/home/vikas/CVS/Mutt/enter.c,v
+retrieving revision 1.1.1.4
+diff -u -p -r1.1.1.4 enter.c
+--- enter.c    1998/09/18 13:09:38     1.1.1.4
++++ enter.c    1998/09/21 23:05:21
+@@ -274,9 +274,9 @@ int mutt_enter_string (unsigned char *bu
+             j--;
+           if (j > 0)
+           {
+-            if (isalnum (buf[j - 1]))
++            if (!strchr (NONULL (Wordchars), (buf[j - 1])))
+             {
+-              for (j--; j > 0 && isalnum (buf[j - 1]); j--)
++              for (j--; j > 0 && !strchr (NONULL (Wordchars), buf[j - 1]); j--)
+                 ;
+             }
+             else
+Index: globals.h
+===================================================================
+RCS file: /export/home/vikas/CVS/Mutt/globals.h,v
+retrieving revision 1.1.1.2
+diff -u -p -r1.1.1.2 globals.h
+--- globals.h  1998/08/24 19:42:35     1.1.1.2
++++ globals.h  1998/09/21 23:01:27
+@@ -80,6 +80,7 @@ WHERE char *Tempdir;
+ WHERE char *Tochars;
+ WHERE char *Username;
+ WHERE char *Visual;
++WHERE char *Wordchars;
+ WHERE char *LastFolder;
+Index: init.h
+===================================================================
+RCS file: /export/home/vikas/CVS/Mutt/init.h,v
+retrieving revision 1.1.1.8
+diff -Nru mutt-1.1.11.orig/init.h mutt-1.1.11/init.h
+--- init.h     Sun Apr  2 22:54:00 2000
++++ init.h     Sun Apr  2 22:54:46 2000
+@@ -2074,6 +2074,7 @@
+   ** When set, Mutt will always ask for a key. When unset, Mutt will wait
+   ** for a key only if the external command returned a non-zero status.
+   */
++  { "word_chars",   DT_STR,   R_NONE, UL &Wordchars, UL " *?_-.[]~=/&;!#$%^(){}<>@" },
+   { "weed",           DT_BOOL, R_NONE, OPTWEED, 1 },
+   /*
+   ** .pp
+diff -u -p -r1.1.1.8 init.h
+--- patchlist.c.orig   Sat Sep 19 02:29:51 1998
++++ patchlist.c        Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: word_chars           0.94.7 by Vikas Agnihotri\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.3.bj.ed_mtime.1 b/patch-0.95.3.bj.ed_mtime.1
new file mode 100644 (file)
index 0000000..05d27c7
--- /dev/null
@@ -0,0 +1,44 @@
+--- send.c.bak Wed Mar  3 22:11:30 1999
++++ send.c     Wed Mar  3 22:18:10 1999
+@@ -33,6 +33,9 @@
+ #include <sys/stat.h>
+ #include <sys/wait.h>
+ #include <dirent.h>
++#include <time.h>
++#include <sys/types.h>
++#include <utime.h>
+ #ifdef _PGPPATH
+ #include "pgp.h"
+@@ -1072,9 +1075,20 @@ ci_send_message (int flags,             /* send mod
+   {
+     struct stat st;
+     time_t mtime;
++    struct utimbuf utim;
+     stat (msg->content->filename, &st);
+     mtime = st.st_mtime;
++    if (mtime == time (NULL))
++    {
++      /* Decrease the file's modification time by 1 second so we are sure
++       * to find out if the `editor' program changes it in less than 1 second.
++       */
++      mtime -= 1;
++      utim.actime = mtime;
++      utim.modtime = mtime;
++      utime (msg->content->filename, &utim);
++    }
+     mutt_update_encoding (msg->content);
+--- patchlist.c.orig   Sat Sep 19 02:29:51 1998
++++ patchlist.c        Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: ed_mtime             0.95.3 by Byrial Jensen\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.4.bj.status-time.1 b/patch-0.95.4.bj.status-time.1
new file mode 100644 (file)
index 0000000..cd21dce
--- /dev/null
@@ -0,0 +1,197 @@
+diff -udpr -X diff-excludes mutt-0.95.4-orig/curs_main.c mutt-0.95.4/curs_main.c
+--- mutt-0.95.4-orig/curs_main.c       Thu Mar  4 08:16:48 1999
++++ mutt-0.95.4/curs_main.c    Sun Mar 14 09:21:51 1999
+@@ -483,7 +483,8 @@ int mutt_index_menu (void)
+         menu_redraw_current (menu);
+       }
+-      if (menu->redraw & REDRAW_STATUS) 
++      if ((menu->redraw & REDRAW_STATUS) ||
++        update_status_time ())
+       {
+       menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
+       CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES-2);
+diff -Nru mutt-1.1.11/doc/manual.sgml mutt-1.1.11.status_update/doc/manual.sgml
+--- mutt-1.1.11/doc/manual.sgml        Sun Apr  2 23:17:35 2000
++++ mutt-1.1.11.status_update/doc/manual.sgml  Sun Apr  2 23:17:27 2000
+@@ -5395,6 +5395,8 @@
+ %u      number of unread messages *
+ %v      Mutt version string
+ %V      currently active limit pattern, if any *
++%[fmt]  the current date and time. `fmt'' is expanded by the system
++        call ``strftime''; a leading bang disables locales
+ %>X     right justify the rest of the string and
+         pad with "X"
+ %|X     pad to the end of the line with "X"
+@@ -5441,6 +5443,17 @@
+ Setting this variable causes the ``status bar'' to be displayed on
+ the first line of the screen rather than near the bottom.
++<sect2>status&lowbar;update<label id="status_update">
++<p>
++Type: number<newline>
++Default: -1
++
++This variable controls, if positive, the maximum interval in seconds
++before the time in the status line is updated. It is checked at
++every key press, and after a keyboard <ref id="timeout"
++name="timeout">. If the value is zero, the status line will updated
++at every check. If it is negative, the status time will only be updated
++if it necessary to update to the status line for some other reason.
+ <sect2>strict&lowbar;threads<label id="strict_threads">
+ <p>
+diff -Nru mutt-1.1.11/init.h mutt-1.1.11.status_update/init.h
+--- mutt-1.1.11/init.h Sun Apr  2 23:17:35 2000
++++ mutt-1.1.11.status_update/init.h   Sun Apr  2 23:17:25 2000
+@@ -1963,6 +1963,7 @@
+   ** Setting this variable causes the ``$status bar'' to be displayed on
+   ** the first line of the screen rather than near the bottom.
+   */
++  { "status_update",  DT_NUM,  R_NONE, UL &StatusUpdate, -1 },        
+   { "strict_threads", DT_BOOL, R_RESORT|R_INDEX, OPTSTRICTTHREADS, 0 },
+   /*
+   ** .pp
+diff -udpr -X diff-excludes mutt-0.95.4-orig/globals.h mutt-0.95.4/globals.h
+--- mutt-0.95.4-orig/globals.h Thu Jan  7 10:14:40 1999
++++ mutt-0.95.4/globals.h      Sun Mar 14 09:21:51 1999
+@@ -107,6 +107,7 @@ WHERE short PagerIndexLines;
+ WHERE short PopPort;
+ WHERE short ReadInc;
+ WHERE short SendmailWait;
++WHERE short StatusUpdate;
+ WHERE short Timeout;
+ WHERE short WriteInc;
+diff -udpr -X diff-excludes mutt-0.95.4-orig/menu.c mutt-0.95.4/menu.c
+--- mutt-0.95.4-orig/menu.c    Thu Jan  7 10:14:42 1999
++++ mutt-0.95.4/menu.c Sun Mar 14 09:21:51 1999
+@@ -840,3 +840,23 @@ int mutt_menuLoop (MUTTMENU *menu)
+   }
+   /* not reached */
+ }
++
++int update_status_time ()
++{
++  static time_t Last;
++  time_t now;
++
++  if (StatusUpdate < 0)
++    return 0;
++  else if (StatusUpdate == 0)
++    return 1;
++
++  now = time (NULL);
++  if (now - Last >= StatusUpdate)
++  {
++    Last = now;
++    return 1;
++  }
++  else
++    return 0;
++}
+diff -udpr -X diff-excludes mutt-0.95.4-orig/mutt_menu.h mutt-0.95.4/mutt_menu.h
+--- mutt-0.95.4-orig/mutt_menu.h       Thu Jan  7 10:14:43 1999
++++ mutt-0.95.4/mutt_menu.h    Sun Mar 14 09:21:51 1999
+@@ -98,3 +98,5 @@ int mutt_menuLoop (MUTTMENU *);
+ /* used in both the index and pager index to make an entry. */
+ void index_make_entry (char *, size_t, struct menu_t *, int);
+ int index_color (int);
++
++int update_status_time (void);
+diff -udpr -X diff-excludes mutt-0.95.4-orig/pager.c mutt-0.95.4/pager.c
+--- mutt-0.95.4-orig/pager.c   Thu Jan  7 10:14:44 1999
++++ mutt-0.95.4/pager.c        Sun Mar 14 09:21:51 1999
+@@ -1636,7 +1636,7 @@ mutt_pager (const char *banner, const ch
+       SETCOLOR (MT_COLOR_NORMAL);
+     }
+-    if ((redraw & REDRAW_INDEX) && index)
++    if (index && ((redraw & REDRAW_INDEX) || update_status_time ()))
+     {
+       /* redraw the pager_index indicator, because the
+        * flags for this message might have changed. */
+diff -udpr -X diff-excludes mutt-0.95.4-orig/status.c mutt-0.95.4/status.c
+--- mutt-0.95.4-orig/status.c  Thu Jan  7 10:14:47 1999
++++ mutt-0.95.4/status.c       Sun Mar 14 09:21:59 1999
+@@ -25,6 +25,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <unistd.h>
++#include <locale.h>
+ static char *get_sort_str (char *buf, size_t buflen, int method)
+ {
+@@ -269,6 +270,61 @@ status_format_str (char *buf, size_t buf
+     case 0:
+       *buf = 0;
+       return (src);
++
++    case '[':
++      {
++      int do_locales;
++      int len = sizeof (fmt) - 1;
++
++      cp = fmt;
++      if (*src == '!')
++      {
++        do_locales = 0;
++        src++;
++      }
++      else
++        do_locales = 1;
++
++      while (len > 0 && *src != ']')
++      {
++        if (*src == '%')
++        {
++          src++;
++          if (len >= 2)
++          {
++            *cp++ = '%';
++            *cp++ = *src;
++            len -= 2;
++          }
++          else
++            break; /* not enough space */
++          src++;
++        }
++        else
++        {
++          *cp++ = *src++;
++          len--;
++        }
++      }
++      *cp = 0;
++      src++;
++
++      if (do_locales && Locale)
++        setlocale (LC_TIME, Locale);
++      
++      {
++        time_t now = time (NULL);
++
++        strftime (tmp, sizeof (tmp), fmt, localtime (&now));
++      }
++
++      if (do_locales && Locale)
++        setlocale (LC_TIME, "C");
++
++      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);
++      snprintf (buf, buflen, fmt, tmp);
++      }
++      break;
+     default:
+       snprintf (buf, buflen, "%%%s%c", prefix, op);
+--- mutt-0.94.7i/patchlist.c.orig      Sat Sep 19 02:29:51 1998
++++ mutt-0.94.7i/patchlist.c   Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: status-time          0.95.4 by Byrial Jensen\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.4.sec.keypad.1 b/patch-0.95.4.sec.keypad.1
new file mode 100644 (file)
index 0000000..e31c6d4
--- /dev/null
@@ -0,0 +1,21 @@
+--- mutt-0.95.4/curs_lib.c.orig        Thu Jan 14 12:29:17 1999
++++ mutt-0.95.4/curs_lib.c     Mon Mar 22 18:24:46 1999
+@@ -256,6 +256,7 @@
+     
+     attrset (A_NORMAL);
+     mutt_refresh ();
++    keypad (stdscr, FALSE);
+     endwin ();
+ #ifndef SLANG_CURSES
+     fputc ('\n', stdout);
+--- mutt-0.95.4/patchlist.c.orig       Mon Mar 22 18:11:49 1999
++++ mutt-0.95.4/patchlist.c    Mon Mar 22 18:25:35 1999
+@@ -16,6 +16,8 @@
++  printf("Bugfix  patch: keypad               0.95.4 by Stefan `Sec` Zehl\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.4.sec.reverse_reply.1 b/patch-0.95.4.sec.reverse_reply.1
new file mode 100644 (file)
index 0000000..13556ab
--- /dev/null
@@ -0,0 +1,74 @@
+--- mutt-0.95.4/protos.h.orig  Sun Mar 28 20:19:44 1999
++++ mutt-0.95.4/protos.h       Sun Mar 28 20:19:44 1999
+@@ -75,6 +75,7 @@
+ ADDRESS *mutt_lookup_alias (const char *s);
+ ADDRESS *mutt_remove_duplicates (ADDRESS *);
++ADDRESS *mutt_reverse_address (ADDRESS *);
+ ADDRESS *mutt_expand_aliases (ADDRESS *);
+ ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
+--- mutt-1.1.11.orig/send.c    Sun Apr  2 23:30:24 2000
++++ mutt-1.1.11/send.c Sun Apr  2 23:27:03 2000
+@@ -555,6 +555,10 @@
+   /* the CC field can get cluttered, especially with lists */
+   env->to = mutt_remove_duplicates (env->to);
+   env->cc = mutt_remove_duplicates (env->cc);
++  if (option (OPTREVALIAS)){
++    env->to = mutt_reverse_address (env->to);
++    env->cc = mutt_reverse_address (env->cc);
++  }
+   env->cc = mutt_remove_xrefs (env->to, env->cc);
+ }
+--- mutt-0.95.4/sendlib.c.orig Sun Mar 28 20:15:43 1999
++++ mutt-0.95.4/sendlib.c      Sun Mar 28 22:43:16 1999
+@@ -1882,6 +1882,37 @@
+   return (top);
+ }
++/* given a list of addresses, return a list of reverse_alias'ed addresses */
++ADDRESS *mutt_reverse_address (ADDRESS *addr)
++{
++  ADDRESS *top,*tmp,*ptr,*ali;
++
++  if ((top=addr)==NULL)
++    return NULL;
++
++  if ((ali = alias_reverse_lookup (top)) && ali->personal){
++    tmp=rfc822_cpy_adr_real(ali);
++    tmp->next=top->next;
++    top->next=NULL;
++    rfc822_free_address(&top);
++    top=tmp;
++  }
++
++  ptr=top;
++  while (top->next != NULL){
++    tmp=top->next;
++    if ((ali = alias_reverse_lookup (tmp)) && ali->personal){
++      top->next=rfc822_cpy_adr_real(ali);
++      top->next->next=tmp->next;
++      tmp->next=NULL;
++      rfc822_free_address(&tmp);
++      tmp=top->next;
++    }
++    top=tmp;
++  }
++  return ptr;
++}
++
+ int mutt_write_fcc (const char *path, HEADER *hdr, const char *msgid, int post, char *fcc)
+ {
+   CONTEXT f;
+--- mutt-0.94.7i/patchlist.c.orig      Sat Sep 19 02:29:51 1998
++++ mutt-0.94.7i/patchlist.c   Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: reverse-reply        0.95.4 by Stefan `Sec` Zehl\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.4.vikas.print_index.1 b/patch-0.95.4.vikas.print_index.1
new file mode 100644 (file)
index 0000000..dd20ef4
--- /dev/null
@@ -0,0 +1,118 @@
+--- mutt-0.95.4/patchlist.c.orig       Mon Mar 22 18:11:49 1999
++++ mutt-0.95.4/patchlist.c    Tue Mar 23 13:19:30 1999
+@@ -16,6 +16,8 @@
++  printf("Feature patch: print_index          0.95.4 by Vikas Agnihotri\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
+diff -bu mutt-0.95.4.orig/OPS mutt-0.95.4/OPS
+--- mutt-0.95.4.orig/OPS       Sat Dec 12 09:05:35 1998
++++ mutt-0.95.4/OPS    Tue Mar 23 13:43:00 1999
+@@ -148,6 +148,7 @@
+ OP_VERSION "show the Mutt version number and date"
+ OP_VIEW_ATTACH "view attachment using mailcap entry if necessary"
+ OP_VIEW_ATTACHMENTS "show MIME attachments"
++OP_MAIN_PRINT_INDEX "print message index"
+ OP_MAIN_SHOW_LIMIT "show currently active limit pattern"
+ OP_MAIN_COLLAPSE_THREAD "collapse/uncollapse current thread"
+ OP_MAIN_COLLAPSE_ALL "collapse/uncollapse all threads"
+diff -bu mutt-0.95.4.orig/commands.c mutt-0.95.4/commands.c
+--- mutt-0.95.4.orig/commands.c        Tue Feb  9 21:53:38 1999
++++ mutt-0.95.4/commands.c     Tue Mar 23 13:43:08 1999
+@@ -639,6 +639,54 @@
+   mutt_copy_message (fp, ctx, h, M_CM_DECODE, CH_WEED | CH_DECODE | CH_REORDER);
+ }
++void mutt_print_index (MUTTMENU *menu)
++{
++  int i;
++  pid_t thepid;
++  FILE *fp;
++  char buf[STRING];
++  static char AsciiChars[M_TREE_MAX] = " ,|-| >*&";
++
++  if (query_quadoption (OPT_PRINT,"Print message index?") != M_YES)
++    return;
++
++  endwin ();
++  if ((thepid = mutt_create_filter (PrintCmd, &fp, NULL, NULL)) == -1)
++    return;
++
++  menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
++  fprintf(fp,"%s\n",buf);
++
++  for (i = 0; i<menu->max; i++)
++  {
++   char *s;
++   menu->make_entry(buf,sizeof(buf),menu,i);
++   s = buf;
++   while (*s)
++   {
++    if ((unsigned char) *s < M_TREE_MAX)
++    {
++      while (*s && (unsigned char) *s < M_TREE_MAX)
++      {
++      fputc (AsciiChars[*s], fp);
++      s++;
++      }
++    }
++    else
++    {
++      fputc(*s,fp);
++      s++;
++    }
++   }
++   fprintf(fp,"\n");
++  }
++
++  fclose (fp);
++  if (mutt_wait_filter (thepid) || option (OPTWAITKEY))
++    mutt_any_key_to_continue (NULL);
++  mutt_message ("Message index printed.");
++}
++
+ void mutt_print_message (HEADER *h)
+ {
+   int i, count = 0;
+diff -bu mutt-0.95.4.orig/curs_main.c mutt-0.95.4/curs_main.c
+--- mutt-0.95.4.orig/curs_main.c       Wed Mar  3 20:36:41 1999
++++ mutt-0.95.4/curs_main.c    Tue Mar 23 13:43:01 1999
+@@ -1572,6 +1572,12 @@
+       MAYBE_REDRAW (menu->redraw);
+       break;
++      case OP_MAIN_PRINT_INDEX:
++
++        CHECK_MSGCOUNT;
++      mutt_print_index(menu);
++      break;
++
+       case OP_PRINT:
+       CHECK_MSGCOUNT;
+diff -Nru mutt-1.1.11.orig/functions.h mutt-1.1.11/functions.h
+--- mutt-1.1.11.orig/functions.h       Sun Apr  2 23:33:12 2000
++++ mutt-1.1.11/functions.h    Sun Apr  2 23:34:45 2000
+@@ -130,6 +130,7 @@
+   { "previous-new",           OP_MAIN_PREV_NEW,               "\033\t" },
+   { "next-unread",            OP_MAIN_NEXT_UNREAD,            NULL },
+   { "previous-unread",                OP_MAIN_PREV_UNREAD,            NULL },
++  { "print-index",            OP_MAIN_PRINT_INDEX,            "P"},
+   { "parent-message",         OP_MAIN_PARENT_MESSAGE,         "P" },
+diff -bu mutt-0.95.4.orig/mutt_menu.h mutt-0.95.4/mutt_menu.h
+--- mutt-0.95.4.orig/mutt_menu.h       Thu Jan  7 10:14:43 1999
++++ mutt-0.95.4/mutt_menu.h    Tue Mar 23 13:43:02 1999
+@@ -90,6 +90,7 @@
+ void menu_current_bottom (MUTTMENU *);
+ void menu_check_recenter (MUTTMENU *);
+ void menu_status_line (char *, size_t, MUTTMENU *, const char *);
++void mutt_print_index (MUTTMENU *);
+ MUTTMENU *mutt_new_menu (void);
+ void mutt_menuDestroy (MUTTMENU **);
diff --git a/patch-0.95.6.as.mark-old.1 b/patch-0.95.6.as.mark-old.1
new file mode 100644 (file)
index 0000000..69ec303
--- /dev/null
@@ -0,0 +1,32 @@
+--- mutt-0.95.6/mh.c.orig      Wed Jun  9 12:03:57 1999
++++ mutt-0.95.6/mh.c   Wed Jun  9 12:04:01 1999
+@@ -227,7 +227,7 @@
+   if(subdir)
+   {
+     snprintf(buf, sizeof(buf), "%s/%s", ctx->path, subdir);
+-    is_old = (mutt_strcmp("cur", subdir) == 0) && option(OPTMARKOLD);
++    is_old = (mutt_strcmp("cur", subdir) == 0);
+   }
+   else
+     strfcpy(buf, ctx->path, sizeof(buf));
+--- mutt-0.95.6/parse.c.orig   Wed Jun  9 12:03:38 1999
++++ mutt-0.95.6/parse.c        Wed Jun  9 12:03:39 1999
+@@ -1112,7 +1112,6 @@
+                 hdr->replied = 1;
+                 break;
+               case 'O':
+-                if (option (OPTMARKOLD))
+                   hdr->old = 1;
+                 break;
+               case 'R':
+--- mutt-0.95.6/patchlist.c.orig       Fri Jun  4 01:40:18 1999
++++ mutt-0.95.6/patchlist.c    Wed Jun  9 12:05:44 1999
+@@ -16,6 +16,8 @@
++  printf("Feature patch: mark-old             0.95.6 by Aaron Schrab\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.bj.hash_destroy.2 b/patch-0.95.bj.hash_destroy.2
new file mode 100644 (file)
index 0000000..235c2bc
--- /dev/null
@@ -0,0 +1,67 @@
+--- hash.c~    Sun Apr  2 23:37:07 2000
++++ hash.c     Sun Apr  2 23:38:30 2000
+@@ -121,7 +121,7 @@
+     {
+       *last = ptr->next;
+       if (destroy) destroy (ptr->data);
+-      FREE (&ptr);
++      free (ptr);
+       return;
+     }
+   }
+@@ -137,15 +137,38 @@ void hash_destroy (HASH **ptr, void (*de
+   HASH *pptr = *ptr;
+   struct hash_elem *elem, *tmp;
+-  for (i = 0 ; i < pptr->nelem; i++)
++  /* We want to keep the test for the optional destroy argument out
++   * of the loop to get a faster execution. The price we pay is that
++   * we then have to have two versions of the loop.
++   */
++#if 0
++  /* Nobody use the destroy argument at the moment, so the destroy
++   * version of the loop is out-commented until somebody needs it.
++   */
++  if (destroy)
+   {
+-    for (elem = pptr->table[i]; elem; )
++    for (i = 0 ; i < pptr->nelem; i++)
+     {
+-      tmp = elem;
+-      elem = elem->next;
+-      if (destroy)
++      for (elem = pptr->table[i]; elem; )
++      {
++      tmp = elem;
++      elem = elem->next;
+       destroy (tmp->data);
+-      safe_free ((void **) &tmp);
++      free (tmp);
++      }
++    }
++  }
++  else
++#endif
++  {
++    for (i = 0 ; i < pptr->nelem; i++)
++    {
++      for (elem = pptr->table[i]; elem; )
++      {
++      tmp = elem;
++      elem = elem->next;
++      free (tmp);
++      }
+     }
+   }
+   safe_free ((void **) &pptr->table);
+--- patchlist.c.orig   Sat Sep 19 02:29:51 1998
++++ patchlist.c        Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: hash_destroy         0.95   by Byrial Jensen\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patch-0.95.sec.condense_pgp.1 b/patch-0.95.sec.condense_pgp.1
new file mode 100644 (file)
index 0000000..61b0bc9
--- /dev/null
@@ -0,0 +1,183 @@
+--- mutt-1.1.11.orig/init.h    Sun Apr  2 23:40:02 2000
++++ mutt-1.1.11/init.h Sun Apr  2 23:41:08 2000
+@@ -1169,6 +1169,7 @@
+   ** lead to problems with non-verifyable PGP signatures, so only change
+   ** this if you know what you are doing.
+   */
++  { "pgp_paranoid",   DT_BOOL, R_NONE, OPTPGPPARANOID, 0 },
+   { "pgp_timeout",    DT_NUM,  R_NONE, UL &PgpTimeout, 300 },
+   /*
+   ** .pp
+--- mutt-0.95/mutt.h.orig      Sat Dec 12 09:06:47 1998
++++ mutt-0.95/mutt.h   Sun Jan  3 03:39:19 1999
+@@ -309,6 +309,7 @@
+   OPTMHPURGE,
+   OPTMIMEFORWDECODE,
+   OPTPAGERSTOP,
++  OPTPGPPARANOID,
+   OPTPIPEDECODE,
+   OPTPIPESPLIT,
+   OPTPOPDELETE,
+--- mutt-0.95/patchlist.c.orig Sun Jan  3 03:11:41 1999
++++ mutt-0.95/patchlist.c      Sun Jan  3 03:39:19 1999
+@@ -16,6 +16,8 @@
++  printf("Feature patch: condense_pgp         0.95   by Stefan `Sec` Zehl\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
+--- mutt-0.95/pgp.c.orig       Sat Dec 12 09:07:00 1998
++++ mutt-0.95/pgp.c    Sun Jan  3 03:41:29 1999
+@@ -216,6 +216,102 @@
+ }
++/*
++ * Scan PGP output; return information about state of signature.
++ * Flush the message (on stdout).
++ *
++ * If strat==0, the message is piped to PGP on stdin, the verified
++ * message is output on stdout, and runtime messages are on stderr.
++ * If strat==1, the message comes from a file, and the runtime
++ * messages are on stdout.
++ */
++
++int
++mutt_scan_pgp_output (FILE *infile, FILE *outfile, STATE *outstate)
++{
++  int sigstate=0, pgpwarning=0;
++  int nl=0;
++  char buffer[LONG_STRING];
++
++  while (fgets (buffer, sizeof(buffer), infile) != NULL) {
++    if (strncmp (buffer, "Good signature", 14) == 0)
++      if (sigstate!=3)
++      sigstate=1;
++    if (strncmp (buffer, "WARNING", 7)    == 0 &&
++      strstr  (buffer, "not certified") != NULL)
++      if (sigstate!=3)
++      sigstate=2;
++    if (strncmp (buffer, "Bad signature", 13) == 0)
++      sigstate=3;
++    if (strncmp (buffer, "\007Key matching", 13) == 0 &&
++      strstr  (buffer, "not found")            != NULL)
++      if (sigstate!=3)
++      sigstate=4;
++    if (strncmp (buffer, "WARNING", 7) == 0)
++      pgpwarning|=1;
++    if (strncmp (buffer, "\007WARNING", 7) == 0)
++      pgpwarning|=1;
++    if (strncmp (buffer, "Error", 5) == 0)
++      pgpwarning|=2;
++    if (strncmp (buffer, "\007Error", 5) == 0)
++      pgpwarning|=2;
++
++    /* pgp2 */
++    if (strncmp(buffer, "\007Key matching", 13) == 0 &&
++        strstr (buffer, "not found") != NULL)
++      continue;
++    if (strncmp(buffer, "File '", 6) == 0 &&
++      strstr (buffer, "has signature, but with no text") != NULL)
++      continue;
++    if (strncmp(buffer, "Text is assumed to be in file '", 31) == 0)
++      continue;
++    /* pgp5 */
++    if (strncmp(buffer, "No files specified.  Using stdin.", 33) == 0)
++      continue;
++    if (strncmp(buffer, "Opening file \"stdout\" type text.", 32) == 0)
++      continue;
++    if (strncmp(buffer, "Message is encrypted.", 21) == 0)
++      continue;
++    /* pgp5 bogon makes pgp2 warn */
++    if (strncmp(buffer, "Warning",7) == 0 &&
++      strstr (buffer, "header label \"MessageID:\" ignored") != NULL)
++      continue;
++
++    if(buffer[0]=='\n'){
++      if(nl)continue;
++      nl=1;
++    }else{
++      nl=0;
++    }
++    if (outstate) {
++      if (strlen(buffer)>2 && buffer[strlen(buffer)-2]=='\007')
++      buffer[strlen(buffer)-2]=' ';
++      else if (strlen(buffer)>3 && buffer[strlen(buffer)-3]=='\007')
++      buffer[strlen(buffer)-3]=' ';
++
++      if (buffer[0] == '\007') {
++      state_puts(buffer+1, outstate);
++      }
++      else {
++      state_puts(buffer, outstate);
++      }
++    }
++    if (outfile) {
++      if (buffer[0] == '\007') {
++      fputs(buffer+1, outfile);
++      }
++      else {
++      fputs(buffer, outfile);
++      }
++    }
++  }
++  
++  sigstate |= (pgpwarning<<4);
++
++  return sigstate;
++}
++ 
++
+ /* Support for the Application/PGP Content Type. */
+ void application_pgp_handler (BODY *m, STATE *s)
+@@ -334,7 +430,10 @@
+       fclose (pgpin);
+       
+       if (s->flags & M_DISPLAY)
++        if(option(OPTPGPPARANOID))
+         pgp_current_time (s);
++        else
++          mutt_scan_pgp_output(pgperr,NULL,s);
+       
+       mutt_wait_filter (thepid);
+@@ -345,17 +444,17 @@
+       fclose (pgperr);
+       
+       if (s->flags & M_DISPLAY)
+-        state_puts (_("\n[-- End of PGP output --]\n\n"), s);
++        state_puts (_("\n[-- End of PGP output --"), s);
+       }
+     
+       if(s->flags & M_DISPLAY)
+       {
+       if (needpass)
+-        state_puts (_("[-- BEGIN PGP MESSAGE --]\n\n"), s);
++        state_puts ("BEGIN PGP MESSAGE --]\n\n", s);
+       else if (pgp_keyblock)
+-        state_puts (_("[-- BEGIN PGP PUBLIC KEY BLOCK --]\n"), s);
++        state_puts ("BEGIN PGP PUBLIC KEY BLOCK --]\n", s);
+       else
+-        state_puts (_("[-- BEGIN PGP SIGNED MESSAGE --]\n\n"), s);
++        state_puts ("BEGIN PGP SIGNED MESSAGE --]\n\n", s);
+       }
+       /* Use PGP's output if there was no clearsig signature. */
+diff -Nru mutt-1.1.11.orig/pgp.c mutt-1.1.11/pgp.c
+--- mutt-1.1.11.orig/pgp.c     Sun Apr  2 23:49:51 2000
++++ mutt-1.1.11/pgp.c  Sun Apr  2 23:51:58 2000
+@@ -678,7 +678,10 @@
+                                  -1, -1, fileno(pgperr),
+                                  tempfile, sigfile)) != -1)
+   {
++       if(option(OPTPGPPARANOID))
+     mutt_copy_stream(pgpout, s->fpout);
++       else
++       mutt_scan_pgp_output(pgpout,NULL,s);
+     fclose (pgpout);
+     fflush(pgperr);
+     rewind(pgperr);
diff --git a/patch-1.02.sec._A.1 b/patch-1.02.sec._A.1
new file mode 100644 (file)
index 0000000..01e76f1
--- /dev/null
@@ -0,0 +1,38 @@
+--- mutt-1.0pre2/hdrline.c.orig        Wed Sep  1 16:14:20 1999
++++ mutt-1.0pre2/hdrline.c     Sat Sep 11 03:32:57 1999
+@@ -187,6 +187,7 @@
+ }
+ /* %a = address of author
++ * %A = number of new messages in the mailbox
+  * %b = filename of the originating folder
+  * %B = the list to which the letter was sent
+  * %c = size of message in bytes
+@@ -255,6 +256,16 @@
+         dest[0] = '\0';
+       break;
++    case 'A':
++      if(ctx)
++      {
++      snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
++      snprintf (dest, destlen, fmt, ctx->new);
++      }
++      else
++      strfcpy(dest, "(null)", destlen);
++      break;
++
+     case 'B':
+       if (!first_mailing_list (dest, destlen, hdr->env->to) &&
+         !first_mailing_list (dest, destlen, hdr->env->cc))
+--- mutt-0.94.7i/patchlist.c.orig      Sat Sep 19 02:29:51 1998
++++ mutt-0.94.7i/patchlist.c   Sat Sep 19 02:54:16 1998
+@@ -16,6 +16,8 @@
++  printf("Feature patch: %%A                   1.02   by Stefan `Sec` Zehl\n");
++
+   /* DO NOT MODIFY AFTER THIS LINE */
diff --git a/patches_bj.txt b/patches_bj.txt
new file mode 100644 (file)
index 0000000..cecc3d1
--- /dev/null
@@ -0,0 +1,77 @@
+
+                              Patches for [1]Mutt
+                                       
+   My patches have name after the version of mutt that they are made for.
+   But they should always be usable with the newest version, too. If not,
+   please [2]notify me about the problem, and I will update the patch.
+   
+Bugfixes
+
+   [3]patch-0.95.3i.bj.keyattach.1.
+          Avoid to send out a temporary filename from your box when
+          sending a pgp key.
+          
+New features and other changes in behaviour
+
+   [4]patch-0.95.bj.noquote_hdr_term.1.
+          Don't quote the header terminator when replying with headers.
+          
+   [5]patch-0.95.4.bj.status-time.1.
+          You can show the current time in your preferred format in the
+          status line with this patch. (A bug which prevented compilation
+          of this patch on some systems was fixed on March 14).
+          
+   [6]patch-0.95.4.bj.my_hdr_subject.3
+          Use this patch:
+          
+          + To execute sendhooks before setting subject to make it
+            possible to set the subject in a sendhook. The price is that
+            you miss the possibility to let the sendhook depend upon the
+            subject.
+          + To let "my_hdr Subject" commands be controlled by $hdrs. Now
+            $hdrs only controls all other kinds of my_hdr commands.
+          + To let sendhooks work in batch mode.
+            
+          Thank you to [7]Rob Reid for fixing a bug in the second version
+          of this patch.
+          
+   [8]patch-0.95.3.bj.ed_mtime.1.
+          When you leave the editor, mutt will check if the edited file's
+          modification time have changed to decide if the file has been
+          modified. This means that it you are able to modify it in less
+          than one second (e.g. by running a script to generate some
+          text), Mutt may think that it is unmodified.
+          
+          This patch solves this problem by seting the time stamp of a
+          new file to `one second ago' before calling the editor.
+          
+   [9]patch-0.94.13.bj.current_shortcut.1
+          This patch will make the ^ character a shortcut for the
+          currently open mailbox.
+          
+Optimizations
+
+   [10]patch-0.95.bj.hash_destroy.2.
+          This patch will speed up a little bit closing of mailboxes.
+     _________________________________________________________________
+   
+   
+    1999-04-17 [11]Byrial Jensen <[12]byrial@image.dk>
+    
+   This page: http://www.image.dk/~byrial/mutt/patches/
+     _________________________________________________________________
+
+References
+
+   1. http://www.mutt.org/
+   2. mailto:byrial@image.dk
+   3. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.3i.bj.keyattach.1
+   4. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.bj.noquote_hdr_term.1
+   5. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.4.bj.status-time.1
+   6. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.4.bj.my_hdr_subject.3
+   7. http://astro.utoronto.ca/~reid/
+   8. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.3.bj.ed_mtime.1
+   9. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.94.13.bj.current_shortcut.1
+  10. http://home.worldonline.dk/~byrial/mutt/patches/patch-0.95.bj.hash_destroy.2
+  11. http://home.worldonline.dk/~byrial/
+  12. mailto:byrial@image.dk
diff --git a/patches_sec.txt b/patches_sec.txt
new file mode 100644 (file)
index 0000000..470d761
--- /dev/null
@@ -0,0 +1,215 @@
+
+   42.org, resources, mutt-patches
+     _________________________________________________________________
+   
+   Warning: Currently you need to apply patch-0.00.sec.patchlist.7 before
+   any other patches.
+   Here is the place where I keep all these little patches for mutt which
+   are so dangerous and big that they haven't gotten into mainstream mutt
+   yet (and probably never will). But they make my day brighter and
+   happier so i decided to keep & update them here. I'm currently running
+   [1]Mutt 1.0i so these patches here should cleanly apply to at least
+   this version.
+drwxr-xr-x  3 sec  sec   512 May 10  1998 [2]contrib/
+-rw-r--r--  1 sec  sec  3270 Aug 25 15:22 [3]patch-0.00.sec.patchlist.7
+-rw-r--r--  1 sec  sec  2678 Mar 23  1999 [4]patch-0.94.12.oe.__.1
+-rw-r--r--  1 sec  sec  1695 Mar 22  1999 [5]patch-0.94.7.sec.backlog.1
+-rw-r--r--  1 sec  sec  3372 Mar 22  1999 [6]patch-0.94.7.sec.pager_status_on_t
+op.1
+-rw-r--r--  1 sec  sec  3468 Mar 22  1999 [7]patch-0.94.7.sec.previous_jump.1
+-rw-r--r--  1 sec  sec  3250 Mar 22  1999 [8]patch-0.94.7.sec.score_auto.1
+-rw-r--r--  1 sec  sec  2010 Mar 23  1999 [9]patch-0.94.7.vikas.word_chars.1
+-rw-r--r--  1 sec  sec  1102 Mar 31  1999 [10]patch-0.95.3.bj.ed_mtime.1
+-rw-r--r--  1 sec  sec   641 Mar 23  1999 [11]patch-0.95.3i.bj.keyattach.1
+-rw-r--r--  1 sec  sec  6176 Mar 31  1999 [12]patch-0.95.4.bj.status-time.1
+-rw-r--r--  1 sec  sec  1063 Mar 22  1999 [13]patch-0.95.4.sec.expand_hook.1
+-rw-r--r--  1 sec  sec   536 Mar 22  1999 [14]patch-0.95.4.sec.keypad.1
+-rw-r--r--  1 sec  sec  4035 Mar 29  1999 [15]patch-0.95.4.sec.mailcap-fix.1
+-rw-r--r--  1 sec  sec  2119 Mar 28  1999 [16]patch-0.95.4.sec.reverse_reply.1
+-rw-r--r--  1 sec  sec  3356 Mar 23  1999 [17]patch-0.95.4.vikas.print_index.1
+-rw-r--r--  1 sec  sec   877 Jun 16 20:57 [18]patch-0.95.6.as.mark-old.1
+-rw-r--r--  1 sec  sec  1625 Mar 31  1999 [19]patch-0.95.bj.hash_destroy.2
+-rw-r--r--  1 sec  sec  5662 Mar 22  1999 [20]patch-0.95.sec.condense_pgp.1
+-rw-r--r--  1 sec  sec  1164 Mar 22  1999 [21]patch-0.95.sec.position_on_new.1
+-rw-r--r--  1 sec  sec   996 Sep 12 14:44 [22]patch-1.02.sec._A.1
+     _________________________________________________________________
+   
+   Due to popular demand short descripions of each patch follow:
+   
+   [23]patch-0.00.sec.patchlist.7:
+   This simple patch brings back "patchlist.c" you need to apply before
+   any other patch you get from here.
+   
+   [24]patch-0.94.12.oe.__.1:
+   From: "O'Shaughnessy Evans" <shaug@gstis.net>
+   toggle conversion to lowercase of subsequent %-expansions with %_
+   I find it useful in my default save-hook:
+   fcc-save-hook . +Users/%_%O
+   
+   [25]patch-0.94.7.sec.backlog.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   This patch adds a header "X-Current-Backlog:" (controlled by an
+   option) which contains the number of undeleted messages in your
+   folder. This really is bloatism but i've been bored a bit, and it
+   can't be done reasonably outside of mutt. Please do not distribute
+   this patch without my permission.
+   
+   [26]patch-0.94.7.sec.pager_status_on_top.1:
+   This patch adds "set pager_status_on_top" which basically allows you
+   to control the status line in the pager independently of the normal
+   "status_on_top". It also adds a new color object pager_status, which
+   allows you to control the color of the pager_status independently.
+   
+   [27]patch-0.94.7.sec.previous_jump.1:
+   This adds a new function "previous_jump" by default bound to 'ESC-b'
+   in the main menu and pager. It lets you jump to the message you last
+   jumped from. I.e. while moving through your mailbox with TAB, you can
+   go one step back with ESC-b.
+   this one needs some more work, but i didn't find the time to do it
+   'right' yet.
+   
+   [28]patch-0.94.7.sec.score_auto.1:
+   This one adds $score_auto which controls auto-deletion and
+   auto-flagging of mails with (score<0) or (score>=9999).
+   
+   [29]patch-0.94.7.vikas.word_chars.1:
+   From: Vikas Agnihotri <VikasA@att.com>
+   Adds $word_chars, a list of nonalphanumeric characters considered part
+   of a word by the line editor.
+   
+   [30]patch-0.95.3.bj.ed_mtime.1:
+   From: Byrial Jensen <byrial@image.dk>
+   Fix a problem where mutt would think you didn't edit a file, if your
+   computer is too fast.
+   
+   [31]patch-0.95.3i.bj.keyattach.1:
+   From: Byrial Jensen <byrial@image.dk>
+   Avoid sending out a temporary filename from your box when sending a
+   pgp key.
+   
+   [32]patch-0.95.4.bj.status-time.1:
+   From: Byrial Jensen <byrial@image.dk>
+   You can show the current time in your preferred format in the status
+   line with this patch.
+   
+   [33]patch-0.95.4.sec.expand_hook.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   This patch makes send-hooks expand %-expandos, too. I wrote that for
+   someone else, and think it's quite usable.
+   
+   [34]patch-0.95.4.sec.keypad.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   This re-enables the normal cursor keys on exit. It is needed on my
+   FreeBSD-2.2.7-STABLE system with ncurses.
+   
+   [35]patch-0.95.4.sec.mailcap-fix.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   This patch fixes the mailcap handling for mails which only contain an
+   non displayable attachment. It also brings back the 'M' Status
+   character to display this kind of mail.
+   
+   [36]patch-0.95.4.sec.reverse_reply.1:
+   extends reverse_alias to also fix the Realnames in outgoing Mail.
+   
+   [37]patch-0.95.4.vikas.print_index.1:
+   From: Vikas Agnihotri <VikasA@att.com>
+   This patch adds a command to the 'index' menu called print-index
+   (default binding 'P') that prints the current message index just as it
+   appears on the screen. Note that it prints the index entries for the
+   entire folder and not just what you can see on the current screen. It
+   honors the $print setting and uses $print_cmd to print.
+   
+   [38]patch-0.95.6.as.mark-old.1:
+   From: Aaron Schrab <aaron+mutt@schrab.com>
+   With this patch, mutt will distinguish between old and new messages as
+   if mark_old were set, but it will only automatically change new
+   messages to old if mask_old is set, otherwise they're only marked old
+   manually (with set-flag).
+   
+   [39]patch-0.95.bj.hash_destroy.2:
+   From: Byrial Jensen <byrial@image.dk>
+   This patch will speed up the closing of mailboxes a little bit.
+   
+   [40]patch-0.95.sec.condense_pgp.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   Here is the new version of condese_pgp. This patch condenses the
+   output of "pgp" in mutt to the relevant parts. (Parts of this patch
+   have been stolen from alt_pgp from Frank Pilhofer) you can view the
+   whole PGP output again by setting "pgp_paranoid".
+   
+   [41]patch-0.95.sec.position_on_new.1:
+   This ugly but useful hack makes mutt position on a new message if you
+   hit TAB, even if the new message just arrived :)
+   
+   [42]patch-1.02.sec._A.1:
+   From: Stefan `Sec` Zehl <sec@42.org>
+   adds %A to possible pager_format expandos. It lists number of new
+   Mails.
+   I find it useful in my pager_format:
+   set pager_format="[%Z] %A-%C/%m %.34f%>%[%d.%b %y, %H:%M]"
+     _________________________________________________________________
+   
+   If you want to see [43]mutt's homepage or want to know something about
+   [44]mutt's advantages then click on the appropriate words. Other
+   people also keep patches around, which might be of interest. See
+   [45]Byrial's page, for example. You could also take a peek at dunc's
+   [46]wishlist, to see where mutt is going. If you are so inclined you
+   could also view the [47]script I use to generate this page or my
+   personal [48].muttrc. Your are also welcome to send your comments to
+   [49]sec@42.org.
+     _________________________________________________________________
+   
+   [50]Stefan `Sec` Zehl 10-May-1997, 09.Nov.1999
+
+References
+
+   1. http://sec.42.org/mutt/mutt_-v
+   2. http://sec.42.org/mutt/contrib/
+   3. http://sec.42.org/mutt/patch-0.00.sec.patchlist.7
+   4. http://sec.42.org/mutt/patch-0.94.12.oe.__.1
+   5. http://sec.42.org/mutt/patch-0.94.7.sec.backlog.1
+   6. http://sec.42.org/mutt/patch-0.94.7.sec.pager_status_on_top.1
+   7. http://sec.42.org/mutt/patch-0.94.7.sec.previous_jump.1
+   8. http://sec.42.org/mutt/patch-0.94.7.sec.score_auto.1
+   9. http://sec.42.org/mutt/patch-0.94.7.vikas.word_chars.1
+  10. http://sec.42.org/mutt/patch-0.95.3.bj.ed_mtime.1
+  11. http://sec.42.org/mutt/patch-0.95.3i.bj.keyattach.1
+  12. http://sec.42.org/mutt/patch-0.95.4.bj.status-time.1
+  13. http://sec.42.org/mutt/patch-0.95.4.sec.expand_hook.1
+  14. http://sec.42.org/mutt/patch-0.95.4.sec.keypad.1
+  15. http://sec.42.org/mutt/patch-0.95.4.sec.mailcap-fix.1
+  16. http://sec.42.org/mutt/patch-0.95.4.sec.reverse_reply.1
+  17. http://sec.42.org/mutt/patch-0.95.4.vikas.print_index.1
+  18. http://sec.42.org/mutt/patch-0.95.6.as.mark-old.1
+  19. http://sec.42.org/mutt/patch-0.95.bj.hash_destroy.2
+  20. http://sec.42.org/mutt/patch-0.95.sec.condense_pgp.1
+  21. http://sec.42.org/mutt/patch-0.95.sec.position_on_new.1
+  22. http://sec.42.org/mutt/patch-1.02.sec._A.1
+  23. http://sec.42.org/mutt/#patch-0.00.sec.patchlist.7
+  24. http://sec.42.org/mutt/#patch-0.94.12.oe.__.1
+  25. http://sec.42.org/mutt/#patch-0.94.7.sec.backlog.1
+  26. http://sec.42.org/mutt/#patch-0.94.7.sec.pager_status_on_top.1
+  27. http://sec.42.org/mutt/#patch-0.94.7.sec.previous_jump.1
+  28. http://sec.42.org/mutt/#patch-0.94.7.sec.score_auto.1
+  29. http://sec.42.org/mutt/#patch-0.94.7.vikas.word_chars.1
+  30. http://sec.42.org/mutt/#patch-0.95.3.bj.ed_mtime.1
+  31. http://sec.42.org/mutt/#patch-0.95.3i.bj.keyattach.1
+  32. http://sec.42.org/mutt/#patch-0.95.4.bj.status-time.1
+  33. http://sec.42.org/mutt/#patch-0.95.4.sec.expand_hook.1
+  34. http://sec.42.org/mutt/#patch-0.95.4.sec.keypad.1
+  35. http://sec.42.org/mutt/#patch-0.95.4.sec.mailcap-fix.1
+  36. http://sec.42.org/mutt/#patch-0.95.4.sec.reverse_reply.1
+  37. http://sec.42.org/mutt/#patch-0.95.4.vikas.print_index.1
+  38. http://sec.42.org/mutt/#patch-0.95.6.as.mark-old.1
+  39. http://sec.42.org/mutt/#patch-0.95.bj.hash_destroy.2
+  40. http://sec.42.org/mutt/#patch-0.95.sec.condense_pgp.1
+  41. http://sec.42.org/mutt/#patch-0.95.sec.position_on_new.1
+  42. http://sec.42.org/mutt/#patch-1.02.sec._A.1
+  43. http://www.mutt.org/
+  44. http://www.math.fu-berlin.de/~guckes/mutt/elm.vs.mutt.html
+  45. http://www.image.dk/~byrial/mutt/patches/
+  46. http://www.ucc.gu.uwa.edu.au/~dunc/mutt/wishlist/
+  47. http://sec.42.org/mutt/index.script
+  48. http://sec.42.org/mutt/.mutt/muttrc-1.0i.html
+  49. mailto:sec@42.org
+  50. http://www.42.org/~sec/
This page took 0.183902 seconds and 4 git commands to generate.