+mutt (1.5.20-1) unstable; urgency=low
+
+ * New upstream release
+ * debian/patches/series:
+ + commented all references to upstream/*, they should be included in 1.5.20
+ + removed debian-specific/529838-gnutls-autoconf.patch, ditto
+ + removed misc/hyphen-as-minus.patch, misc/manpage-typos.patch, ditto
+ * debian/patches: all patches refreshed, sidebar patches adapted to 1.5.20
+
+ -- Antonio Radici <antonio@dyne.org> Sun, 14 Jun 2009 20:53:18 +0100
+
mutt (1.5.19-4) unstable; urgency=low
* debian/rules:
#include <errno.h>
#include <sys/wait.h>
-@@ -2952,6 +2953,31 @@
+@@ -2953,6 +2954,31 @@
return 0;
}
void mutt_init (int skip_sys_rc, LIST *commands)
{
struct passwd *pw;
-@@ -3026,10 +3052,25 @@
+@@ -3027,10 +3053,25 @@
Hostname = mutt_substrdup (utsname.nodename, p);
p++;
strfcpy (buffer, p, sizeof (buffer)); /* save the domain for below */
--- a/init.h
+++ b/init.h
-@@ -208,6 +208,9 @@
+@@ -211,6 +211,9 @@
** Note: for Japanese users, ``iso-2022-*'' must be put at the head
** of the value as shown above if included.
*/
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
-@@ -98,7 +98,8 @@ uninstall-local:
+@@ -100,7 +100,8 @@
check:
manual.txt: manual.html
LC_ALL=C w3m -dump manual.html > $@ || \
LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@
-@@ -112,10 +113,10 @@ stamp-doc-rc: $(top_srcdir)/init.h maked
+@@ -114,10 +115,10 @@
touch stamp-doc-rc
manual.html: $(srcdir)/html.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
+ xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
touch stamp-doc-chunked
- $(HTML_DOCFILES): stamp-doc-chunked
+ $(CHUNKED_DOCFILES): stamp-doc-chunked
--- a/init.h
+++ b/init.h
-@@ -304,6 +304,9 @@ struct option_t MuttVars[] = {
+@@ -312,6 +312,9 @@
** .pp
** When this variable is \fIset\fP, mutt will include Delivered-To headers when
** bouncing messages. Postfix users may wish to \fIunset\fP this variable.
*/
{ "braille_friendly", DT_BOOL, R_NONE, OPTBRAILLEFRIENDLY, 0 },
/*
-@@ -866,6 +869,9 @@ struct option_t MuttVars[] = {
+@@ -1032,6 +1035,9 @@
** one is not used.
** .pp
** Also see $$use_domain and $$hidden_host.
*/
{ "ignore_linear_white_space", DT_BOOL, R_NONE, OPTIGNORELWS, 0 },
/*
-@@ -1399,6 +1405,9 @@ struct option_t MuttVars[] = {
+@@ -1564,6 +1570,9 @@
** system. It is used with various sets of parameters to gather the
** list of known remailers, and to finally send a message through the
** mixmaster chain.
*/
#endif
{ "move", DT_QUAD, R_NONE, OPT_MOVE, M_NO },
-@@ -1999,6 +2008,10 @@ struct option_t MuttVars[] = {
+@@ -2580,6 +2589,10 @@
** This variable contains the name of either a directory, or a file which
** contains trusted certificates for use with OpenSSL.
** (S/MIME only)
*/
{ "smime_certificates", DT_PATH, R_NONE, UL &SmimeCertificates, 0 },
/*
-@@ -2237,6 +2250,9 @@ struct option_t MuttVars[] = {
+@@ -2786,6 +2799,9 @@
** .ts
- ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
+ ** set smtp_authenticators="digest-md5:cram-md5"
** .te
+ ** .pp
+ ** \fBNote:\fP On Debian systems, this variable defaults to the example
+ ** mentioned. This file is managed by the ``ca-certificates'' package.
*/
- # endif /* USE_SSL_GNUTLS */
- #endif /* defined(USE_SSL) */
-@@ -2873,6 +2889,9 @@ struct option_t MuttVars[] = {
+ # endif /* USE_SASL */
+ { "smtp_pass", DT_STR, R_NONE, UL &SmtpPass, UL 0 },
+@@ -2833,6 +2849,9 @@
** .pp
** You may optionally use the ``reverse-'' prefix to specify reverse sorting
** order (example: ``\fCset sort=reverse-date-sent\fP'').
*/
{ "sort_alias", DT_SORT|DT_SORT_ALIAS, R_NONE, UL &SortAlias, SORT_ALIAS },
/*
-@@ -3306,6 +3325,9 @@ struct option_t MuttVars[] = {
+@@ -3358,6 +3377,9 @@
** is set to deliver directly via SMTP (see $$smtp_url), this
** option does nothing: mutt will never write out the ``Bcc:'' header
** in this case.
+ ** \fBNote:\fP On Debian systems, exim4 and postfix strip BCC headers by
+ ** default. The above warning applies to exim3 users, see /etc/Muttrc.
*/
- {"xterm_icon", DT_STR, R_BOTH, UL &XtermIcon, UL "M%?n?AIL&ail?"},
+ { "write_inc", DT_NUM, R_NONE, UL &WriteInc, 10 },
/*
--- a/init.c
+++ b/init.c
-@@ -3114,7 +3114,7 @@ void mutt_init (int skip_sys_rc, LIST *c
+@@ -3115,7 +3115,7 @@
{
p = getenv ("EDITOR");
if (!p)
Visual = safe_strdup (p);
--- a/init.h
+++ b/init.h
-@@ -589,7 +589,7 @@ struct option_t MuttVars[] = {
+@@ -686,7 +686,7 @@
** .pp
** This variable specifies which editor is used by mutt.
** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment
--- a/globals.h
+++ b/globals.h
-@@ -241,6 +241,8 @@
+@@ -242,6 +242,8 @@
WHERE char *PgpListSecringCommand;
WHERE char *PgpListPubringCommand;
WHERE char *PgpGetkeysCommand;
WHERE char *SmimeDefaultKey;
--- a/init.h
+++ b/init.h
-@@ -1790,6 +1790,18 @@
- ** checked with the \fC$<check-traditional-pgp>\fP function, mutt will automatically
- ** check the message for traditional pgp.
+@@ -2551,6 +2551,18 @@
+ ** a line quoted text if it also matches $$smileys. This mostly
+ ** happens at the beginning of a line.
*/
+ { "pgp_mime_signature_filename", DT_STR, R_NONE, UL &PgpMimeSignatureFilename, UL "signature.asc"},
+ /*
+ ** PGP/MIME signed messages.
+ */
- /* XXX Default values! */
+
--- a/pgp.c
+++ b/pgp.c
-@@ -1113,6 +1113,8 @@
+@@ -1131,6 +1131,8 @@
t->disposition = DISPINLINE;
t->encoding = ENC7BIT;
t->unlink = 1; /* ok to remove this file after sending. */
+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);
+}
+ 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
+ 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);
+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])
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;
--- a/doc/manual.xml.head
+++ b/doc/manual.xml.head
-@@ -5160,6 +5160,205 @@ macro pager \cb |urlview\n
+@@ -5678,6 +5678,205 @@
</chapter>
+For example:
+
+<screen>
-+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"
+</screen>
+
+You do not have to specify all of the commands. If you omit <link
+Example:
+
+<screen>
-+open-hook \\.gz$ "gzip -cd %f > %t"
++open-hook \\.gz$ "gzip -cd %f > %t"
+</screen>
+
+If the <emphasis>command</emphasis> is empty, this operation is
+Example:
+
+<screen>
-+append-hook \\.gz$ "gzip -c %t >> %f"
++append-hook \\.gz$ "gzip -c %t >> %f"
+</screen>
+
+When <link linkend="append-hook">append-hook</link> is used, the folder
--- a/doc/Muttrc.head
+++ b/doc/Muttrc.head
-@@ -29,6 +29,11 @@ macro generic,pager <F1> "<shell-escape>
+@@ -29,6 +29,11 @@
macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
bind browser y exit
#
--- 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.
+"\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
#include <limits.h>
#include <string.h>
#include <stdlib.h>
-@@ -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);
}
)
--- a/init.h
+++ b/init.h
-@@ -3452,6 +3452,11 @@ struct command_t Commands[] = {
+@@ -3514,6 +3514,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 },
{ "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
"+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 \
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 \
#include <sys/stat.h>
#include <dirent.h>
#include <string.h>
-@@ -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);
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)
/* tree characters for linearize_tree and print_enriched_string */
#define M_TREE_LLCORNER 1
-@@ -872,6 +877,11 @@ typedef struct _context
+@@ -883,6 +888,11 @@
int flagged; /* how many flagged messages */
int msgnotreadyet; /* which msg "new" in pager, -1 if none */
#ifdef USE_IMAP
#include "imap.h"
#endif
-@@ -445,6 +449,10 @@ int mx_get_magic (const char *path)
+@@ -415,6 +419,10 @@
return (-1);
}
return (magic);
}
-@@ -484,6 +492,13 @@ static int mx_open_mailbox_append (CONTE
+@@ -454,6 +462,13 @@
{
struct stat sb;
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);
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);
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);
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);
mx_fastclose_mailbox (ctx);
return 0;
-@@ -1373,6 +1408,11 @@ int mx_check_mailbox (CONTEXT *ctx, int
+@@ -1355,6 +1390,11 @@
{
int rc;
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
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 <roland@spinnaker.de>\n"
- "Language-Team: German <mutt-po@mutt.org>\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)"
#: hook.c:251
#, c-format
msgid "unhook: Can't do unhook * from within a hook."
-@@ -2718,18 +2722,10 @@ msgstr "Lese %s..."
- 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
- 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!"
--
- #. 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 +5382,45 @@
#~ msgid "Authentication method is unknown."
#~ msgstr "Authentifizierungsmethode unbekannt."
+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
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);
strfcpy (tmp, Context->path, sizeof (tmp));
--- a/PATCHES
+++ b/PATCHES
-@@ -0,0 +1 @@
+@@ -1 +1,2 @@
+patch-1.5.18.rr.compressed.1
+ patch-1.5.13.cd.ifdef.2
do
--- a/init.h
+++ b/init.h
-@@ -3351,6 +3351,7 @@
+@@ -3413,6 +3413,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 *);
-@@ -3401,6 +3402,7 @@
+@@ -3463,6 +3464,7 @@
{ "group", parse_group, 0 },
{ "ungroup", parse_ungroup, 0 },
{ "hdr_order", parse_list, UL &HeaderOrderList },
+ { "ifdef", parse_ifdef, 0 },
#ifdef HAVE_ICONV
- { "iconv-hook", mutt_parse_hook, M_ICONVHOOK },
+ { "iconv-hook", mutt_parse_hook, M_ICONVHOOK },
#endif
--- a/doc/manual.xml.head
+++ b/doc/manual.xml.head
-@@ -3816,6 +3816,28 @@
+@@ -4087,6 +4087,28 @@
</sect1>
+</sect1>
+
<sect1 id="unhook">
- <title>Removing hooks</title>
+ <title>Removing Hooks</title>
--- /dev/null
+++ b/PATCHES
== END PATCH
--- a/buffy.c
+++ b/buffy.c
-@@ -226,6 +226,7 @@
+@@ -257,6 +257,7 @@
(*tmp)->new = 0;
(*tmp)->notified = 1;
(*tmp)->newly_created = 0;
/* for check_mbox_size, it is important that if the folder is new (tested by
* reading it), the size is set to 0 so that later when we check we see
-@@ -254,6 +255,7 @@
+@@ -285,6 +286,7 @@
{
BUFFY *tmp;
struct stat sb;
struct dirent *de;
DIR *dirp;
char path[_POSIX_PATH_MAX];
-@@ -298,6 +300,7 @@
+@@ -333,6 +335,7 @@
if (tmp->magic != M_IMAP)
#endif
tmp->new = 0;
#ifdef USE_IMAP
if (tmp->magic != M_IMAP)
-@@ -380,10 +383,20 @@
+@@ -415,10 +418,20 @@
if (*de->d_name != '.' &&
(!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
{
closedir (dirp);
--- a/init.h
+++ b/init.h
-@@ -1185,6 +1185,16 @@
+@@ -1350,6 +1350,16 @@
** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE
** DOING!\fP
*/
+ **
+ */
#ifdef USE_HCACHE
- { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 },
+ { "maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, 1 },
/*
--- a/mutt.h
+++ b/mutt.h
-@@ -375,6 +375,7 @@
+@@ -384,6 +384,7 @@
OPTINCLUDEONLYFIRST,
OPTKEEPFLAGGED,
OPTMAILCAPSANITIZE,
continue;
}
#endif
-@@ -464,7 +471,7 @@
+@@ -479,7 +486,7 @@
strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
mutt_pretty_mailbox (buffer, sizeof (buffer));
--- a/buffy.h
+++ b/buffy.h
@@ -25,6 +25,7 @@
- char *path;
+ char path[_POSIX_PATH_MAX];
off_t size;
struct buffy_t *next;
+ time_t mtime; /* for maildirs...time of newest entry */
OP_QUIT "save changes to mailbox and quit"
--- a/curs_main.c
+++ b/curs_main.c
-@@ -1816,6 +1816,7 @@
+@@ -1823,6 +1823,7 @@
MAYBE_REDRAW (menu->redraw);
break;
case OP_DELETE:
CHECK_MSGCOUNT;
-@@ -1826,6 +1827,7 @@
+@@ -1833,6 +1834,7 @@
if (tag)
{
mutt_tag_set_flag (M_DELETE, 1);
if (option (OPTDELETEUNTAG))
mutt_tag_set_flag (M_TAG, 0);
menu->redraw = REDRAW_INDEX;
-@@ -1833,6 +1835,8 @@
+@@ -1840,6 +1842,8 @@
else
{
mutt_set_flag (Context, CURHDR, M_DELETE, 1);
if (option (OPTDELETEUNTAG))
mutt_set_flag (Context, CURHDR, M_TAG, 0);
if (option (OPTRESOLVE))
-@@ -2129,11 +2133,13 @@
+@@ -2136,11 +2140,13 @@
if (tag)
{
mutt_tag_set_flag (M_DELETE, 0);
if (option (OPTRESOLVE) && menu->current < Context->vcount - 1)
{
menu->current++;
-@@ -2154,9 +2160,11 @@
+@@ -2161,9 +2167,11 @@
CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
{ "query", OP_QUERY, "Q" },
{ "quit", OP_QUIT, "q" },
{ "reply", OP_REPLY, "r" },
-@@ -207,6 +208,7 @@
+@@ -209,6 +210,7 @@
{ "print-message", OP_PRINT, "p" },
{ "previous-thread", OP_MAIN_PREV_THREAD, "\020" },
{ "previous-subthread",OP_MAIN_PREV_SUBTHREAD, "\033p" },
{ "reply", OP_REPLY, "r" },
--- a/mutt.h
+++ b/mutt.h
-@@ -182,6 +182,7 @@
+@@ -188,6 +188,7 @@
M_UNDELETE,
M_DELETED,
M_APPENDED,
M_FLAG,
M_TAG,
M_UNTAG,
-@@ -695,6 +696,7 @@
+@@ -705,6 +706,7 @@
unsigned int flagged : 1; /* marked important? */
unsigned int tagged : 1;
unsigned int appended : 1; /* has been saved */
unsigned int attach_del : 1; /* has an attachment marked for deletion */
--- a/mx.c
+++ b/mx.c
-@@ -833,6 +833,7 @@
+@@ -803,6 +803,7 @@
{
for (i = 0 ; i < ctx->msgcount ; i++)
if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->appended
mx_close_mailbox (ctx_trash, NULL);
--- a/pager.c
+++ b/pager.c
-@@ -2272,12 +2272,15 @@
+@@ -2316,12 +2316,15 @@
MAYBE_REDRAW (redraw);
break;
if (option (OPTDELETEUNTAG))
mutt_set_flag (Context, extra->hdr, M_TAG, 0);
redraw = REDRAW_STATUS | REDRAW_INDEX;
-@@ -2590,6 +2593,7 @@
+@@ -2648,6 +2651,7 @@
CHECK_ACL(M_ACL_DELETE, _("undelete message"));
mutt_set_flag (Context, extra->hdr, M_DELETE, 0);
redraw = REDRAW_STATUS | REDRAW_INDEX;
if (option (OPTRESOLVE))
{
-@@ -2605,9 +2609,11 @@
+@@ -2663,9 +2667,11 @@
CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
r = mutt_thread_set_flag (extra->hdr, M_DELETE, 0,
{
--- a/pattern.c
+++ b/pattern.c
-@@ -1344,8 +1344,10 @@
+@@ -1347,8 +1347,10 @@
{
switch (op)
{
== END PATCH
--- a/menu.c
+++ b/menu.c
-@@ -859,8 +859,17 @@
+@@ -853,8 +853,17 @@
int mutt_menuLoop (MUTTMENU *menu)
{
FOREVER
{
if (option (OPTMENUCALLER))
-@@ -1088,6 +1097,8 @@
+@@ -1082,6 +1091,8 @@
break;
default:
static char LastDir[_POSIX_PATH_MAX] = "";
static char LastDirBackup[_POSIX_PATH_MAX] = "";
-@@ -511,9 +512,13 @@
+@@ -526,9 +527,13 @@
menu->tagged = 0;
if (buffy)
strfcpy (path, LastDir, sizeof (path));
mutt_pretty_mailbox (path, sizeof (path));
#ifdef USE_IMAP
-@@ -522,8 +527,22 @@
+@@ -537,8 +542,22 @@
path, NONULL (Mask.pattern));
else
#endif
}
menu->redraw = REDRAW_FULL;
}
-@@ -706,7 +725,6 @@
+@@ -721,7 +740,6 @@
#endif
)
{
== END PATCH
--- a/commands.c
+++ b/commands.c
-@@ -693,6 +693,7 @@
+@@ -716,6 +716,7 @@
if (option (OPTDELETEUNTAG))
mutt_set_flag (Context, h, M_TAG, 0);
}
if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN))
--- a/globals.h
+++ b/globals.h
-@@ -138,6 +138,7 @@
+@@ -139,6 +139,7 @@
WHERE char *Status;
WHERE char *Tempdir;
WHERE char *Tochars;
WHERE char *XtermTitle;
--- a/imap/message.c
+++ b/imap/message.c
-@@ -859,6 +859,7 @@
+@@ -867,6 +867,7 @@
if (ctx->hdrs[n]->tagged)
{
mutt_set_flag (ctx, ctx->hdrs[n], M_DELETE, 1);
if (option (OPTDELETEUNTAG))
mutt_set_flag (ctx, ctx->hdrs[n], M_TAG, 0);
}
-@@ -866,6 +867,7 @@
+@@ -874,6 +875,7 @@
else
{
mutt_set_flag (ctx, h, M_DELETE, 1);
}
--- a/init.h
+++ b/init.h
-@@ -3138,6 +3138,16 @@
+@@ -3190,6 +3190,16 @@
** by \fIyou\fP. The sixth character is used to indicate when a mail
** was sent to a mailing-list you subscribe to.
*/
/*
--- a/mutt.h
+++ b/mutt.h
-@@ -181,6 +181,7 @@
+@@ -187,6 +187,7 @@
M_DELETE,
M_UNDELETE,
M_DELETED,
M_FLAG,
M_TAG,
M_UNTAG,
-@@ -693,6 +694,7 @@
+@@ -703,6 +704,7 @@
unsigned int mime : 1; /* has a MIME-Version header? */
unsigned int flagged : 1; /* marked important? */
unsigned int tagged : 1;
unsigned int deleted : 1;
unsigned int changed : 1;
unsigned int attach_del : 1; /* has an attachment marked for deletion */
-@@ -864,6 +866,7 @@
+@@ -875,6 +877,7 @@
int new; /* how many new messages? */
int unread; /* how many unread messages? */
int deleted; /* how many deleted messages */
--- a/muttlib.c
+++ b/muttlib.c
-@@ -1445,7 +1445,9 @@
+@@ -1460,7 +1460,9 @@
if (magic > 0 && !mx_access (s, W_OK))
{
if ((rc = mutt_yesorno (tmp, M_YES)) == M_NO)
--- a/mx.c
+++ b/mx.c
-@@ -803,6 +803,53 @@
+@@ -773,6 +773,53 @@
return rc;
}
/* save changes and close mailbox */
int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
{
-@@ -938,6 +985,7 @@
+@@ -909,6 +956,7 @@
if (mutt_append_message (&f, ctx, ctx->hdrs[i], 0, CH_UPDATE_LEN) == 0)
{
mutt_set_flag (ctx, ctx->hdrs[i], M_DELETE, 1);
}
else
{
-@@ -959,6 +1007,14 @@
+@@ -931,6 +979,14 @@
return 0;
}
#ifdef USE_IMAP
/* allow IMAP to preserve the deleted flag across sessions */
if (ctx->magic == M_IMAP)
-@@ -1154,6 +1210,12 @@
+@@ -1130,6 +1186,12 @@
msgcount = ctx->msgcount;
deleted = ctx->deleted;
menu->redraw = 0;
--- a/globals.h
+++ b/globals.h
-@@ -140,6 +140,8 @@
+@@ -141,6 +141,8 @@
WHERE char *Tochars;
WHERE char *Username;
WHERE char *Visual;
DTYPE (MuttVars[idx].type) == DT_PATH ||
--- a/init.h
+++ b/init.h
-@@ -3285,6 +3285,27 @@
- ** option does nothing: mutt will never write out the ``Bcc:'' header
- ** in this case.
+@@ -3347,6 +3347,27 @@
+ ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the
+ ** ``$tuning'' section of the manual for performance considerations.
*/
+ {"xterm_icon", DT_STR, R_BOTH, UL &XtermIcon, UL "M%?n?AIL&ail?"},
+ /*
+ ** to the one used by ``$$status_format''.
+ */
/*--*/
- { NULL }
+ { NULL, 0, 0, 0, 0 }
};
--- a/mutt.h
+++ b/mutt.h
-@@ -438,6 +438,7 @@
+@@ -447,6 +447,7 @@
OPTWRAPSEARCH,
OPTWRITEBCC, /* write out a bcc header? */
OPTXMAILER,
OPTCRYPTUSEPKA,
--- a/pager.c
+++ b/pager.c
-@@ -1761,6 +1761,13 @@
- mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner);
+@@ -1784,6 +1784,13 @@
+ }
BKGDSET (MT_COLOR_NORMAL);
SETCOLOR (MT_COLOR_NORMAL);
+ if (option(OPTXTERMSETTITLES))
muttbug.man \
mutt.man \
PGP-Notes.txt \
-@@ -43,13 +44,14 @@
+@@ -45,13 +46,14 @@
all: makedoc-all
./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1
./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1
test x@DOTLOCK_TARGET@ = x || ./instdoc $(srcdir)/dotlock.man \
-@@ -78,7 +80,7 @@
+@@ -80,7 +82,7 @@
fi
uninstall-local:
rm -f $(DESTDIR)$(mandir)/man1/$$f ; \
done
for f in muttrc.5 mbox.5 mmdf.5 ; do \
-@@ -137,7 +139,7 @@
- -aspell -l en --mode nroff -c muttrc.man.head
+@@ -145,7 +147,7 @@
+ rm -rf vars.tmp.1 vars.tmp.2
clean-local:
- rm -f *~ *.html *.orig *.rej stamp-doc-* *.ps mutt.1 muttrc.man
rm -f *.aux *.log *.tex *.out
DISTCLEANFILES=manual.txt manual.html manual.xml manual.pdf html \
-@@ -161,6 +163,9 @@
+@@ -169,6 +171,9 @@
mutt.1: $(srcdir)/mutt.man
$(EDIT) $(srcdir)/mutt.man > $@
--- a/buffy.c
+++ b/buffy.c
-@@ -261,7 +261,7 @@
+@@ -292,6 +292,7 @@
char path[_POSIX_PATH_MAX];
struct stat contex_sb;
time_t t;
--
+ CONTEXT *ctx;
- #ifdef USE_IMAP
- /* update postponed count as well, on force */
- if (force)
-@@ -296,6 +296,8 @@
+
+ sb.st_size=0;
+ contex_sb.st_dev=0;
+@@ -331,6 +332,8 @@
for (tmp = Incoming; tmp; tmp = tmp->next)
{
#ifdef USE_IMAP
if (tmp->magic != M_IMAP)
#endif
-@@ -353,10 +355,27 @@
+@@ -388,10 +391,27 @@
case M_MBOX:
case M_MMDF:
}
else if (option(OPTCHECKMBOXSIZE))
{
-@@ -366,35 +385,86 @@
+@@ -401,35 +421,86 @@
if (tmp->newly_created &&
(sb.st_ctime != sb.st_mtime || sb.st_ctime != sb.st_atime))
tmp->newly_created = 0;
--- a/buffy.h
+++ b/buffy.h
@@ -25,7 +25,12 @@
- char *path;
+ char path[_POSIX_PATH_MAX];
off_t size;
struct buffy_t *next;
+ struct buffy_t *prev;
@@ -571,10 +578,13 @@
- if (menu->redraw & REDRAW_STATUS)
+ if (menu->redraw & REDRAW_STATUS)
{
+ DrawFullLine = 1;
menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
else if (option (OPTBRAILLEFRIENDLY))
move (menu->current - menu->top + menu->offset, 0);
else
-@@ -1068,6 +1078,7 @@
+@@ -1075,6 +1085,7 @@
menu->redraw = REDRAW_FULL;
break;
+ case OP_SIDEBAR_OPEN:
case OP_MAIN_CHANGE_FOLDER:
case OP_MAIN_NEXT_UNREAD_MAILBOX:
-
-@@ -1099,7 +1110,11 @@
+
+@@ -1106,7 +1117,11 @@
{
mutt_buffy (buf, sizeof (buf));
{
if (menu->menu == MENU_PAGER)
{
-@@ -1117,6 +1132,7 @@
+@@ -1124,6 +1139,7 @@
}
mutt_expand_path (buf, sizeof (buf));
if (mx_get_magic (buf) <= 0)
{
mutt_error (_("%s is not a mailbox."), buf);
-@@ -2209,6 +2225,12 @@
+@@ -2216,6 +2232,12 @@
mutt_what_key();
break;
{ NULL, 0, NULL }
};
-@@ -268,6 +273,11 @@
+@@ -270,6 +275,11 @@
{ "what-key", OP_WHAT_KEY, NULL },
--- a/globals.h
+++ b/globals.h
-@@ -116,6 +116,7 @@
+@@ -117,6 +117,7 @@
WHERE char *SendCharset;
WHERE char *Sendmail;
WHERE char *Shell;
WHERE char *Signature;
WHERE char *SimpleSearch;
#if USE_SMTP
-@@ -208,6 +209,9 @@
+@@ -209,6 +210,9 @@
WHERE short ScoreThresholdRead;
WHERE short ScoreThresholdFlag;
WHERE short ImapPipelineDepth;
--- a/init.h
+++ b/init.h
-@@ -1594,6 +1594,22 @@
- ** you may \fIunset\fP this setting.
- ** (Crypto only)
+@@ -1963,6 +1963,22 @@
+ ** not used.
+ ** (PGP only)
*/
+ {"sidebar_delim", DT_STR, R_BOTH, UL &SidebarDelim, "|"},
+ /*
menu_make_entry (buf, sizeof (buf), menu, menu->current);
menu_pad_string (buf, sizeof (buf));
-@@ -886,7 +888,7 @@
+@@ -885,7 +887,7 @@
if (option (OPTARROWCURSOR))
--- a/mutt.h
+++ b/mutt.h
-@@ -417,6 +417,7 @@
+@@ -426,6 +426,7 @@
OPTSAVEEMPTY,
OPTSAVENAME,
OPTSCORE,
OPTSIGDASHES,
OPTSIGONTOP,
OPTSORTRE,
-@@ -854,6 +855,7 @@
+@@ -865,6 +866,7 @@
{
char *path;
FILE *fp;
time_t mtime;
off_t size;
off_t vsize;
-@@ -894,6 +896,7 @@
+@@ -905,6 +907,7 @@
unsigned int quiet : 1; /* inhibit status messages? */
unsigned int collapsed : 1; /* are all threads collapsed? */
unsigned int closing : 1; /* mailbox is being closed */
void *data; /* driver specific data */
--- a/muttlib.c
+++ b/muttlib.c
-@@ -1217,6 +1217,8 @@
+@@ -1232,6 +1232,8 @@
pl = pw = 1;
/* see if there's room to add content, else ignore */
if ((col < COLS && wlen < destlen) || soft)
{
int pad;
-@@ -1259,6 +1261,52 @@
+@@ -1274,6 +1276,52 @@
col += wid;
src += pl;
}
else if (ch == '|')
--- a/mx.c
+++ b/mx.c
-@@ -626,6 +626,7 @@
+@@ -596,6 +596,7 @@
* M_APPEND open mailbox for appending
* M_READONLY open mailbox in read-only mode
* M_QUIET only print error messages
* ctx if non-null, context struct to use
*/
CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx)
-@@ -648,6 +649,8 @@
+@@ -618,6 +619,8 @@
ctx->quiet = 1;
if (flags & M_READONLY)
ctx->readonly = 1;
if (flags & (M_APPEND|M_NEWFOLDER))
{
-@@ -752,9 +755,21 @@
+@@ -722,9 +725,21 @@
void mx_fastclose_mailbox (CONTEXT *ctx)
{
int i;
#include "mutt_crypt.h"
-@@ -1060,6 +1061,8 @@
+@@ -1071,6 +1072,8 @@
mbstate_t mbstate;
int wrap_cols = mutt_term_width ((flags & M_PAGER_NOWRAP) ? 0 : Wrap);
/* FIXME: this should come from lineInfo */
memset(&mbstate, 0, sizeof(mbstate));
-@@ -1694,7 +1697,7 @@
+@@ -1717,7 +1720,7 @@
if ((redraw & REDRAW_BODY) || topline != oldtopline)
{
do {
curline = oldtopline = topline;
lines = 0;
force_redraw = 0;
-@@ -1707,6 +1710,7 @@
+@@ -1730,6 +1733,7 @@
&QuoteList, &q_level, &force_redraw, &SearchRE) > 0)
lines++;
curline++;
}
last_offset = lineInfo[curline].offset;
} while (force_redraw);
-@@ -1720,6 +1724,7 @@
+@@ -1743,6 +1747,7 @@
addch ('~');
addch ('\n');
lines++;
}
/* We are going to update the pager status bar, so it isn't
* necessary to reset to normal color now. */
-@@ -1743,22 +1748,22 @@
+@@ -1766,11 +1771,11 @@
/* print out the pager status bar */
SETCOLOR (MT_COLOR_STATUS);
BKGDSET (MT_COLOR_STATUS);
- CLEARLINE (statusoffset);
+ CLEARLINE_WIN (statusoffset);
- if (IsHeader (extra))
+
+ if (IsHeader (extra) || IsMsgAttach (extra))
{
- size_t l1 = COLS * MB_LEN_MAX;
-+ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX;
++ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX;
size_t l2 = sizeof (buffer);
- hfi.hdr = extra->hdr;
+ hfi.hdr = (IsHeader (extra)) ? extra->hdr : extra->bdy->hdr;
mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT);
- }
- else if (IsMsgAttach (extra))
+@@ -1780,7 +1785,7 @@
{
-- size_t l1 = COLS * MB_LEN_MAX;
-+ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX;
- size_t l2 = sizeof (buffer);
- hfi.hdr = extra->bdy->hdr;
- mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT);
+ char bn[STRING];
+ snprintf (bn, sizeof (bn), "%s (%s)", banner, pager_progress_str);
+- mutt_paddstr (COLS, bn);
++ mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner);
}
-- mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner);
-+ mutt_paddstr (COLS-SidebarWidth, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner);
BKGDSET (MT_COLOR_NORMAL);
SETCOLOR (MT_COLOR_NORMAL);
- if (option(OPTXTERMSETTITLES))
-@@ -1775,18 +1780,23 @@
+@@ -1798,18 +1803,23 @@
/* redraw the pager_index indicator, because the
* flags for this message might have changed. */
menu_redraw_current (index);
redraw = 0;
if (option(OPTBRAILLEFRIENDLY)) {
-@@ -2684,6 +2694,13 @@
+@@ -2742,6 +2752,13 @@
mutt_what_key ();
break;
+#endif /* SIDEBAR_H */
--- a/doc/Muttrc
+++ b/doc/Muttrc
-@@ -2167,6 +2167,26 @@
- # function.
+@@ -657,6 +657,26 @@
+ # $crypt_autosign, $crypt_replysign and $smime_is_default.
#
#
+# set sidebar_visible=no
# Name: crypt_autosign
--- a/imap/imap.c
+++ b/imap/imap.c
-@@ -1513,7 +1513,7 @@
+@@ -1521,7 +1521,7 @@
imap_munge_mbox_name (munged, sizeof (munged), name);
snprintf (command, sizeof (command),
}
--- a/PATCHES
+++ b/PATCHES
-@@ -0,0 +1 @@
+@@ -1,2 +1,3 @@
+patch-1.5.19.sidebar.20090522.txt
+ patch-1.5.18.rr.compressed.1
+ patch-1.5.13.cd.ifdef.2
counting messages; the if..break part has been dropped.
--- a/buffy.c
+++ b/buffy.c
-@@ -409,6 +409,11 @@
+@@ -445,6 +445,11 @@
tmp->has_new = tmp->new = 1;
tmp->msgcount++;
tmp->msg_unread++;
[see sidebar-compat-apply for part 2]
--- a/buffy.c
+++ b/buffy.c
-@@ -383,20 +383,10 @@
+@@ -418,20 +418,10 @@
if (*de->d_name != '.' &&
(!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
{
--- a/buffy.h
+++ b/buffy.h
@@ -25,7 +25,6 @@
- char *path;
+ char path[_POSIX_PATH_MAX];
off_t size;
struct buffy_t *next;
- time_t mtime; /* for maildirs...time of newest entry */
debian-specific/dont_document_not_present_features.diff
debian-specific/document_debian_defaults
debian-specific/assumed_charset-compat
-debian-specific/529838-gnutls-autoconf.patch
+#debian-specific/529838-gnutls-autoconf.patch
misc/define-pgp_getkeys_command.diff
misc/gpg.rc-paths
misc/smime.rc
-upstream/500016-temp-cache-fix.patch
-upstream/508988-inode-sort.patch
-upstream/530661-mandatory-doubledash.patch
-upstream/375530-index-weirdness.patch
-upstream/493719-segfault-imap-close.patch
-upstream/514960-certificate-insecure-algorithm.patch
-upstream/524420-segfault-reconnect-sasl.patch
-upstream/350957-postponed-to-bcc.patch
-upstream/502628-attach_charset-doc.patch
-upstream/504530-stunnel-account_hook-doc.patch
-upstream/530887-dovecot-imap.patch
+# these should all be in 1.5.20
+#upstream/500016-temp-cache-fix.patch
+#upstream/508988-inode-sort.patch
+#upstream/530661-mandatory-doubledash.patch
+#upstream/375530-index-weirdness.patch
+#upstream/493719-segfault-imap-close.patch
+#upstream/514960-certificate-insecure-algorithm.patch
+#upstream/524420-segfault-reconnect-sasl.patch
+#upstream/350957-postponed-to-bcc.patch
+#upstream/502628-attach_charset-doc.patch
+#upstream/504530-stunnel-account_hook-doc.patch
+#upstream/530887-dovecot-imap.patch
-misc/hyphen-as-minus.patch
-misc/manpage-typos.patch
+#misc/hyphen-as-minus.patch
+#misc/manpage-typos.patch
misc/smime_keys-manpage.patch
mutt.org