-2009-06-03 21:58 +0200 Rocco Rutte <pdmef@gmx.net> (cdfc2dc540b0)
+2009-06-07 02:09 +0200 Rocco Rutte <pdmef@gmx.net> (a786b0e8627c)
+
+ * doc/dotlock.man, doc/makedoc.c, doc/mbox.man, doc/mmdf.man,
+ doc/mutt.man, init.h: Fix hyphens in manpages. Closes #1937
+
+2009-06-04 17:07 +0200 Rocco Rutte <pdmef@gmx.net> (4f1ceaae93dc)
+
+ * rfc3676.c: Fix pretty quoting for f=f by resetting space count when
+ flushing paragraph
+
+2009-06-03 22:35 +0200 Rocco Rutte <pdmef@gmx.net> (386f2ce6b872)
+
+ * rfc3676.c: Fix several f=f bugs
+
+ It fixes problems with space-handling in general (trailing spaces
+ for display, un-space-stuffing), fixes quote prefix for replies and
+ lowers FLOWED_MAX so we don't run into line length trouble too
+ early.
* UPDATING, globals.h, init.h, pager.c: Don't abuse $pager_context for
searches, add $search_context. See #976.
2009-06-03 09:06 +0200 Rocco Rutte <pdmef@gmx.net> (9e45d5bedc79)
- * ChangeLog, pattern.c: Fix compiler warning
+ * pattern.c: Fix compiler warning
2009-06-02 20:25 +0200 Miroslav Lichvar <mlichvar@redhat.com> (d1d0481d1ca1)
* mutt_ssl_gnutls.c: Add support for GNUTLS_CERT_INSECURE_ALGORITHM
error code
-2009-06-02 20:11 +0200 Miroslav Lichvar <mlichvar@redhat.com> (0b13183e40e0)
-
* mutt_ssl_gnutls.c: Don't ignore certificate verification errors on
saved signer certs
2009-06-02 17:24 +0200 Rocco Rutte <pdmef@gmx.net> (8b2af5b64981)
- * ChangeLog, buffy.c: Fix duplicate mailbox detection for remote
+ * buffy.c: Fix duplicate mailbox detection for remote
folders
-2009-06-02 17:05 +0200 Rocco Rutte <pdmef@gmx.net> (9ca14dff45c5)
-
* smtp.c: Fix array size
-2009-06-02 15:43 +0200 Rocco Rutte <pdmef@gmx.net> (df4a17222b03)
-
- * ChangeLog, buffy.c: Thoroughly check for duplicates when parsing
+ * buffy.c: Thoroughly check for duplicates when parsing
'mailboxes' command. Closes #1428.
2009-06-01 14:50 +0200 Rocco Rutte <pdmef@gmx.net> (7a277ba306c9)
* gnupgparse.c: Use mutt_atoi() when parsing GnuPG output. Closes
#3145
-2009-06-01 13:22 +0200 Rocco Rutte <pdmef@gmx.net> (82a581c24f1a)
-
* hcache.c, mh.c: More atoi() fixes
-2009-06-01 11:27 +0200 Rocco Rutte <pdmef@gmx.net> (371d7556fec3)
-
- * ChangeLog, smtp.c: SMTP: Use mutt_atoi() to parse server responses
-
-2009-06-01 11:26 +0200 Rocco Rutte <pdmef@gmx.net> (35a444838167)
+ * smtp.c: SMTP: Use mutt_atoi() to parse server responses
* curs_main.c, edit.c, init.c, main.c, menu.c, mh.c, parse.c,
resize.c, score.c, url.c: Use strtol() wrappers for most atoi()
calls
-2009-06-01 11:24 +0200 Rocco Rutte <pdmef@gmx.net> (f1b6eb09f2ad)
-
- * ChangeLog, lib.c, lib.h: Add mutt_atos(), mutt_atoi() and
+ * lib.c, lib.h: Add mutt_atos(), mutt_atoi() and
mutt_atol() (strtol() wrappers)
-2009-06-01 10:36 +0200 Rocco Rutte <pdmef@gmx.net> (36b7e267ce33)
-
* send.c: Treat address groups as no recipients
When sending with Sendmail or SMTP we exclude address groups anyway,
so treat these addresses as not present when checking for valid
recipients before sending in the compose menu.
-2009-06-01 10:29 +0200 Rocco Rutte <pdmef@gmx.net> (64250df0e9a4)
-
- * ChangeLog, smtp.c: Weed out address groups for SMTP the same way we
+ * smtp.c: Weed out address groups for SMTP the same way we
do for sendmail
2009-05-31 19:19 -0700 Brendan Cully <brendan@kublai.com> (0024860ab03e)
* doc/Makefile.am: Allow chunked and unchunked manuals to build in
parallel.
-2009-05-31 19:07 -0700 Brendan Cully <brendan@kublai.com> (fd18d0d6f3d0)
-
* mutt_ssl_gnutls.c: Remove trailing whitespace
2009-05-31 14:46 +0200 Rocco Rutte <pdmef@gmx.net> (8e591e80cd48)
- * ChangeLog, smtp.c: SMTP: Don't send "undisclosed-recipients" in RCPT
- TO
+ * smtp.c: SMTP: Don't send "undisclosed-recipients" in RCPT TO
This happened for Bcc only messages. "undisclosed-recipients" is
added in To: as guard against MTAs that leak BCCs if no To:/Cc:
header is given. See Debian #529090.
-2009-05-31 13:19 +0200 Rocco Rutte <pdmef@gmx.net> (9594f10d2038)
-
* init.h: Document that $pager_context affects searching, too
-2009-05-31 13:00 +0200 Rocco Rutte <pdmef@gmx.net> (d5065254c2f1)
-
- * ChangeLog, UPDATING: Update UPDATING
-
-2009-05-31 12:54 +0200 Rocco Rutte <pdmef@gmx.net> (fdaed73dd66a)
+ * UPDATING: Update UPDATING
* handler.c: Turn trailing \r\n to \n for qp-encoded messages.
See #2898 though this is a partial fix only.
-2009-05-31 12:40 +0200 Rocco Rutte <pdmef@gmx.net> (c3502979422b)
-
- * ChangeLog, pager.c: Give $pager_context lines of context when
- searching page-based menus. Closes #976.
-
-2009-05-31 11:32 +0200 Rocco Rutte <pdmef@gmx.net> (68ee7fe4aa49)
+ * pager.c: Give $pager_context lines of context when searching
+ page-based menus. Closes #976.
* handler.c, init.h, rfc3676.c: f=f: Strip trailing spaces for
interoperability. Closes #3001.
trailing spaces since from format=fixed we assume all lines are
fixed (i.e. we don't want to errorneously make fixed lines flowed).
-2009-05-31 10:40 +0200 Rocco Rutte <pdmef@gmx.net> (03ea7644f71b)
-
- * ChangeLog, handler.c, init.h, mutt.h: Add $honor_disposition to not
- display attachments inline. Closes #3170.
+ * handler.c, init.h, mutt.h: Add $honor_disposition to not display
+ attachments inline. Closes #3170.
Previously all MIME parts were displayed inline regardless of the
Content-Disposition header (if present). With $honor_disposition
2009-05-30 00:24 +0200 Rocco Rutte <pdmef@gmx.net> (f65a1eb8abce)
- * ChangeLog, smtp.c: Fix logic in f260f5836284
+ * smtp.c: Fix logic in f260f5836284
2009-05-29 21:33 +0200 Rocco Rutte <pdmef@gmx.net> (c4d86d4ea260)
* pager.c: Drop modified version of and use mutt_read_line() in pager,
too
-2009-05-29 21:24 +0200 Rocco Rutte <pdmef@gmx.net> (776ef9dbe4d2)
-
- * ChangeLog, history.c, init.c, lib.c, lib.h, mh.c, mutt_ssl_gnutls.c,
- pgp.c, query.c, rfc1524.c, smime.c: Add flags to mutt_read_line()
- for EOL-stripping and continuation support
+ * history.c, init.c, lib.c, lib.h, mh.c, mutt_ssl_gnutls.c, pgp.c,
+ query.c, rfc1524.c, smime.c: Add flags to mutt_read_line() for
+ EOL-stripping and continuation support
We use these to stop supporting EOL-escaping with \ which was wrong
in most cases (e.g. $history_file), support is kept for reading
Leaving CRLF in will be used for the pager.
-2009-05-29 16:40 +0200 Rocco Rutte <pdmef@gmx.net> (d13500626ea6)
-
* menu.c, pager.c, pattern.c: Fall back to search if no query exists
for search-(next|opposite)
The pager had the fall-through to search, so for consistency do that
in other menues as well.
-2009-05-29 16:21 +0200 Rocco Rutte <pdmef@gmx.net> (4d0640457c77)
-
- * ChangeLog, pager.c: Fix pager search prompt for reverse search
+ * pager.c: Fix pager search prompt for reverse search
When doing a reverse search for the first time after switching to
the pager, SearchBack is always 0 and thus gave the wrong prompt,
change to using op directly. While I'm at it, unify search prompts.
-2009-05-29 13:27 +0200 Rocco Rutte <pdmef@gmx.net> (f1a1e50c375d)
-
* doc/manual.xml.head: Manual: Fix markup of environment variables
2009-05-28 16:37 +0200 Rocco Rutte <pdmef@gmx.net> (f260f5836284)
- * ChangeLog, smtp.c: SMTP: don't interactively authenticate without a
+ * smtp.c: SMTP: don't interactively authenticate without a
password in batch/mailx mode
Otherwise, if we don't have a password and curses is not running,
the SASL authentication callback will crash mutt. We now abort if
the password wasn't given in $smtp_url.
-2009-05-28 15:20 +0200 Rocco Rutte <pdmef@gmx.net> (84a56dcb0572)
-
* doc/mutt.css: Manual: vertical-align table cells at the top
-2009-05-28 15:19 +0200 Rocco Rutte <pdmef@gmx.net> (ee2ebf6cf363)
-
- * ChangeLog, doc/manual.xml.head, doc/mutt.css: Manual: Wrap muttrc
- commands in <command/>
+ * doc/manual.xml.head, doc/mutt.css: Manual: Wrap muttrc commands
+ in <command/>
2009-05-27 23:14 -0700 Brendan Cully <brendan@kublai.com> (5502fb790bab)
/*
* Copyright (C) 1996-9 Brandon Long <blong@fiction.net>
* Copyright (C) 1999-2009 Brendan Cully <brendan@kublai.com>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- */
+ */
/* message parsing/updating functions */
if (mutt_bit_isset (idata->capabilities,IMAP4REV1))
{
- snprintf (hdrreq, sizeof (hdrreq), "BODY.PEEK[HEADER.FIELDS (%s%s%s)]",
- want_headers, ImapHeaders ? " " : "", ImapHeaders ? ImapHeaders : "");
- }
+ snprintf (hdrreq, sizeof (hdrreq), "BODY.PEEK[HEADER.FIELDS (%s%s%s)]",
+ want_headers, ImapHeaders ? " " : "", ImapHeaders ? ImapHeaders : "");
+ }
else if (mutt_bit_isset (idata->capabilities,IMAP4))
{
- snprintf (hdrreq, sizeof (hdrreq), "RFC822.HEADER.LINES (%s%s%s)",
+ snprintf (hdrreq, sizeof (hdrreq), "RFC822.HEADER.LINES (%s%s%s)",
want_headers, ImapHeaders ? " " : "", ImapHeaders ? ImapHeaders : "");
}
else
snprintf (buf, sizeof (buf),
"UID FETCH 1:%u (UID FLAGS)", uidnext - 1);
-
+
imap_cmd_start (idata, buf);
-
+
rc = IMAP_CMD_CONTINUE;
for (msgno = msgbegin; rc == IMAP_CMD_CONTINUE; msgno++)
{
mutt_progress_update (&progress, msgno + 1, -1);
-
+
memset (&h, 0, sizeof (h));
h.data = safe_calloc (1, sizeof (IMAP_HEADER_DATA));
do
mfhrc = -1;
continue;
}
-
+
idx = h.sid - 1;
ctx->hdrs[idx] = imap_hcache_get (idata, h.data->uid);
if (ctx->hdrs[idx])
{
ctx->hdrs[idx]->index = idx;
- /* messages which have not been expunged are ACTIVE (borrowed from mh
+ /* messages which have not been expunged are ACTIVE (borrowed from mh
* folders) */
ctx->hdrs[idx]->active = 1;
ctx->hdrs[idx]->read = h.data->read;
mfhrc = -1;
continue;
}
+ /* May receive FLAGS updates in a separate untagged response (#2935) */
+ if (idx < ctx->msgcount)
+ {
+ dprint (2, (debugfile, "imap_read_headers: message %d is not new\n",
+ h.sid));
+ continue;
+ }
ctx->hdrs[idx] = mutt_new_header ();
ctx->hdrs[idx]->index = h.sid - 1;
- /* messages which have not been expunged are ACTIVE (borrowed from mh
+ /* messages which have not been expunged are ACTIVE (borrowed from mh
* folders) */
ctx->hdrs[idx]->active = 1;
ctx->hdrs[idx]->read = h.data->read;
* also try to update it. HACK until all this code can be moved into the
* command handler */
h->active = 0;
-
+
snprintf (buf, sizeof (buf), "UID FETCH %u %s", HEADER_DATA(h)->uid,
(mutt_bit_isset (idata->capabilities, IMAP4REV1) ?
(option (OPTIMAPPEEK) ? "BODY.PEEK[]" : "BODY[]") :
mutt_perror (cache->path);
goto bail;
}
-
+
if (rc != IMAP_CMD_OK)
goto bail;
FILE *fp;
char buf[LONG_STRING];
char mbox[LONG_STRING];
- char mailbox[LONG_STRING];
+ char mailbox[LONG_STRING];
size_t len;
progress_t progressbar;
size_t sent;
imap_fix_path (idata, mx.mbox, mailbox, sizeof (mailbox));
if (!*mailbox)
strfcpy (mailbox, "INBOX", sizeof (mailbox));
-
+
if ((fp = fopen (msg->path, "r")) == NULL)
{
mutt_perror (msg->path);
mutt_progress_update (&progressbar, sent, -1);
}
}
-
+
if (len)
flush_buffer(buf, &len, idata->conn);
dprint (3, (debugfile, "imap_copy_messages: Message contains attachments to be deleted\n"));
return 1;
}
-
+
imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox));
if (!*mbox)
strfcpy (mbox, "INBOX", sizeof (mbox));
dprint (1, (debugfile, "imap_copy_messages: could not sync\n"));
goto fail;
}
- }
+ }
if ((rc = imap_exec (idata, cmd.data, IMAP_CMD_QUEUE)) < 0)
{
dprint (1, (debugfile, "could not queue copy\n"));
dprint (2, (debugfile, "imap_fetch_message: parsing FLAGS\n"));
if ((s = msg_parse_flags (&newh, s)) == NULL)
return NULL;
-
+
/* YAUH (yet another ugly hack): temporarily set context to
* read-write even if it's read-only, so *server* updates of
* flags can be processed by mutt_set_flag. ctx->changed must
* be restored afterwards */
readonly = ctx->readonly;
ctx->readonly = 0;
-
+
mutt_set_flag (ctx, h, M_NEW, !(hd->read || hd->old));
mutt_set_flag (ctx, h, M_OLD, hd->old);
mutt_set_flag (ctx, h, M_READ, hd->read);
if (buf[0] != '*')
return rc;
-
+
/* skip to message number */
buf = imap_next_word (buf);
h->sid = atoi (buf);
* read header lines and call it again. Silly. */
if ((rc = msg_parse_fetch (h, buf)) != -2 || !fp)
return rc;
-
+
if (imap_get_literal_count (buf, &bytes) == 0)
{
imap_read_literal (fp, idata, bytes, NULL);
* interchangeably at any time. */
if (imap_cmd_step (idata) != IMAP_CMD_CONTINUE)
return rc;
-
+
if (msg_parse_fetch (h, idata->buf) == -1)
return rc;
}
rc = 0; /* success */
-
+
/* subtract headers from message size - unfortunately only the subset of
* headers we've requested. */
h->content_length -= bytes;