X-Git-Url: https://git.llucax.com/software/mutt-debian.git/blobdiff_plain/16ab2f99e95d8ad7fe3298848a15f7f6247c4844..e05ec266b8108f81de74e5bc961e5cb3288db75f:/debian/patches/features/compressed-folders?ds=inline diff --git a/debian/patches/features/compressed-folders b/debian/patches/features/compressed-folders index c6c439d..16baf3c 100644 --- a/debian/patches/features/compressed-folders +++ b/debian/patches/features/compressed-folders @@ -14,11 +14,13 @@ The home page for this patch is: - 2008-05-20 myon: refreshed to remove hunks in auto* files - 2009-09-15 myon: refreshed for mutt-1.5.19 status.c:103: add sizeof (tmp) to mutt_pretty_mailbox + - 2009-09-15 scotton: removed doc/Muttrc for mutt-1.5.19 (only patch doc/Muttrc.head) + - 2009-09-11 antonio: removed DefaultMagic, see 541360 == END PATCH --- /dev/null +++ b/compress.c -@@ -0,0 +1,499 @@ +@@ -0,0 +1,496 @@ +/* + * Copyright (C) 1997 Alain Penders + * @@ -225,7 +227,7 @@ The home page for this patch is: +static char *get_compression_cmd (const char* cmd, const CONTEXT* ctx) +{ + char expanded[_POSIX_PATH_MAX]; -+ mutt_FormatString (expanded, sizeof (expanded), 0, cmd, ++ mutt_FormatString (expanded, sizeof (expanded), 0, cmd, + compresshook_format_str, (unsigned long) ctx, 0); + return safe_strdup (expanded); +} @@ -342,10 +344,7 @@ The home page for this patch is: + + set_path (ctx); + -+ ctx->magic = DefaultMagic; -+ + if (!is_new (ctx->realpath)) -+ if (ctx->magic == M_MBOX || ctx->magic == M_MMDF) + if ((fh = fopen (ctx->path, "w"))) + fclose (fh); + /* No error checking - the parent function will catch it */ @@ -365,8 +364,8 @@ The home page for this patch is: + fclose (ctx->fp); + ctx->fp = NULL; + /* if the folder was removed, remove the gzipped folder too */ -+ if ((ctx->magic > 0) -+ && (access (ctx->path, F_OK) != 0) ++ if ((ctx->magic > 0) ++ && (access (ctx->path, F_OK) != 0) + && ! option (OPTSAVEEMPTY)) + remove (ctx->realpath); + else @@ -445,7 +444,7 @@ The home page for this patch is: + if (! (ctx->append + && ((append = get_append_command (ctx->realpath, ctx)) + || (append = ci->close)))) -+ { ++ { + /* if we can not or should not append, we only have to remove the */ + /* compressed info, because sync was already called */ + mutt_fast_close_compressed (ctx); @@ -550,7 +549,7 @@ The home page for this patch is: +void mutt_fast_close_compressed (CONTEXT *); --- a/configure.ac +++ b/configure.ac -@@ -795,6 +795,11 @@ AC_ARG_ENABLE(locales-fix, AC_HELP_STRIN +@@ -805,6 +805,11 @@ AC_DEFINE(LOCALES_HACK,1,[ Define if the result of isprint() is unreliable. ]) fi]) @@ -564,7 +563,7 @@ The home page for this patch is: AC_DEFINE_UNQUOTED(EXECSHELL, "$withval", --- a/curs_main.c +++ b/curs_main.c -@@ -1128,6 +1128,11 @@ int mutt_index_menu (void) +@@ -1135,6 +1135,11 @@ { int check; @@ -578,7 +577,7 @@ The home page for this patch is: --- a/doc/manual.xml.head +++ b/doc/manual.xml.head -@@ -5160,6 +5160,205 @@ macro pager \cb |urlview\n +@@ -5678,6 +5678,205 @@ @@ -611,9 +610,9 @@ The home page for this patch is: +For example: + + -+open-hook \\.gz$ "gzip -cd %f > %t" ++open-hook \\.gz$ "gzip -cd %f > %t" +close-hook \\.gz$ "gzip -c %t > %f" -+append-hook \\.gz$ "gzip -c %t >> %f" ++append-hook \\.gz$ "gzip -c %t >> %f" + + +You do not have to specify all of the commands. If you omit -+open-hook \\.gz$ "gzip -cd %f > %t" ++open-hook \\.gz$ "gzip -cd %f > %t" + + +If the command is empty, this operation is @@ -727,7 +726,7 @@ The home page for this patch is: +Example: + + -+append-hook \\.gz$ "gzip -c %t >> %f" ++append-hook \\.gz$ "gzip -c %t >> %f" + + +When append-hook is used, the folder @@ -784,23 +783,9 @@ The home page for this patch is: Mutt's MIME Support ---- a/doc/Muttrc -+++ b/doc/Muttrc -@@ -29,6 +29,11 @@ macro generic,pager " - macro index,pager y "?" "show incoming mailboxes list" - bind browser y exit - -+# Use folders which match on \\.gz$ as gzipped folders: -+# open-hook \\.gz$ "gzip -cd %f > %t" -+# close-hook \\.gz$ "gzip -c %t > %f" -+# append-hook \\.gz$ "gzip -c %t >> %f" -+ - # If Mutt is unable to determine your site's domain name correctly, you can - # set the default here. - # --- a/doc/Muttrc.head +++ b/doc/Muttrc.head -@@ -29,6 +29,11 @@ macro generic,pager " +@@ -29,6 +29,11 @@ macro index,pager y "?" "show incoming mailboxes list" bind browser y exit @@ -814,7 +799,7 @@ The home page for this patch is: # --- a/doc/muttrc.man.head +++ b/doc/muttrc.man.head -@@ -345,6 +345,24 @@ specify the ID of the public key to be u +@@ -345,6 +345,24 @@ to a certain recipient. The meaning of "key ID" is to be taken broadly: This can be a different e-mail address, a numerical key ID, or even just an arbitrary search string. @@ -830,7 +815,7 @@ The home page for this patch is: +"\fI\\\\.gz$\fP"). The commands tell Mutt how to uncompress a folder +(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a +compressed mail to a compressed folder (\fBappend-hook\fP). The -+\fIcommand\fP string is the ++\fIcommand\fP string is the +.BR printf (3) +like format string, and it should accept two parameters: \fB%f\fP, +which is replaced with the (compressed) folder name, and \fB%t\fP @@ -852,7 +837,7 @@ The home page for this patch is: #include #include #include -@@ -92,6 +96,16 @@ int mutt_parse_hook (BUFFER *buf, BUFFER +@@ -92,6 +96,16 @@ memset (&pattern, 0, sizeof (pattern)); pattern.data = safe_strdup (path); } @@ -871,7 +856,7 @@ The home page for this patch is: ) --- a/init.h +++ b/init.h -@@ -3452,6 +3452,11 @@ struct command_t Commands[] = { +@@ -3504,6 +3504,11 @@ { "fcc-hook", mutt_parse_hook, M_FCCHOOK }, { "fcc-save-hook", mutt_parse_hook, M_FCCHOOK | M_SAVEHOOK }, { "folder-hook", mutt_parse_hook, M_FOLDERHOOK }, @@ -885,7 +870,7 @@ The home page for this patch is: { "hdr_order", parse_list, UL &HeaderOrderList }, --- a/main.c +++ b/main.c -@@ -402,6 +402,12 @@ static void show_version (void) +@@ -402,6 +402,12 @@ #else "-LOCALES_HACK " #endif @@ -900,7 +885,7 @@ The home page for this patch is: "+HAVE_WC_FUNCS " --- a/Makefile.am +++ b/Makefile.am -@@ -18,7 +18,7 @@ BUILT_SOURCES = keymap_defs.h patchlist. +@@ -18,7 +18,7 @@ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@ mutt_SOURCES = \ addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \ @@ -909,7 +894,7 @@ The home page for this patch is: commands.c complete.c compose.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 group.c \ -@@ -57,7 +57,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c +@@ -57,7 +57,7 @@ bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ @@ -931,7 +916,7 @@ The home page for this patch is: #include #include #include -@@ -1038,6 +1042,12 @@ bail: /* Come here in case of disaster +@@ -1048,6 +1052,12 @@ int mbox_close_mailbox (CONTEXT *ctx) { mx_unlock_file (ctx->path, fileno (ctx->fp), 1); @@ -946,7 +931,7 @@ The home page for this patch is: return 0; --- a/mutt.h +++ b/mutt.h -@@ -140,6 +140,11 @@ typedef enum +@@ -146,6 +146,11 @@ #define M_ACCOUNTHOOK (1<<9) #define M_REPLYHOOK (1<<10) #define M_SEND2HOOK (1<<11) @@ -958,7 +943,7 @@ The home page for this patch is: /* tree characters for linearize_tree and print_enriched_string */ #define M_TREE_LLCORNER 1 -@@ -872,6 +877,11 @@ typedef struct _context +@@ -882,6 +887,11 @@ int flagged; /* how many flagged messages */ int msgnotreadyet; /* which msg "new" in pager, -1 if none */ @@ -983,7 +968,7 @@ The home page for this patch is: #ifdef USE_IMAP #include "imap.h" #endif -@@ -445,6 +449,10 @@ int mx_get_magic (const char *path) +@@ -415,6 +419,10 @@ return (-1); } @@ -994,7 +979,7 @@ The home page for this patch is: return (magic); } -@@ -484,6 +492,13 @@ static int mx_open_mailbox_append (CONTE +@@ -454,6 +462,13 @@ { struct stat sb; @@ -1008,7 +993,7 @@ The home page for this patch is: ctx->append = 1; #ifdef USE_IMAP -@@ -647,7 +662,12 @@ CONTEXT *mx_open_mailbox (const char *pa +@@ -617,7 +632,12 @@ } ctx->magic = mx_get_magic (path); @@ -1022,7 +1007,7 @@ The home page for this patch is: if(ctx->magic == 0) mutt_error (_("%s is not a mailbox."), path); -@@ -748,6 +768,10 @@ void mx_fastclose_mailbox (CONTEXT *ctx) +@@ -718,6 +738,10 @@ mutt_free_header (&ctx->hdrs[i]); FREE (&ctx->hdrs); FREE (&ctx->v2r); @@ -1033,7 +1018,7 @@ The home page for this patch is: FREE (&ctx->path); FREE (&ctx->pattern); if (ctx->limit_pattern) -@@ -800,6 +824,12 @@ static int sync_mailbox (CONTEXT *ctx, i +@@ -770,6 +794,12 @@ if (tmp && tmp->new == 0) mutt_update_mailbox (tmp); @@ -1046,7 +1031,7 @@ The home page for this patch is: return rc; } -@@ -1058,6 +1088,11 @@ int mx_close_mailbox (CONTEXT *ctx, int +@@ -1033,6 +1063,11 @@ !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY)) mx_unlink_empty (ctx->path); @@ -1058,7 +1043,7 @@ The home page for this patch is: mx_fastclose_mailbox (ctx); return 0; -@@ -1373,6 +1408,11 @@ int mx_check_mailbox (CONTEXT *ctx, int +@@ -1355,6 +1390,11 @@ { int rc; @@ -1072,7 +1057,7 @@ The home page for this patch is: if (ctx->locked) lock = 0; --- a/mx.h +++ b/mx.h -@@ -40,6 +40,9 @@ enum +@@ -40,6 +40,9 @@ #ifdef USE_POP , M_POP #endif @@ -1084,16 +1069,7 @@ The home page for this patch is: WHERE short DefaultMagic INITVAL (M_MBOX); --- a/po/de.po +++ b/po/de.po -@@ -3,7 +3,7 @@ msgstr "" - "Project-Id-Version: 1.5.18\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2009-01-05 16:36-0800\n" --"PO-Revision-Date: 2008-05-18 10:28+0200\n" -+"PO-Revision-Date: 2009-01-15 23:09+0100\n" - "Last-Translator: Roland Rosenfeld \n" - "Language-Team: German \n" - "MIME-Version: 1.0\n" -@@ -1975,6 +1975,10 @@ msgstr "Hilfe für %s" +@@ -2005,6 +2005,10 @@ msgid "Bad history file format (line %d)" msgstr "Falsches Format der Datei früherer Eingaben (Zeile %d)" @@ -1104,48 +1080,38 @@ The home page for this patch is: #: hook.c:251 #, c-format msgid "unhook: Can't do unhook * from within a hook." -@@ -2718,18 +2722,10 @@ msgstr "Lese %s..." +@@ -2766,7 +2770,7 @@ msgid "Mailbox is corrupt!" msgstr "Mailbox fehlerhaft!" -#: mbox.c:678 --msgid "Mailbox was corrupted!" --msgstr "Mailbox wurde zerstört!" -- - #: mbox.c:719 mbox.c:976 ++#: mbox.c:678 compress.c:203 mbox.c:661 + msgid "Mailbox was corrupted!" + msgstr "Mailbox wurde zerstört!" + +@@ -2774,10 +2778,11 @@ msgid "Fatal error! Could not reopen mailbox!" msgstr "Fataler Fehler, konnte Mailbox nicht erneut öffnen!" --#: mbox.c:728 --msgid "Unable to lock mailbox!" --msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!" -- +-#: mbox.c:746 ++#: mbox.c:746 compress.c:264 compress.c:246 compress.c:367 compress.c:443 mbox.c:706 + msgid "Unable to lock mailbox!" + msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!" + ++ #. this means ctx->changed or ctx->deleted was set, but no #. * messages were found to be changed or deleted. This should #. * never happen, is we presume it is a bug in mutt. -@@ -5298,3 +5294,45 @@ msgstr "Zeige S/MIME Optionen" +@@ -5378,3 +5383,32 @@ #~ msgid "Authentication method is unknown." #~ msgstr "Authentifizierungsmethode unbekannt." + -+#: compress.c:203 mbox.c:661 -+msgid "Mailbox was corrupted!" -+msgstr "Mailbox wurde zerstört!" -+ +#: compress.c:228 compress.c:253 +#, c-format +msgid "Decompressing %s...\n" +msgstr "Entpacke %s...\n" + -+#: compress.c:246 compress.c:367 compress.c:443 mbox.c:706 -+msgid "Unable to lock mailbox!" -+msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!" -+ -+#: compress.c:264 -+#, c-format -+msgid "Error executing: %s : unable to open the mailbox!\n" -+msgstr "Fehler beim Ausführen von %s : Kann die Mailbox nicht öffnen!\n" -+ +#: compress.c:350 compress.c:377 compress.c:423 compress.c:454 +#, c-format +msgid "Compressing %s...\n" @@ -1171,7 +1137,7 @@ The home page for this patch is: +msgstr " %s: Fehler beim packen der Mailbox! Entpackte Mailbox gespeichert!\n" --- a/po/POTFILES.in +++ b/po/POTFILES.in -@@ -8,6 +8,7 @@ charset.c +@@ -8,6 +8,7 @@ color.c commands.c compose.c @@ -1181,7 +1147,7 @@ The home page for this patch is: cryptglue.c --- a/status.c +++ b/status.c -@@ -96,6 +96,14 @@ status_format_str (char *buf, size_t buf +@@ -96,6 +96,14 @@ case 'f': snprintf (fmt, sizeof(fmt), "%%%ss", prefix); @@ -1196,7 +1162,3 @@ The home page for this patch is: if (Context && Context->path) { strfcpy (tmp, Context->path, sizeof (tmp)); ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.18.rr.compressed.1