Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Imported Upstream version 1.5.21

  • Loading branch information...
commit 594a6a48c983f012a70323047c723ef48883934a 1 parent 899a5db
Antonio Radici authored
Showing with 29,050 additions and 34,863 deletions.
  1. +1,151 −1 ChangeLog
  2. +1 −1  INSTALL
  3. +7 −3 Makefile.am
  4. +19 −14 Makefile.in
  5. +1 −0  OPS
  6. +0 −7 TODO
  7. +14 −2 UPDATING
  8. +1 −1  VERSION
  9. +4 −0 account.c
  10. +108 −23 aclocal.m4
  11. +4 −4 attach.c
  12. +8 −5 bcache.c
  13. +19 −3 browser.c
  14. +172 −106 buffy.c
  15. +4 −0 buffy.h
  16. +38 −15 charset.c
  17. +1 −1  charset.h
  18. +5 −4 commands.c
  19. +21 −24 compose.c
  20. +24 −8 config.guess
  21. +10 −5 config.h.in
  22. +11 −5 config.sub
  23. +8,879 −18,907 configure
  24. +26 −13 configure.ac
  25. +4 −3 contrib/Makefile.in
  26. +4 −0 copy.c
  27. +67 −40 crypt-gpgme.c
  28. +2 −2 crypt.c
  29. +44 −29 curs_lib.c
  30. +35 −10 curs_main.c
  31. +12 −6 doc/Makefile.am
  32. +16 −9 doc/Makefile.in
  33. +68 −31 doc/Muttrc
  34. +1 −1  doc/Muttrc.head
  35. +558 −458 doc/advancedusage.html
  36. +904 −757 doc/configuration.html
  37. +3 −1 doc/devel-notes.txt
  38. +4 −2 doc/gen-map-doc
  39. +373 −365 doc/gettingstarted.html
  40. +8 −5 doc/index.html
  41. +47 −46 doc/intro.html
  42. +12 −23 doc/makedoc.c
  43. +3,565 −3,168 doc/manual.html
  44. +1,391 −1,021 doc/manual.txt
  45. +2,862 −2,191 doc/manual.xml.head
  46. +8 −10 doc/manual.xml.tail
  47. +457 −350 doc/mimesupport.html
  48. +11 −8 doc/miscellany.html
  49. +3 −1 doc/mutt.css
  50. +6 −6 doc/mutt.man
  51. +7 −6 doc/muttrc.man.head
  52. +243 −231 doc/optionalfeatures.html
  53. +827 −792 doc/reference.html
  54. +16 −14 doc/security.html
  55. +69 −0 doc/smime_keys.man
  56. +41 −42 doc/tuning.html
  57. +1 −1  editmsg.c
  58. +1 −1  filter.c
  59. +6 −2 functions.h
  60. +1 −0  globals.h
  61. +1 −1  gnupgparse.c
  62. +91 −12 group.c
  63. +39 −0 group.h
  64. +9 −10 handler.c
  65. +18 −12 hcache.c
  66. +2 −1  hcache.h
  67. +1 −1  headers.c
  68. +1 −1  help.c
  69. +1 −1  history.c
  70. +0 −1  hook.c
  71. +2 −1  imap/Makefile.in
  72. +1 −1  imap/auth_login.c
  73. +13 −11 imap/command.c
  74. +4 −0 imap/imap_private.h
  75. +32 −23 imap/message.c
  76. +33 −5 imap/util.c
  77. +80 −80 init.c
  78. +58 −32 init.h
  79. +136 −10 keymap.c
  80. +2 −0  keymap.h
  81. +24 −3 lib.c
  82. +5 −2 lib.h
  83. +4 −3 m4/Makefile.in
  84. +6 −6 main.c
  85. +49 −27 mbox.c
  86. +4 −2 mbyte.c
  87. +1 −1  md5.c
  88. +0 −1  menu.c
  89. +7 −6 mh.c
  90. +2 −1  mime.h
  91. +14 −9 mutt.h
  92. +1 −1  mutt_sasl.c
  93. +103 −10 mutt_ssl.c
  94. +2 −2 mutt_ssl_gnutls.c
  95. +170 −59 muttlib.c
  96. +13 −14 mx.c
  97. +4 −7 mx.h
  98. +41 −14 pager.c
  99. +20 −8 pattern.c
  100. +81 −63 pgp.c
  101. +3 −0  pgpewrap.c
  102. +2 −2 pgpkey.c
  103. +1 −1  pgpmicalg.c
  104. BIN  po/bg.gmo
  105. +694 −653 po/bg.po
  106. BIN  po/ca.gmo
  107. +756 −708 po/ca.po
  108. BIN  po/cs.gmo
  109. +750 −688 po/cs.po
  110. BIN  po/da.gmo
  111. +696 −652 po/da.po
  112. BIN  po/de.gmo
  113. +762 −968 po/de.po
  114. BIN  po/el.gmo
  115. +707 −657 po/el.po
  116. BIN  po/eo.gmo
  117. +706 −655 po/eo.po
  118. BIN  po/es.gmo
  119. +693 −653 po/es.po
  120. BIN  po/et.gmo
Sorry, we could not display the entire diff because it was too big.
View
1,152 ChangeLog
@@ -1,4 +1,1154 @@
-2009-06-14 10:43 -0700 Brendan Cully <brendan@kublai.com> (a18e286f4365)
+2010-09-15 10:05 -0700 Michael Elkins <me@mutt.org> (54e3139a0362)
+
+ * safe_asprintf.c: suppress check_sec errors
+
+2010-09-13 17:25 -0700 Michael Elkins <me@mutt.org> (20b2d496349f)
+
+ * init.h: make $mail_check_recent set by default
+
+2010-09-13 19:00 +0100 Emanuele Giaquinta <e.giaquinta@glauco.it> (fea3860ff672)
+
+ * imap/command.c: Restore the previous behaviour of checking for new
+ messages in imap folders when mail_check_recent is set.
+
+2010-09-12 19:54 -0700 Michael Elkins <me@mutt.org> (a51df78218e8)
+
+ * buffy.c, buffy.h, imap/command.c, init.h, mbox.c, mutt.h: add
+ $mail_check_recent boolean to control whether Mutt will notify about
+ all new mail, or just new mail received since the last visit to a
+ mailbox
+
+ closes #3271
+
+ partly addresses #3310
+
+ * smime.c: fix crash when index contains 0 keys
+
+2010-09-11 07:34 -0700 Michael Elkins <me@mutt.org> (0f962f1a6bbb)
+
+ * send.c: Allow setting message security in send2-hook
+
+ This patch delays checking the message security options until after
+ the user has an initial chance to edit the message. This allows the
+ security options to be set in a send2-hook when using $edit_headers.
+ Without this patch, the user has no way of automatically setting
+ security based on recipients since the to/cc prompts are bypassed.
+
+ The other change in behavior is if the user happened to use a
+ send2-hook to see if the message had security applied *prior* to
+ editing the message, that no longer works.
+
+ * keymap.c, keymap.h, main.c: support for ncurses extension allowing
+ binding to function keys with modifiers
+
+ * keymap.c: allow octal codes with more than three digits
+
+ * crypt-gpgme.c, mime.h, pgp.c, recvattach.c, sendlib.c: add DISPNONE
+ to mean no preferred Content-Disposition; make pgp-signature parts
+ DISPNONE for multipart/signed
+
+ * recvcmd.c: fix problem with reply-hook not working when a
+ message/rfc822 attachment is selected
+
+ * rfc2047.c: more lenient RFC2047 decoding: accept illegal spaces and
+ bare question marks in encoded words
+
+ * curs_main.c, mx.c: fix crash when new mail is received during IMAP
+ IDLE
+
+ closes #3335
+
+2010-08-25 00:30 +0100 Emanuele Giaquinta <e.giaquinta@glauco.it> (5302767aa6aa)
+
+ * rfc2047.c: Use mutt_substrdup in rfc2047_decode_word
+
+2010-08-24 16:40 -0700 Michael Elkins <me@mutt.org> (92b02f77e780)
+
+ * rfc2047.c: detect failure to decode word and copy raw string
+ instead; avoids calling strlen() on uninitialized memory
+
+ closes #2923
+
+2010-08-24 18:39 +0100 Emanuele Giaquinta <e.giaquinta@glauco.it> (ebd4beafe5eb)
+
+ * mutt_ssl.c: Fix typo.
+
+ * browser.c, hook.c, init.c, menu.c, mutt_ssl_gnutls.c, pager.c: Do
+ not call regfree if regcomp fails. The content of the regex_t
+ structure is undefined in this case.
+
+ * curs_lib.c, mutt_ssl_gnutls.c: use REGCOMP() macro
+
+2010-08-24 10:03 -0700 Michael Elkins <me@mutt.org> (5d59c8b737ba)
+
+ * init.c: add REG_ICASE accidentally removed in changeset 1a35f096c8cb
+
+ * muttlib.c: do not print debug message on ENOENT
+
+2010-08-14 09:18 -0700 Michael Elkins <me@mutt.org> (04fd8ddea579)
+
+ * url.c: avoid c99 syntax for backwards compat
+
+2010-08-06 21:52 +0200 Matthias Andree <matthias.andree@gmx.de> (24a7b1aa2e55)
+
+ * buffy.c: Fix comparison signedness warnings.
+
+2010-08-12 16:04 -0700 Michael Elkins <me@mutt.org> (ced5d3dca974)
+
+ * imap/util.c: Fix bug in imap_keepalive() which erroneously free
+ Context when the IMAP connection is shut down by the server.
+
+ Closes #3410
+
+ * url.c: url_parse_mailto should return 0 on success
+
+ fix memory leak errors when unable to parse mailto: URL
+
+ closes #3441
+
+ * mh.c: always update message body size when parsing a maildir message
+
+ * safe_asprintf.c: call va_end() even when vasprintf returns <0
+
+2010-08-09 20:48 -0700 Michael Elkins <me@mutt.org> (6572e8bcd723)
+
+ * Makefile.am, imap/message.c, lib.c, lib.h, safe_asprintf.c: rename
+ mutt_sprintf() to safe_asprintf() to match the GNU extension that
+ performs a similar task
+
+2010-08-09 10:27 -0700 Vincent Lefevre <vincent@vinc17.org> (e86ee9991dc3)
+
+ * postpone.c: In postpone.c, function mutt_num_postponed, the old
+ {{{OldPostponed}}} is never freed.
+
+ closes #3442
+
+2010-08-09 09:38 -0700 Michael Elkins <me@mutt.org> (8051fc8b631c)
+
+ * send.c: clear the real name when $reverse_realname is unset and a
+ match is hit so that $realname can be set in a reply- or send-hook
+
+ closes #3427
+
+ * doc/manual.xml.head: fix example of mailto: use on the command line
+
+ * pager.c: fix buffer underrun when processing ANSI escape sequences
+
+ closes #3371
+
+2010-08-08 12:29 -0700 Michael Elkins <me@mutt.org> (4dcf19c58139)
+
+ * doc/manual.xml.head, doc/mutt.man: document support for mailto: URLs
+ on the command line
+
+ closes #3400
+
+ * imap/message.c: avoid error when the user has requested many extra
+ headers via IMAP
+
+ closes #3435
+
+ * lib.c, lib.h: add a malloc+sprintf combo function
+
+2010-08-08 10:21 -0700 Fabian Groffen <grobian@gentoo.org> (d4d703e21cdd)
+
+ * pattern.c: fix crash in limit when user enters invalid regexp
+
+ closes #3417
+
+2010-08-07 06:44 -0700 Michael Elkins <me@mutt.org> (cc881d855f05)
+
+ * mutt_ssl.c: Fix comparison signedness warnings
+
+ * pop_lib.c: add comment about safety of cast
+
+2010-08-06 21:58 +0200 Matthias Andree <matthias.andree@gmx.de> (55f50b2db1f8)
+
+ * pop_lib.c: Fix comparison signedness warning.
+
+ * status.c: Fix signedness warning.
+
+ * .hgignore: Ignore backup files ending in a tilde character.
+
+ * url.c: Fix comparison signedness warnings.
+
+ * gnupgparse.c, pop_auth.c: Fix comparison signedness warnings.
+
+ * lib.h: Resolve if/else empty body ambiguity/warnings when compiling
+ without DEBUG.
+
+2010-08-06 17:08 -0700 Michael Elkins <me@mutt.org> (5b15d4d96277)
+
+ * configure.ac, init.c, protos.h: detect availablity of 'long long'
+
+ cast time_t to 'long long' prior to bitshifting since it can be a
+ float value according to POSIX.1-2008
+
+ closes #3439
+
+2010-08-06 21:22 +0200 Matthias Andree <matthias.andree@gmx.de> (bf13863e682e)
+
+ * md5.c: Drop declaration for unused argv/argc parameters.
+
+ Fixes GCC warning with -Wextra.
+
+2010-08-06 13:11 -0700 Michael Elkins <me@mutt.org> (998ca956b41b)
+
+ * init.c, muttlib.c: use a 64-bit random value in temporary filenames.
+
+ closes #3158
+
+ * browser.c: avoid using C99 bool
+
+ * browser.c, init.h: add %D format string to $folder_format to expand
+ the time based on $date_format.
+
+ properly set the locale for LC_TIME prior to calling strftime()
+ closes #1734 closes #3406
+
+ * mutt_ssl.c: fix compiler warning about wrong type for
+ SslSessionCerts
+
+2010-08-06 09:58 +0200 Matthias Andree <matthias.andree@gmx.de> (473fbe29f626)
+
+ * mutt_ssl.c: Unbreak X.509 SubjAltName checks,
+
+ regression in 6016:dc09812e63a3 that calls strlen on an SSL sk
+ rather than its string payload.
+
+ closes #3426
+
+2010-08-06 07:12 -0700 Michael Elkins <me@mutt.org> (4ae33a8a1391)
+
+ * configure.ac: properly set _XOPEN_SOURCE to 600 (POSIX.1-2004) when
+ detecting th wc*() functions
+
+ closes #3341
+
+2010-08-05 21:57 -0700 Michael Elkins <me@mutt.org> (bc5fb152e2ba)
+
+ * mbox.c: when parsing From_ lines in mmdf/mbox, the TZ should be
+ computed based on the time in the string rather than the current
+ time, otherwise DST issues cause the computed time to be wrong.
+
+ closes #2177
+
+ * thread.c: explanatory comments
+
+2010-08-05 17:03 -0700 andreas <andreas.amann@tyndall.ie> (0666d9588eac)
+
+ * curs_main.c, functions.h: do not leave pager when changing sort
+ order.
+
+ closes #2143
+
+2010-08-05 16:47 -0700 Michael Elkins <me@mutt.org> (57d4b3839172)
+
+ * curs_main.c: do not leave pager when using read-thread and read-
+ subthread
+
+ closes #2137
+
+2010-08-04 17:04 -0700 Petr Písař <petr.pisar@atlas.cz> (59ca5d7b1656)
+
+ * ChangeLog, po/cs.po: Updated Czech translation
+
+2010-08-04 06:37 -0700 Vincent Lefevre <vincent@vinc17.org> (a7f05f29d9bc)
+
+ * po/fr.po: updated French translation
+
+2010-08-03 10:10 -0700 Michael Elkins <me@mutt.org> (2c42f4760c8f)
+
+ * browser.c: add locale.h for compililng with -std=c99
+
+ * main.c: adjust help for -a to make it clearer that -- is required
+ terminator
+
+2010-07-31 08:21 -0700 Michael Elkins <me@mutt.org> (7cd85c18bfaf)
+
+ * muttlib.c: Fix buffer underflow in expansion of format pipes. Add
+ better error detection.
+
+ Closes #3432.
+
+2010-07-18 14:24 -0700 Michael Elkins <me@mutt.org> (1a35f096c8cb)
+
+ * init.c: use REGCOMP() macro
+
+2010-07-18 22:09 +0100 Emanuele Giaquinta <e.giaquinta@glauco.it> (d0e0d174d620)
+
+ * init.c: Skip 'attachments' directive if minor type is not a valid
+ regexp
+
+2010-07-09 11:07 -0700 Joel Dahl <joel@FreeBSD.org> (6b13e8319c1f)
+
+ * po/sv.po: fix misspelling in Swedish translation
+
+2010-05-18 08:39 -0700 Michael Elkins <me@sigpipe.org> (29e37994a536)
+
+ * send.c: Consider any negative return value from send_message() to be
+ an error and allow the user to resend.
+
+ Closes #3411.
+
+2010-04-24 16:10 -0700 Brendan Cully <brendan@kublai.com> (4cd2daafd03b)
+
+ * mutt_ssl.c: openssl: only call SSL_shutdown during clean
+ shutdown (closes #3407)
+
+2010-04-22 09:14 -0700 Vincent Lefevre <vincent@vinc17.net> (6ebdfd09abc1)
+
+ * po/fr.po: updated French translation
+
+2010-04-14 15:47 -0700 Michael Elkins <me@mutt.org> (15b9d6f3284f)
+
+ * pgp.c: remove toggle and replace with format in pgp-menu
+
+2010-04-12 15:13 -0500 David Champion <dgc@uchicago.edu> (41a46373ddd9)
+
+ * compose.c: Improve clarity/uniformity in compose menu's crypto
+ display
+
+ Incorporates feedback on "Security: None" key hints.
+
+2010-04-13 06:49 -0700 Michael Elkins <me@mutt.org> (4d798ee2898e)
+
+ * muttlib.c: fix bug handling wide pad char in soft-fill mode
+
+2010-04-11 20:00 -0700 Michael Elkins <me@mutt.org> (2cd62f40d840)
+
+ * compose.c: increase size of buffer used for displaying addresses in
+ the compose menu to avoid truncating on widescreen displays
+
+ * curs_lib.c: clear prompt when user cancels with ^G from a yes/no
+ prompt
+
+ * muttlib.c: Fix bug in soft-fill (%*) in $index_format not accounting
+ for 'set arrow_cursor'
+
+ * pgp.c: Remove the (i) option from the PGP-menu when encryption or
+ signing is not yet selected. The toggle between PGP/MIME and
+ Traditional doesn't make sense unless some type of security has been
+ requested.
+
+ Closes #3402.
+
+2010-04-06 09:47 -0700 Michael Elkins <me@mutt.org> (889aa698cc49)
+
+ * configure.ac, muttlib.c: fix for compiling Mutt with clang: check
+ for wchar_h prior to wctype_h in check for wc funcs
+
+2010-04-05 11:12 -0700 Michael Elkins <me@mutt.org> (844174efa648)
+
+ * doc/manual.xml.head: [doc] Remove bogus -group parameter from
+ unlists and unsubscribe commands; add links to address group section
+ for context.
+
+2010-04-03 20:34 -0700 Michael Elkins <me@mutt.org> (cf97505addf8)
+
+ * init.c: prevent user from setting $charset to an empty string since
+ other code requires it to be set to a valid string
+
+ closes #3326
+
+ * pager.c: allow regexps to match on continuation header lines in
+ 'color header' commands.
+
+ closes #3373
+
+ * pattern.c: Fix crash on invalid regexp in search string due to
+ uninitialized BUFFER variable.
+
+ Closes #3401
+
+2010-04-01 10:10 -0700 Simon Ruderich <simon@ruderich.org> (b9baa0234846)
+
+ * attach.c, commands.c, filter.c, muttlib.c, send.c: fix comment typos
+
+2010-04-01 09:59 -0700 Michael Elkins <me@mutt.org> (96ed7cdacdc6)
+
+ * init.h: Improve documentation for $query_command to note that Mutt
+ automatically adds quotes according to shell quoting rules (thx:
+ Simon Ruderich).
+
+ * doc/manual.xml.head: Clarify the documentation on what the line-
+ editor is (thx: Simon Ruderich)
+
+2010-03-31 08:50 -0700 Michael Elkins <me@mutt.org> (7e9e31b1bd7b)
+
+ * muttlib.c: avoid buffer overflow when expanding the format string
+ associated with a 'spam' command.
+
+ closes #3397
+
+2010-03-23 16:03 -0700 Michael Elkins <me@mutt.org> (fe29d691deff)
+
+ * doc/muttrc.man.head: remove errant commands in secton on setting
+ alternates
+
+2010-03-22 22:16 -0700 Brendan Cully <brendan@kublai.com> (69e9a1a0ba2f)
+
+ * sendlib.c: Fix a format string warning
+
+2010-03-22 20:02 -0700 Marcel Telka <marcel@telka.sk> (f544730656c1)
+
+ * compose.c: redraw entire screen when exiting editor after re-editing
+ the message body in the send menu.
+
+ closes #3393.
+
+2010-03-21 09:52 -0700 Michael Elkins <me@mutt.org> (0a29e3f4f4b9)
+
+ * sendlib.c: Do not assume whitespace follows the colon in a header
+ field.
+
+ Closes #3385.
+
+2010-03-08 15:13 -0800 Brendan Cully <brendan@kublai.com> (ad6d799951cb)
+
+ * configure.ac: Comment about search libsasl for sasl2 functions
+
+2010-03-08 14:04 -0600 Will Fiveash <Will.Fiveash@Sun.COM> (b92b9c6a1c85)
+
+ * configure.ac: OpenSolaris sasl fix for configure.ac
+
+2010-03-08 15:00 -0800 Brendan Cully <brendan@kublai.com> (05cec973f0d9)
+
+ * pattern.c: When regexp compilation fails, report actual pattern
+ along with error.
+
+ * muttlib.c: mutt_buffer_printf: NULL dptr means use data
+
+ * pattern.c: If regcomp fails, assume rx has not been allocated. Fixes
+ a core dump for save-hook '~f foo\.bar@(something|other)\.com' =foo.
+
+2010-03-02 11:31 -0800 TAKAHASHI Tamotsu <ttakah@lapis.plala.or.jp> (fec2720ff6ef)
+
+ * rfc822.c: Fix #2014. Thanks to Vincent Lefevre for help
+ with this one.
+
+2010-03-02 11:16 -0800 Brendan Cully <brendan@kublai.com> (41cf44ddbb4c)
+
+ * copy.c: Fix thinko in [cc02f079b1b9]
+
+2010-03-01 22:40 -0800 Brendan Cully <brendan@kublai.com> (cc02f079b1b9)
+
+ * copy.c: Guard dequote with NULL check on personal field
+
+ * copy.c, rfc822.c, rfc822.h: Another attempt to dequote
+ RFC2047-encoded address comments (see #2014)
+
+ * rfc822.c: Backed out changeset 2a4ca6917fd0. It is incompatible with
+ $assumed_charset (see #2014).
+
+2010-02-28 23:03 -0800 Brendan Cully <brendan@kublai.com> (2a4ca6917fd0)
+
+ * rfc822.c: RFC-2047 decode address text before dequoting it (see
+ #2014)
+
+ * doc/manual.xml.head: Fix next-unread-mailbox name in
+ documentation. Closes #3319.
+
+2010-02-28 17:23 -0800 Antonio Radici <antonio@dyne.org> (25459cbb132a)
+
+ * po/de.po: Fix German translation of "No undeleted messages." (closes
+ #3372)
+
+ * pop_lib.c: pop: allow user-specified port to override
+ default in URL. Closes #3322.
+
+2010-02-28 17:00 -0800 ludwig <ludwig@fh-worms.de> (2c78b28027cc)
+
+ * crypt-gpgme.c: GPGME: Sender verification should be canse-
+ insensitive for domain names. Closes #2180
+
+2010-02-26 18:18 -0800 Brendan Cully <brendan@kublai.com> (40eca68c394a)
+
+ * UPDATING, init.h: Make $thorough_search default to yes
+ (closes #3386)
+
+2010-02-23 12:42 -0800 Brendan Cully <brendan@kublai.com> (57124ea5592e)
+
+ * commands.c: Don't use freed ctx.path when updating utime of target
+ mailbox in save-message. Thanks to Sean Boudreau for the bug report.
+
+2010-02-22 23:01 -0800 Vincent Lefevre <vincent@vinc17.net> (f17302c10229)
+
+ * po/fr.po: Updated French translation.
+
+2010-02-21 13:16 -0800 Brendan Cully <brendan@kublai.com> (a6fddecdc5f5)
+
+ * curs_lib.c: Make mutt_yesorno use mutt_message to print query.
+ Closes #3352.
+
+2010-02-20 21:56 -0800 Gregory Shapiro <dev.mutt.org@g.gshapiro.net> (f723e07c8e6d)
+
+ * OPS, UPDATING, curs_main.c, functions.h: Add imap-logout-
+ all to log out of all IMAP connections. Closes #2880.
+
+2010-02-17 00:47 -0800 Simon Ruderich <simon@ruderich.org> (260d39279161)
+
+ * doc/manual.xml.head: Document 'n' and 'o' flags in index
+
+ * doc/devel-notes.txt, doc/muttrc.man.head, init.h,
+ rfc1524.c: Spelling fixes
+
+2010-02-10 23:29 -0800 Brendan Cully <brendan@kublai.com> (b7ec848af36b)
+
+ * doc/manual.xml.head: Fix a typo (closes #3379)
+
+2010-02-01 23:40 -0800 Antonio Radici <antonio@dyne.org> (e9965b78e92d)
+
+ * po/sv.po: The Swedish translation has a suboptimal
+ translation of the word "Bad" in several places. The proposed patch
+ substitutes Dålig (which implies bad "as in quality", and not bad
+ "as in error") for Felaktig (erroneous).
+
+ Closes #3370.
+
+ * init.h: Small fix to the muttrc manpage. Closes #3374
+
+2010-01-13 19:12 +0100 Matthias Andree <matthias.andree@gmx.de> (e2c60de29015)
+
+ * configure.ac: Fix hcache build on systems with $(EXEEXT), include it
+ in mutt_md5.
+
+2009-12-29 00:33 -0500 Brendan Cully <brendan@kublai.com> (31881f38ca1e)
+
+ * curs_lib.c: Hack mutt_wstr_trunc to treat M_TREE characters as 1
+ cell. Closes #3364.
+
+2009-12-28 22:13 -0500 Brendan Cully <brendan@kublai.com> (359de549b2d1)
+
+ * doc/manual.xml.head: Remove spurious quotes from query_command
+ example. Closes #3365.
+
+2009-12-14 10:24 -0800 Brendan Cully <brendan@kublai.com> (736b6af3c5f1)
+
+ * rfc1524.c: Fix off-by-one errors in mailcap parser.
+ Closes #3362
+
+2009-12-10 22:52 -0800 Daniel Jacobowitz <dan@debian.org> (b7d2cb7c7ce1)
+
+ * hcache.c: Do not store header color in hcache. If the color
+ directive is removed from muttrc, the cached value from the last
+ directive would otherwise still be in effect.
+
+2009-12-07 23:08 -0800 Patrick Welche <prlw1@cam.ac.uk> (1cf34ea1f128)
+
+ * mutt_ssl.c: STACK* is not defined with newer SSL, use
+ STACK_OF instead. Closes #3356.
+
+2009-12-07 22:46 -0800 Peter Rosin <peda@lysator.liu.se> (fc9563de3dcb)
+
+ * snprintf.c: Output %p as unsigned in the bundled snprintf
+
+2009-11-14 14:31 -0800 Brendan Cully <brendan@kublai.com> (6928f522ac48)
+
+ * curs_main.c: Back out e67f4c347bb4.
+
+ I could not reproduce the problem, and the change makes it
+ impossible to change to a real folder when no folder is currently
+ open.
+
+2009-10-28 23:03 -0700 Brendan Cully <brendan@kublai.com> (89fb586edda2)
+
+ * sendlib.c: Unfold headers to wrap length in pager, when weed is set.
+
+ From Rocco's patch queue.
+
+2009-09-22 23:29 -0700 Antonio Radici <antonio@dyne.org> (5037c59a589e)
+
+ * po/it.po: Correct Italian translation of y/n/a prompt.
+ Closes #3336
+
+2009-08-27 22:10 -0700 Petr Písař <petr.pisar@atlas.cz> (605559e4f88f)
+
+ * po/cs.po: Updated Czech translation.
+
+2009-08-20 11:34 +0200 René Clerc <rene@clerc.nl> (6b48ff4e69a3)
+
+ * doc/manual.xml.head: No-brain documentation typo fix
+
+2009-08-20 11:33 +0200 Rocco Rutte <pdmef@gmx.net> (e196cfc00105)
+
+ * doc/manual.xml.head: Backed out changeset c9dd93b09ce7
+
+2009-08-20 11:25 +0200 René Clerc <rene@clerc.nl> (c9dd93b09ce7)
+
+ * doc/manual.xml.head: No-brain documentation typo fix Hi Rocco,
+
+ Attached a patch for the documentation that fixes a small typo I
+ stumbled upon. If you'd rather have me opening a trac ticket,
+ please say so; since this is such a no-brainer I figured I'd e-mail
+ you directly.
+
+2009-08-17 17:07 +0200 Rocco Rutte <pdmef@gmx.net> (d0fce0eec0b3)
+
+ * doc/manual.xml.head, doc/muttrc.man.head, init.h: Doc: fix more
+ typos
+
+ * doc/Makefile.am, doc/mutt.pwl: Doc: fix aspell calls, add
+ custom mutt-only wordlist
+
+ * curs_main.c: Require already opened folder when using templates for
+ change-folder.
+
+ For example, start with -y and type a wrong IMAP password so that no
+ mailbox is open. Trying to change folders resulted in a crash.
+
+2009-08-14 21:29 +0200 Rocco Rutte <pdmef@gmx.net> (6a08a5244d60)
+
+ * pattern.c: Clear last search pattern if it's invalid.
+ Closes #3315.
+
+ We keep both, the string version and compiled version around for
+ search-next; however, in case of parsing errors we dropped only the
+ compiled version and not the string one making the code attempting
+ to perform a search using a NULL pattern.
+
+ * pattern.c: Bail on missing pattern modifiers at end of pattern.
+ Closes #3314.
+
+2009-08-13 23:49 +0200 Rocco Rutte <pdmef@gmx.net> (f8d50e968853)
+
+ * doc/Muttrc.head, doc/manual.xml.head, init.h: Docs: fix
+ typos/style
+
+2009-08-11 12:22 -0700 Tomas Hoger <thoger@redhat.com> (dc09812e63a3)
+
+ * mutt_ssl.c: Catch SSL null prefix attach (openssl)
+
+2009-08-09 14:45 -0700 Brendan Cully <brendan@kublai.com> (002b4676d502)
+
+ * buffy.c: Add buffy_new and buffy_free abstractions.
+
+2009-08-09 14:53 +0200 Christian Ebert <blacktrash@gmx.net> (0153dbc12dc4)
+
+ * doc/manual.xml.head: manual: fix wrong spell checker assumptions
+
+2009-08-09 14:35 +0200 Rocco Rutte <pdmef@gmx.net> (59b4c73e7254)
+
+ * doc/manual.xml.head: Manual: Fix typos, consequently use
+ en_US spelling
+
+2009-08-08 22:50 -0700 Brendan Cully <brendan@kublai.com> (d4ea7f571f10)
+
+ * buffy.c: Split out mailbox-specific code in mutt_buffy_check
+
+ * buffy.c, muttlib.c, mx.c, mx.h, status.c: Unconditionally define
+ M_IMAP, M_POP. These aren't bloat, and not having them creates a lot
+ of #ifdef clutter.
+
+ * curs_lib.c: Abort prompt on ^C, as was the case prior to
+ 12a6de725483
+
+2009-08-04 10:47 -0700 Vincent Lefevre <vincent@vinc17.org> (15a695678b7b)
+
+ * po/fr.po: Updated French translation.
+
+2009-08-04 12:34 +0200 Rocco Rutte <pdmef@gmx.net> (25c2d70f2f00)
+
+ * doc/manual.xml.head: Manual: Add some words of warning to really
+ remove IRT header when intended
+
+ * doc/manual.xml.head: Manual: Put mailbox shortcuts into
+ table for readability
+
+ * doc/manual.xml.head: Manual: Fix docs for push/exec
+
+2009-08-04 12:08 +0200 Johan D <djo33@free.fr> (14bb498c6a1c)
+
+ * mh.c: Fix MH parsing, fixes [0698e8195545]. Closes #3312
+
+2009-08-01 15:16 +0200 Rocco Rutte <pdmef@gmx.net> (29727d19634a)
+
+ * doc/manual.xml.head: Manual: use full names for &eacute; and
+ &egrave; entities. Closes #3286.
+
+ This is necessary because we want to install a us-ascii manual.txt
+ that would contain only "e" instead of accented characters.
+
+2009-07-30 17:56 +0200 Rocco Rutte <pdmef@gmx.net> (4a572310c3b5)
+
+ * main.c: Fix mutt -h output for -a/-- options
+
+2009-07-29 13:26 -0700 Brendan Cully <brendan@kublai.com> (a2a4286491b4)
+
+ * hcache.c, hcache.h, imap/util.c: Harmonize hcache uidvalidity size
+ to unsigned int (per IMAP RFC). Closes #3296.
+
+2009-07-28 23:16 +0200 Rocco Rutte <pdmef@gmx.net> (153eac9e03e7)
+
+ * Makefile.am: Add group.h to distribution
+
+ * group.c, group.h, init.c, rfc822.c: Fix some issues with
+ ungroup [...] *
+
+2009-07-27 21:14 -0700 Kees Cook <kees@outflux.net> (2fc9348684fe)
+
+ * mh.c: Properly propagate mh_read_sequences result. Closes #3308.
+
+2009-07-27 20:49 -0700 Brendan Cully <brendan@kublai.com> (5c076ed18883)
+
+ * configure.ac: Do not overwrite docdir unless --with-
+ docdir was explicitly given. This allows --docdir from autoconf
+ 2.60+ to work, though if given --with-docdir will silently override
+ --docdir. Closes #3282.
+
+2009-07-24 14:30 +0200 Rocco Rutte <pdmef@gmx.net> (86e066a206ac)
+
+ * po/de.po: Update German translation
+
+ * init.c: Fix check_sec.sh warning
+
+2009-07-23 23:36 -0400 Aron Griffis <agriffis@n01se.net> (0ee27568ad09)
+
+ * init.c: fix :reset to work with empty strings
+
+ Signed-off-by: Aron Griffis <agriffis@n01se.net>
+
+2009-07-23 23:32 -0700 Vincent Lefevre <vincent@vinc17.org> (223020f50cb7)
+
+ * po/fr.po: Updated French translation.
+
+2009-07-23 23:51 +0200 Matthias Andree <matthias.andree@gmx.de> (1e77b368ef55)
+
+ * charset.h, rfc2047.c: Use proper prototype for
+ mutt_get_default_charset(), fix fallout.
+
+ * bcache.c, charset.c: Fix two warnings "the address of 'foo' will
+ always evaluate as 'true'".
+
+2009-07-23 17:28 +0200 Rocco Rutte <pdmef@gmx.net> (1597c2074a52)
+
+ * doc/manual.xml.head: Manual: better document what address
+ groups are (for)
+
+ * group.c, group.h, init.c, init.h, pattern.c, protos.h, rfc822.c,
+ rfc822.h: Implement ungroup command. Closes #3304.
+
+ * init.c, mutt.h, muttlib.c: Move remove_from_rx_list() to muttlib.c,
+ name it mutt_remove_from_rx_list()
+
+2009-07-22 15:25 +0200 Fabian Groffen <grobian@gentoo.org> (d41e043fa775)
+
+ * keymap.c: Use CRYPT_BACKEND_GPGME instead of non-existent
+ HAVE_GPGME
+
+2009-07-22 14:43 +0200 kees <kees@outflux.net> (848f08512bf3)
+
+ * hcache.c, rfc822.h: Properly restore addresses from hcache using
+ rfc822_new_address(). Closes #3302.
+
+ * mh.c: Don't leak mhs flags in mh_buffy(). Closes #3303.
+
+2009-07-17 17:57 -0400 Aron Griffis <agriffis@n01se.net> (a3c4b605cfad)
+
+ * UPDATING: add batch mode send-hooks note to UPDATING
+
+2009-07-14 20:25 -0700 Aron Griffis <agriffis@n01se.net> (084fb086a0e7)
+
+ * send.c: Make send-hooks work for batch mode. Closes
+ #3219.
+
+ Handle SENDBATCH inline with the normal sending code, instead of
+ handling it separately. This allows send-hooks to run, along with
+ removing a number of unnecessarily lines of code.
+
+2009-07-11 14:52 +0200 Rocco Rutte <pdmef@gmx.net> (6f942afe60b5)
+
+ * charset.c, mbyte.c: Recognize charset extensions, see #3150.
+
+ With utf-8//TRANSLIT, we internally didn't recognize it as utf-8.
+ This leads to badly broken behaviour if --without-wc-funcs is used
+ for some reason. In that case, if we have utf-8 as charset, we
+ implement our own wide char functions; for all other charsets, we
+ use the system single-byte locale functions. And using these with
+ utf-8 is broken.
+
+ * curs_lib.c: Render blanks to spaces in index, fixes
+ [298194c414f0]
+
+ wcwidth(<tab>) returns -1 so 'foo<tab>bar' was rendered to 'foobar',
+ and now to 'foo bar'. Closes #3270 again.
+
+2009-07-08 13:37 +0200 Rocco Rutte <pdmef@gmx.net> (f22b71d8005a)
+
+ * mbyte.c: Fix compiler warning
+
+2009-07-07 15:03 +0200 Rocco Rutte <pdmef@gmx.net> (d5e03a46518c)
+
+ * TODO: Update TODO
+
+2009-07-07 10:49 +0200 Matthias Andree <matthias.andree@gmx.de> (cc4d6044b31e)
+
+ * INSTALL: GNU-make based VPATH builds work.
+
+2009-07-07 13:16 +0200 Rocco Rutte <pdmef@gmx.net> (f161c2f00d84)
+
+ * UPDATING, bcache.c, doc/manual.xml.head, hcache.c,
+ muttlib.c, protos.h: Make hcache+bcache paths always UTF-8. Closes
+ #3284.
+
+ * UPDATING, globals.h, init.h, sendlib.c: Add $wrap_headers. Closes
+ #3135
+
+ * doc/manual.xml.head: Manual: mention terminal setup for
+ charsets, more unicode pros.
+
+ Closes #3292.
+
+2009-07-06 15:28 +0200 Rocco Rutte <pdmef@gmx.net> (ccab6c56b557)
+
+ * doc/manual.xml.head: Manual: Add a note about when/why to use utf-8
+
+2009-07-05 18:36 -0700 Brendan Cully <brendan@kublai.com> (118b8fef8aae)
+
+ * buffy.c, buffy.h, mx.c: Suppress new mail notification
+ from mailbox just left. Closes #3290.
+
+2009-07-02 20:42 +0200 Rocco Rutte <pdmef@gmx.net> (042f2ce0b870)
+
+ * doc/manual.xml.head: Manual: minor fixes
+
+ * doc/manual.xml.head, doc/mutt.css: Manual: Render
+ comments in examples a lighter for readability
+
+ * doc/manual.xml.head, doc/manual.xml.tail: Manual: Reformat
+ paragraphs, fix &tilde; -> ~ breakage
+
+ * doc/manual.xml.head: Manual: rework MIME chapter a bit
+
+ * doc/gen-map-doc, doc/manual.xml.tail, functions.h: Manual: Generate
+ more pretty titles/ids for key binding tables
+
+ * doc/manual.xml.head: Manual: fix supported version
+ numbers for mixmaster
+
+2009-07-02 00:06 -0700 Brendan Cully <brendan@kublai.com> (029ba140fb48)
+
+ * curs_main.c: Handle keepalive failure when changing folders. There
+ are probably many other places where this kind of thing could happen
+ though. See #3028.
+
+2009-07-01 18:13 -0700 Rocco Rutte <pdmef@gmx.net> (f6c6066a5925)
+
+ * account.c, mutt_sasl.c, smtp.c: Make getuser/pass abort
+ if input is required in batch mode. Replaces [0a3de4d9a009]. See
+ #3289.
+
+ * doc/manual.xml.head: Manual: Add detailed section on charset
+ handling
+
+ * smtp.c: SMTP: use $smtp_pass in batch mode. Closes #3289.
+
+ mutt_account_getpass() copying the password from $smtp_pass into the
+ account structure is only called from the SASL callback we only use
+ if we're sure we don't need curses (i.e. have the pass already).
+
+2009-06-30 17:32 +0200 Rocco Rutte <pdmef@gmx.net> (f4baa2f1251a)
+
+ * pgpewrap.c: Add missing config.h include to pgpewrap.c
+
+ It technically doesn't need it, but pgpewrap should be rebuilt after
+ configure ran, too.
+
+ * doc/Makefile.am: Manual: Run lynx with --display_charset
+ =us-ascii, see #3286.
+
+2009-06-29 18:20 +0000 Rocco Rutte <pdmef@gmx.net> (03c65df651e0)
+
+ * UPDATING, doc/manual.xml.head: Manual: Move new mail detection into
+ its own section
+
+ This also updates some parts of docs and adds missing ones. It also
+ adds a note about the recent changes, also to UPDATING.
+
+2009-06-29 18:03 +0200 Rocco Rutte <pdmef@gmx.net> (d3a7e0334e5d)
+
+ * url.c, url.h: Revert URL path encoding for now
+
+ It breaks gmail url display and makes bcache use different paths.
+ Still we need to think about whether we want to allow any character
+ in bcache paths (possibly multibyte, possibly depending on
+ $charset).
+
+2009-06-28 20:49 -0700 Brendan Cully <brendan@kublai.com> (298194c414f0)
+
+ * configure.ac, curs_lib.c: Allow tabs in index subject. Closes #3270.
+
+ * imap/util.c: Allow ImapDelimChars to be unset
+
+ * mutt.h: Rename struct thread to struct mutt_thread. Closes #3279.
+
+ * imap/command.c: Not being able to start an IMAP command
+ is a fatal error. Closes #3155.
+
+ * imap/auth_login.c: IMAP LOGIN does not support separate user and
+ login accounts. Use the user account for both. Closes #3240.
+
+2009-06-28 22:40 +0200 Rocco Rutte <pdmef@gmx.net> (71a84cf22c42)
+
+ * url.c, url.h: Fix URL parser to encode paths
+
+2009-06-28 15:42 +0200 Deng Xiyue <manphiz@gmail.com> (fe688db8099a)
+
+ * po/zh_CN.po: Update Simplified Chinese translation. Closes #3281.
+
+2009-06-27 17:07 +0200 Rocco Rutte <pdmef@gmx.net> (7ca8d09f7d2c)
+
+ * hg-commit: hg-commit: drop changelog entries from hg log
+
+ * doc/makedoc.c, doc/manual.xml.head: Manual: stop using DocBook
+ entities mapping to ascii chars
+
+ There's no real benefit, it only makes reading/writing the manual
+ harder. All entities that potentially map to non-ascii characters
+ (&mdash, &auml, etc.) are left so that manual.xml remains pure
+ ascii.
+
+2009-06-26 21:47 -0700 Brendan Cully <brendan@kublai.com> (b2b97c7a2ae6)
+
+ * imap/imap_private.h, imap/message.c, imap/util.c: Set
+ internaldate of messages appended to IMAP mailboxes
+
+2009-06-26 20:27 +0200 Rocco Rutte <pdmef@gmx.net> (156e6d6e34fc)
+
+ * doc/manual.xml.head: Manual: try to explain that and why
+ copiousoutput should come last
+
+ * po/de.po: Update German translation
+
+2009-06-25 21:46 +0200 Rocco Rutte <pdmef@gmx.net> (c5d0252e8f72)
+
+ * rfc3676.c: Fix f=f corner case with DelSp=yes abuse
+
+ * sendlib.c: header folding: treat From_ specially, never wrap on
+ sending side
+
+ * sendlib.c: Add Date: header to postponed messages
+
+ * sendlib.c: Only add Status: header (fcc/postpone) when
+ saving to mbox/mmdf
+
+ * compose.c: Treat messages written with <write-fcc> as fcc, not
+ postponed.
+
+2009-06-23 10:13 -0700 Vincent Lefevre <vincent@vinc17.org> (bc2463863c15)
+
+ * po/fr.po: Updated French translation.
+
+2009-06-23 16:56 +0200 Rocco Rutte <pdmef@gmx.net> (d152033cf967)
+
+ * doc/manual.xml.head: Manual: Simply type conversion section wording.
+
+ * Makefile.am, configure.ac: Don't build hcversion.h and mutt_md5
+ without hcache
+
+ * handler.c, mutt.h, muttlib.c: Implement state_putws() and
+ state_putwc(), see #3148.
+
+ This is needed to unbreak text/enriched rendering on Linux.
+
+ * commands.c: Only use keypad() when curses is running
+
+2009-06-23 00:28 -0700 Vincent Lefevre <vincent@vinc17.org> (642987450d83)
+
+ * curs_lib.c: Only beep when displaying error messages (unbreaks
+ [54bc1ef602e7])
+
+2009-06-23 00:20 -0700 Brendan Cully <brendan@kublai.com> (f5849c72a274)
+
+ * crypt-gpgme.c: Update crypt-gpgme for mutt_mktemp change
+ in [ed7eb5de7536]
+
+2009-06-22 17:36 +0200 Rocco Rutte <pdmef@gmx.net> (54bc1ef602e7)
+
+ * curs_lib.c: Make mutt_curses_(error|message) format message to COLS
+ chars. Closes #3278.
+
+ While I'm at it, fold both functions into one.
+
+2009-06-22 17:21 +0200 Alexey Tourbin <at@altlinux.org> (e378bbdc3f0f)
+
+ * smime_keys.pl: smime_keys: use Time::Local module. Closes #3277.
+
+2009-06-22 17:17 +0200 Rocco Rutte <pdmef@gmx.net> (4899f140ec25)
+
+ * mbyte.c: Fix included iswupper(). Closes #3276.
+
+ * lib.c: Catch range errors when converting to long.
+
+2009-06-21 21:57 +0200 Rocco Rutte <pdmef@gmx.net> (ed7eb5de7536)
+
+ * attach.c, commands.c, crypt.c, editmsg.c, handler.c, headers.c,
+ help.c, history.c, imap/message.c, main.c, mbox.c, muttlib.c, mx.c,
+ pattern.c, pgp.c, pgpkey.c, pgpmicalg.c, pop.c, protos.h,
+ recvattach.c, recvcmd.c, rfc3676.c, send.c, sendlib.c, smime.c: Pass
+ buffer size to mutt_mktemp()
+
+ * handler.c, rfc3676.c: Port f=f and text/plain handlers to
+ mutt_read_line()
+
+ * lib.c: mutt_read_line(): make line counting ptr optional
+
+ * sendlib.c: Silently drop headers not in "key: value"
+ format. Fixes out-of-memory exits.
+
+2009-06-20 23:09 +0200 Rocco Rutte <pdmef@gmx.net> (6447ebe80797)
+
+ * handler.c: f=f: Don't kill signature separator when stripping
+ trailing spaces. Closes #3275.
+
+ * curs_main.c: Disallow breaking threads for messages not part of
+ a thread
+
+2009-06-20 15:22 +0200 Rocco Rutte <pdmef@gmx.net> (580ab0256c49)
+
+ * doc/manual.xml.head: Manual: Clarify and extend variable type
+ conversion section
+
+2009-06-19 19:56 -0400 Aron Griffis <agriffis@n01se.net> (ee3d174297bb)
+
+ * rfc822.c: remove bogus FREE
+
+ It's impossible for cur->personal to be non-NULL at this point,
+ since cur was calloc'd just a couple lines prior.
+
+ Signed-off-by: Aron Griffis <agriffis@n01se.net>
+
+2009-06-19 22:49 +0200 Rocco Rutte <pdmef@gmx.net> (9ae13dedb5ed)
+
+ * mbox.c, mx.c, mx.h: Fixup atime for mbox/mmdf also when mailbox is
+ unchanged but has new mail. See #1362.
+
+ * mbox.c: Don't mangle atime/mtime for mbox folders without new
+ mail upon sync. Closes #1362, #3271.
+
+ * doc/manual.xml.head: Manual: Add note and example for type
+ conversions with my_vars
+
+ * sendlib.c: Enforce 998 char length limit on header lines when
+ sending.
+
+2009-06-18 15:06 +0200 Antonio Radici <antonio@dyne.org> (c6fe0bb8cf11)
+
+ * doc/Makefile.am, doc/smime_keys.man: Provide
+ smime_keys(1). Closes #3272.
+
+2009-06-18 14:56 +0200 Rocco Rutte <pdmef@gmx.net> (508bfe4a2e23)
+
+ * mbox.c: Backout experimental patch
+
+ * UPDATING, mbox.c: UPDATING: add note about -a and --
+
+2009-06-17 16:19 -0700 Antonio Radici <antonio@dyne.org> (25e46aad362b)
+
+ * buffy.c: Do not free statically-allocated buffy buffer. Unbreaks
+ unmailboxes, closes #3273.
+
+2009-06-17 15:23 -0700 Petr Písař <petr.pisar@atlas.cz> (fe94f01b369a)
+
+ * ChangeLog, po/cs.po: Updated Czech translation.
+
+2009-06-17 13:58 -0700 Ivan Vilata i Balaguer <ivan@selidor.net> (ef9b67c7ebc4)
+
+ * po/ca.po: Updated Catalan translation.
+
+2009-06-17 13:57 -0700 Vincent Lefevre <vincent@vinc17.org> (62471a5d3186)
+
+ * po/fr.po: Updated French translation.
+
+2009-06-17 20:42 +0200 Rocco Rutte <pdmef@gmx.net> (33376ae23d8f)
+
+ * doc/devel-notes.txt: Mention check_sec.sh in doc/devel-notes.txt
+
+2009-06-17 11:09 -0700 Brendan Cully <brendan@kublai.com> (7f37d0a57d83)
+
+ * crypt-gpgme.c, pgp.c: Display unsigned part of traditional PGP
+ messages. Unbreaks [e2780a423d96], closes #3269
+
+2009-06-17 19:29 +0200 Antonio Radici <antonio@dyne.org> (a2a868fc40ea)
+
+ * mx.c: Leave error handling of mx_get_magic() up to the
+ caller. Closes #3268.
+
+2009-06-17 18:02 +0200 Rocco Rutte <pdmef@gmx.net> (4b5326d8d2ee)
+
+ * UPDATING, muttlib.c: Always display text/* parts inline,
+ overrideable by auto_view. Closes #3246.
+
+2009-06-15 22:05 +0200 Rocco Rutte <pdmef@gmx.net> (f40de578e8ed)
+
+ * handler.c: Unbreak header weeding for message/rfc822
+ parts. Closes #3265.
+
+ * init.c, lib.c, lib.h: Print timestamps in debug files. Closes #3263.
+
+ * doc/manual.xml.head, doc/muttrc.man.head: bind: Clarify function
+ argument usage
+
+ * doc/manual.xml.head, init.h, url.c: Fixup URL parser
+
+ The fixes are: 1) allow / in usernames for IMAP (by %-encoding /, :
+ and % when pretty-printing urls), 2) for POP/SMTP the trailing / is
+ no longer mandatory, 3) more strict %-decoding to avoid unexpected
+ results
+
+2009-06-15 17:49 +0200 Bertrand Janin <tamentis@neopulsar.org> (abc8fa0abeee)
+
+ * UPDATING: Fix UPDATING
+
+2009-06-15 17:06 +0200 Rocco Rutte <pdmef@gmx.net> (d6f88fbf8387)
+
+ * url.c: Don't parse URL port as signed short, but to int and cast to
+ unsigned short. Closes #3264.
+
+ * doc/manual.xml.head: Manual: Add a short note about new header
+ folding
+
+ ...so we don't get bug reports for tab folding.
+
+ * init.h: Clarify what $wrap=0 does
+
+ * doc/mutt.css: CSS update for newer docbook xslt versions
+
+ * pager.c: pager: intermediate fix for wrapping long header lines with
+ $smart_wrap set
+
+ The header folding algorithm outputs a word without spaces and
+ longer than $wrap as-is. The pager however tries to break it. With
+ $smart_wrap unset, it simply breaks at $wrap regardless if there's a
+ space or not. With $smart_wrap set it tried to find a space and
+ break if the next word is too long. This logic doesn't work for
+ folded header lines which always start with space. Thus, the output
+ would always contain the folding whitespace on a line by itself
+ detaching the header value from the header name.
+
+ As an intermediate fix we don't try to be smart if the line begins
+ with space or tab.
+
+ * pager.c, sendlib.c: pager: Ignore $wrap for attachment markers
+
+2009-06-14 20:57 -0700 Brendan Cully <brendan@kublai.com> (d2e0b495b148)
+
+ * build-release: Remove duplicate update-changelog call.
+
+2009-06-14 20:51 -0700 Antonio Radici <antonio@dyne.org> (fef17099376d)
+
+ * doc/mutt.man: Escape hyphens in man page. Closes #1937 again.
+
+2009-06-14 12:29 -0700 Brendan Cully <brendan@kublai.com> (7f8a2ba64516)
+
+ * UPDATING: Update UPDATING
+
+ * VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po,
+ po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po,
+ po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po,
+ po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po,
+ po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po:
+ automatic post-release commit for mutt-1.5.20
* imap/imap.c: Save a dereference, and close #3226 with voodoo.
View
2  INSTALL
@@ -202,7 +202,7 @@ A_NORMAL or KEY_MIN, then you probably don't have a SysV compliant curses
library. You should install either ncurses or S-Lang (see above), and then
run the ``configure'' script again.
-Please note that "VPATH" builds currently do _not_ work.
+Please note that "VPATH" builds currently only work with GNU make (gmake).
View
10 Makefile.am
@@ -13,7 +13,11 @@ SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
-BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h hcversion.h
+if BUILD_HCACHE
+HCVERSION = hcversion.h
+endif
+
+BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h $(HCVERSION)
bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
mutt_SOURCES = \
@@ -29,7 +33,7 @@ mutt_SOURCES = \
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 mbyte.c \
- url.c ascii.c crypt-mod.c crypt-mod.h
+ url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c
nodist_mutt_SOURCES = $(BUILT_SOURCES)
@@ -66,7 +70,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
_regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
- README.SSL smime.h \
+ README.SSL smime.h group.h \
muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
ChangeLog mkchangelog.sh mutt_idna.h \
snprintf.c regex.c crypt-gpgme.h hcachever.sh.in
View
33 Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -85,9 +85,10 @@ am_mutt_OBJECTS = addrbook.$(OBJEXT) alias.$(OBJEXT) attach.$(OBJEXT) \
system.$(OBJEXT) thread.$(OBJEXT) charset.$(OBJEXT) \
history.$(OBJEXT) lib.$(OBJEXT) muttlib.$(OBJEXT) \
editmsg.$(OBJEXT) mbyte.$(OBJEXT) url.$(OBJEXT) \
- ascii.$(OBJEXT) crypt-mod.$(OBJEXT)
-am__objects_1 = patchlist.$(OBJEXT)
-nodist_mutt_OBJECTS = $(am__objects_1)
+ ascii.$(OBJEXT) crypt-mod.$(OBJEXT) safe_asprintf.$(OBJEXT)
+am__objects_1 =
+am__objects_2 = patchlist.$(OBJEXT) $(am__objects_1)
+nodist_mutt_OBJECTS = $(am__objects_2)
mutt_OBJECTS = $(am_mutt_OBJECTS) $(nodist_mutt_OBJECTS)
am__DEPENDENCIES_1 =
am_mutt_dotlock_OBJECTS = mutt_dotlock.$(OBJEXT)
@@ -270,6 +271,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PGPAUX_TARGET = @PGPAUX_TARGET@
@@ -342,7 +344,8 @@ AUTOMAKE_OPTIONS = 1.6 foreign
@BUILD_IMAP_TRUE@IMAP_INCLUDES = -I$(top_srcdir)/imap
SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
-BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h hcversion.h
+@BUILD_HCACHE_TRUE@HCVERSION = hcversion.h
+BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h $(HCVERSION)
mutt_SOURCES = \
addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
crypt.c cryptglue.c \
@@ -356,7 +359,7 @@ mutt_SOURCES = \
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 mbyte.c \
- url.c ascii.c crypt-mod.c crypt-mod.h
+ url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c
nodist_mutt_SOURCES = $(BUILT_SOURCES)
mutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(MUTTLIBS) \
@@ -385,7 +388,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
_regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
- README.SSL smime.h \
+ README.SSL smime.h group.h \
muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
ChangeLog mkchangelog.sh mutt_idna.h \
snprintf.c regex.c crypt-gpgme.h hcachever.sh.in
@@ -663,6 +666,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc2231.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc3676.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc822.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe_asprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/score.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/send.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendlib.Po@am__quote@
@@ -713,7 +717,7 @@ mutt_md5-md5.obj: md5.c
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -738,7 +742,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -902,7 +906,8 @@ distdir: $(DISTFILES)
fi; \
done
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
@@ -946,17 +951,17 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
View
1  OPS
@@ -102,6 +102,7 @@ OP_MAIN_CHANGE_FOLDER_READONLY "open a different folder in read only mode"
OP_MAIN_CLEAR_FLAG "clear a status flag from a message"
OP_MAIN_DELETE_PATTERN "delete messages matching a pattern"
OP_MAIN_IMAP_FETCH "force retrieval of mail from IMAP server"
+OP_MAIN_IMAP_LOGOUT_ALL "logout from all IMAP servers"
OP_MAIN_FETCH_MAIL "retrieve mail from POP server"
OP_MAIN_FIRST_MESSAGE "move to the first message"
OP_MAIN_LAST_MESSAGE "move to the last message"
View
7 TODO
@@ -1,16 +1,11 @@
Problems are listed in approximate order of priority.
-- character set support: We should have a global cache of
- character to file name mappings.
-
- When displaying MIME headers, rfc 2047 decoding is applied (which
should not happen), and rfc 2231 decoding is not applied (which
should happen).
- Help formatting could be revamped a bit.
-- re-add support for .mh_sequences files
-
- In the "attachment" menu, assume this:
1 [text/plain, 7bit, 1.1K] <no description>
@@ -62,5 +57,3 @@ Problems are listed in approximate order of priority.
menu will require re-allocating and possibly updating the v2r
array. How do we handle "in-the-middle additions" properly? Do
they happen at all?
-
-$Id$
View
16 UPDATING
@@ -5,11 +5,22 @@ The keys used are:
!: modified feature, -: deleted feature, +: new feature
hg tip:
+
+ ! $thorough_search defaults to yes
+ + imap-logout-all closes all open IMAP connections
+ ! header/body cache paths are always UTF-8
+ + $wrap_headers to control outgoing message's header length
+ + all text/* parts can be displayed inline without mailcap
+ + send-hooks now run in batch mode; previously only send2-hooks ran.
+
+1.5.20 (2009-06-14):
+
+ ! mbox/mmdf new mail flag is kept when leaving folders with new mail
! $fcc_attach is a quadoption now
+ $honor_disposition to honor Content-Disposition headers
+ $search_context specifies number of context lines for search results
in pager/page-based menus
- + ssl_use_sslv2 defaults to no
+ ! ssl_use_sslv2 defaults to no
+ uncolor works for header + body objects, too
+ the "flagged" and "replied" flags are enabled/supported for
POP when built with header caching
@@ -20,11 +31,12 @@ hg tip:
search as regex patterns do (except IMAP)
+ $ssl_verify_dates controls whether mutt checks the validity period of
SSL certificates
- + $ssl_verify_hostname controls whether mutt will accept certificates whose
+ + $ssl_verify_host controls whether mutt will accept certificates whose
host names do not match the host name in the folder URL.
1.5.19 (2009-01-05):
+ ! command-line arguments: -a now mandates -- at end of file list
+ support for SSL certificate chains
+ <what-key> function works in pager, too
+ support for tokyocabinet (qdbm successor)
View
2  VERSION
@@ -1 +1 @@
-1.5.20
+1.5.21
View
4 account.c
@@ -155,6 +155,8 @@ int mutt_account_getuser (ACCOUNT* account)
else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
strfcpy (account->user, PopUser, sizeof (account->user));
#endif
+ else if (option (OPTNOCURSES))
+ return -1;
/* prompt (defaults to unix username), copy into account->user */
else
{
@@ -215,6 +217,8 @@ int mutt_account_getpass (ACCOUNT* account)
else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
strfcpy (account->pass, SmtpPass, sizeof (account->pass));
#endif
+ else if (option (OPTNOCURSES))
+ return -1;
else
{
snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
View
131 aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -13,36 +13,121 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+[m4_warning([this file was generated for autoconf 2.65.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+# longlong.m4 serial 13
+dnl Copyright (C) 1999-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it. Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
+dnl From Paul Eggert.
+
+# Define HAVE_LONG_LONG_INT if 'long long int' works.
+# This fixes a bug in Autoconf 2.61, but can be removed once we
+# assume 2.62 everywhere.
+
+# Note: If the type 'long long int' exists but is only 32 bits large
+# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
+# defined. In this case you can treat 'long long int' like 'long int'.
+
+AC_DEFUN([AC_TYPE_LONG_LONG_INT],
+[
+ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
+ [AC_LINK_IFELSE(
+ [_AC_TYPE_LONG_LONG_SNIPPET],
+ [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
+ dnl If cross compiling, assume the bug isn't important, since
+ dnl nobody cross compiles for this platform as far as we know.
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[@%:@include <limits.h>
+ @%:@ifndef LLONG_MAX
+ @%:@ define HALF \
+ (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+ @%:@ define LLONG_MAX (HALF - 1 + HALF)
+ @%:@endif]],
+ [[long long int n = 1;
+ int i;
+ for (i = 0; ; i++)
+ {
+ long long int m = n << i;
+ if (m >> i != n)
+ return 1;
+ if (LLONG_MAX / 2 < m)
+ break;
+ }
+ return 0;]])],
+ [ac_cv_type_long_long_int=yes],
+ [ac_cv_type_long_long_int=no],
+ [ac_cv_type_long_long_int=yes])],
+ [ac_cv_type_long_long_int=no])])
+ if test $ac_cv_type_long_long_int = yes; then
+ AC_DEFINE([HAVE_LONG_LONG_INT], 1,
+ [Define to 1 if the system has the type `long long int'.])
+ fi
+])
-undefine([AC_ISC_POSIX])
+# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
+# This fixes a bug in Autoconf 2.61, but can be removed once we
+# assume 2.62 everywhere.
+
+# Note: If the type 'unsigned long long int' exists but is only 32 bits
+# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
+# will not be defined. In this case you can treat 'unsigned long long int'
+# like 'unsigned long int'.
+
+AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
+[
+ AC_CACHE_CHECK([for unsigned long long int],
+ [ac_cv_type_unsigned_long_long_int],
+ [AC_LINK_IFELSE(
+ [_AC_TYPE_LONG_LONG_SNIPPET],
+ [ac_cv_type_unsigned_long_long_int=yes],
+ [ac_cv_type_unsigned_long_long_int=no])])
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+ AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
+ [Define to 1 if the system has the type `unsigned long long int'.])
+ fi
+])
-AC_DEFUN([AC_ISC_POSIX],
- [
- dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
- AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
- ]
-)
+# Expands to a C program that can be used to test for simultaneous support
+# of 'long long' and 'unsigned long long'. We don't want to say that
+# 'long long' is available if 'unsigned long long' is not, or vice versa,
+# because too many programs rely on the symmetry between signed and unsigned
+# integer types (excluding 'bool').
+AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
+[
+ AC_LANG_PROGRAM(
+ [[/* Test preprocessor. */
+ #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ error in preprocessor;
+ #endif
+ #if ! (18446744073709551615ULL <= -1ull)
+ error in preprocessor;
+ #endif
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;]],
+ [[/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));]])
+])
# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
#
@@ -59,7 +144,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -75,7 +160,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
View
8 attach.c
@@ -169,7 +169,7 @@ int mutt_compose_attachment (BODY *a)
/* Remove headers by copying out data to another file, then
* copying the file back */
fseeko (fp, b->offset, 0);
- mutt_mktemp (tempfile);
+ mutt_mktemp (tempfile, sizeof (tempfile));
if ((tfp = safe_fopen (tempfile, "w")) == NULL)
{
mutt_perror _("Failure to open file to strip headers.");
@@ -508,7 +508,7 @@ int mutt_view_attachment (FILE *fp, BODY *a, int flag, HEADER *hdr,
mutt_adv_mktemp (pagerfile, sizeof(pagerfile));
}
else
- mutt_mktemp (pagerfile);
+ mutt_mktemp (pagerfile, sizeof (pagerfile));
}
if (use_mailcap)
@@ -938,7 +938,7 @@ int mutt_decode_save_attachment (FILE *fp, BODY *m, char *path,
/* Ok, the difference between send and receive:
* recv: BODY->filename is a suggested name, and Context|HEADER points
- * to the attachment in mailbox which is encooded
+ * to the attachment in mailbox which is encoded
* send: BODY->filename points to the un-encoded file which contains the
* attachment
*/
@@ -1043,7 +1043,7 @@ int mutt_print_attachment (FILE *fp, BODY *a)
ifp = NULL;
fpout = NULL;
- mutt_mktemp (newfile);
+ mutt_mktemp (newfile, sizeof (newfile));
if (mutt_decode_save_attachment (fp, a, newfile, M_PRINTING, 0) == 0)
{
View
13 bcache.c
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2006-7 Brendan Cully <brendan@kublai.com>
- * Copyright (C) 2006 Rocco Rutte <pdmef@gmx.net>
+ * Copyright (C) 2006, 2009 Rocco Rutte <pdmef@gmx.net>
*
* 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
@@ -42,6 +42,7 @@ static int bcache_path(ACCOUNT *account, const char *mailbox,
char *dst, size_t dstlen)
{
char host[STRING];
+ char path[_POSIX_PATH_MAX];
ciss_url_t url;
int len;
@@ -62,12 +63,14 @@ static int bcache_path(ACCOUNT *account, const char *mailbox,
return -1;
}
- dprint (3, (debugfile, "bcache_path: URL: '%s'\n", host));
+ mutt_encode_path (path, sizeof (path), NONULL (mailbox));
len = snprintf (dst, dstlen-1, "%s/%s%s%s", MessageCachedir,
- host, NONULL(mailbox),
- (mailbox && *mailbox &&
- mailbox[mutt_strlen(mailbox) - 1] == '/') ? "" : "/");
+ host, path,
+ (*path && path[mutt_strlen (path) - 1] == '/') ? "" : "/");
+
+ dprint (3, (debugfile, "bcache_path: rc: %d, path: '%s'\n", len, dst));
+
if (len < 0 || len >= dstlen-1)
return -1;
View
22 browser.c
@@ -40,6 +40,7 @@
#include <unistd.h>
#include <sys/stat.h>
#include <errno.h>
+#include <locale.h>
static struct mapping_t FolderHelp[] = {
{ N_("Exit"), OP_EXIT },
@@ -161,11 +162,27 @@ folder_format_str (char *dest, size_t destlen, size_t col, char op, const char *
break;
case 'd':
+ case 'D':
if (folder->ff->st != NULL)
{
- tnow = time (NULL);
- t_fmt = tnow - folder->ff->st->st_mtime < 31536000 ? "%b %d %H:%M" : "%b %d %Y";
+ int do_locales = TRUE;
+
+ if (op == 'D') {
+ t_fmt = NONULL(DateFmt);
+ if (*t_fmt == '!') {
+ ++t_fmt;
+ do_locales = FALSE;
+ }
+ } else {
+ tnow = time (NULL);
+ t_fmt = tnow - folder->ff->st->st_mtime < 31536000 ? "%b %d %H:%M" : "%b %d %Y";
+ }
+ if (do_locales)
+ setlocale(LC_TIME, NONULL (Locale)); /* use environment if $locale is not set */
+ else
+ setlocale(LC_TIME, "C");
strftime (date, sizeof (date), t_fmt, localtime (&folder->ff->st->st_mtime));
+
mutt_format_s (dest, destlen, fmt, date);
}
else
@@ -1068,7 +1085,6 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num
if ((err = REGCOMP (rx, s, REG_NOSUB)) != 0)
{
regerror (err, rx, buf, sizeof (buf));
- regfree (rx);
FREE (&rx);
mutt_error ("%s", buf);
}
View
278 buffy.c
@@ -45,6 +45,8 @@ time_t BuffyDoneTime = 0; /* last time we knew for sure how much mail there was.
static short BuffyCount = 0; /* how many boxes with new mail */
static short BuffyNotify = 0; /* # of unnotified new boxes */
+static BUFFY* buffy_get (const char *path);
+
/* Find the last message in the file.
* upon success return 0. If no message found - return -1 */
@@ -191,6 +193,23 @@ void mutt_update_mailbox (BUFFY * b)
return;
}
+static BUFFY *buffy_new (const char *path)
+{
+ BUFFY* buffy;
+
+ buffy = (BUFFY *) safe_calloc (1, sizeof (BUFFY));
+ strfcpy (buffy->path, path, sizeof (buffy->path));
+ buffy->next = NULL;
+ buffy->magic = 0;
+
+ return buffy;
+}
+
+static void buffy_free (BUFFY **mailbox)
+{
+ FREE (mailbox); /* __FREE_CHECKED__ */
+}
+
int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *err)
{
BUFFY **tmp,*tmp1;
@@ -209,7 +228,7 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e
for (tmp = &Incoming; *tmp;)
{
tmp1=(*tmp)->next;
- FREE (tmp); /* __FREE_CHECKED__ */
+ buffy_free (tmp);
*tmp=tmp1;
}
return 0;
@@ -236,23 +255,15 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e
{
if(*tmp)
{
- FREE (&((*tmp)->path));
tmp1=(*tmp)->next;
- FREE (tmp); /* __FREE_CHECKED__ */
+ buffy_free (tmp);
*tmp=tmp1;
}
continue;
}
if (!*tmp)
- {
- *tmp = (BUFFY *) safe_calloc (1, sizeof (BUFFY));
- strfcpy ((*tmp)->path, buf, sizeof ((*tmp)->path));
- (*tmp)->next = NULL;
- /* it is tempting to set magic right here */
- (*tmp)->magic = 0;
-
- }
+ *tmp = buffy_new (buf);
(*tmp)->new = 0;
(*tmp)->notified = 1;
@@ -274,20 +285,96 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e
return 0;
}
-/* people use check_mbox_size on systems where modified time attributes are
- * BADLY broken. Ignore them.
- */
-#define STAT_CHECK_SIZE (sb.st_size > tmp->size)
-#define STAT_CHECK_TIME (sb.st_mtime > sb.st_atime || (tmp->newly_created && sb.st_ctime == sb.st_mtime && sb.st_ctime == sb.st_atime))
-#define STAT_CHECK (option(OPTCHECKMBOXSIZE) ? STAT_CHECK_SIZE : STAT_CHECK_TIME)
+/* returns 1 if maildir has new mail */
+static int buffy_maildir_hasnew (BUFFY* mailbox)
+{
+ char path[_POSIX_PATH_MAX];
+ DIR *dirp;
+ struct dirent *de;
+ char *p;
+ int rc = 0;
+ struct stat sb;
+
+ snprintf (path, sizeof (path), "%s/new", mailbox->path);
+
+ /* when $mail_check_recent is set, if the new/ directory hasn't been modified since
+ * the user last exited the mailbox, then we know there is no recent mail.
+ */
+ if (option(OPTMAILCHECKRECENT))
+ {
+ if (stat(path, &sb) == 0 && sb.st_mtime < mailbox->last_visited)
+ return 0;
+ }
+
+ if ((dirp = opendir (path)) == NULL)
+ {
+ mailbox->magic = 0;
+ return 0;
+ }
+
+ while ((de = readdir (dirp)) != NULL)
+ {
+ if (*de->d_name == '.')
+ continue;
+
+ if (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T'))
+ {
+ if (option(OPTMAILCHECKRECENT))
+ {
+ char msgpath[_POSIX_PATH_MAX];
+
+ snprintf(msgpath, sizeof(msgpath), "%s/%s", path, de->d_name);
+ /* ensure this message was received since leaving this mailbox */
+ if (stat(msgpath, &sb) == 0 && (sb.st_ctime <= mailbox->last_visited))
+ continue;
+ }
+ /* one new and undeleted message is enough */
+ mailbox->new = 1;
+ rc = 1;
+ break;
+ }
+ }
+
+ closedir (dirp);
+
+ return rc;
+}
+
+/* returns 1 if mailbox has new mail */
+static int buffy_mbox_hasnew (BUFFY* mailbox, struct stat *sb)
+{
+ int rc = 0;
+ int statcheck;
+
+ if (option (OPTCHECKMBOXSIZE))
+ statcheck = sb->st_size > mailbox->size;
+ else
+ statcheck = sb->st_mtime > sb->st_atime
+ || (mailbox->newly_created && sb->st_ctime == sb->st_mtime && sb->st_ctime == sb->st_atime);
+ if (statcheck)
+ {
+ if (!option(OPTMAILCHECKRECENT) || sb->st_mtime > mailbox->last_visited)
+ {
+ rc = 1;
+ mailbox->new = 1;
+ }
+ }
+ else if (option(OPTCHECKMBOXSIZE))
+ {
+ /* some other program has deleted mail from the folder */
+ mailbox->size = (off_t) sb->st_size;
+ }
+ if (mailbox->newly_created &&
+ (sb->st_ctime != sb->st_mtime || sb->st_ctime != sb->st_atime))
+ mailbox->newly_created = 0;
+
+ return rc;
+}
int mutt_buffy_check (int force)
{
BUFFY *tmp;
struct stat sb;
- struct dirent *de;
- DIR *dirp;
- char path[_POSIX_PATH_MAX];
struct stat contex_sb;
time_t t;
@@ -314,14 +401,11 @@ int mutt_buffy_check (int force)
#ifdef USE_IMAP
BuffyCount += imap_buffy_check (force);
-
- if (!Context || Context->magic != M_IMAP)
-#endif
-#ifdef USE_POP
- if (!Context || Context->magic != M_POP)
#endif
+
/* check device ID and serial number instead of comparing paths */
- if (!Context || !Context->path || stat (Context->path, &contex_sb) != 0)
+ if (!Context || Context->magic == M_IMAP || Context->magic == M_POP
+ || stat (Context->path, &contex_sb) != 0)
{
contex_sb.st_dev=0;
contex_sb.st_ino=0;
@@ -329,99 +413,44 @@ int mutt_buffy_check (int force)
for (tmp = Incoming; tmp; tmp = tmp->next)
{
-#ifdef USE_IMAP
- if (tmp->magic != M_IMAP)
-#endif
- tmp->new = 0;
-
-#ifdef USE_IMAP
if (tmp->magic != M_IMAP)
{
-#endif
+ tmp->new = 0;
#ifdef USE_POP
- if (mx_is_pop (tmp->path))
- tmp->magic = M_POP;
- else
+ if (mx_is_pop (tmp->path))
+ tmp->magic = M_POP;
+ else
#endif
- if (stat (tmp->path, &sb) != 0 || (S_ISREG(sb.st_mode) && sb.st_size == 0) ||
- (!tmp->magic && (tmp->magic = mx_get_magic (tmp->path)) <= 0))
- {
- /* if the mailbox still doesn't exist, set the newly created flag to
- * be ready for when it does. */
- tmp->newly_created = 1;
- tmp->magic = 0;
- tmp->size = 0;
- continue;
- }
-#ifdef USE_IMAP
+ if (stat (tmp->path, &sb) != 0 || (S_ISREG(sb.st_mode) && sb.st_size == 0) ||
+ (!tmp->magic && (tmp->magic = mx_get_magic (tmp->path)) <= 0))
+ {
+ /* if the mailbox still doesn't exist, set the newly created flag to
+ * be ready for when it does. */
+ tmp->newly_created = 1;
+ tmp->magic = 0;
+ tmp->size = 0;
+ continue;
+ }
}
-#endif
/* check to see if the folder is the currently selected folder
* before polling */
if (!Context || !Context->path ||
-#if defined USE_IMAP || defined USE_POP
- ((
-#ifdef USE_IMAP
- tmp->magic == M_IMAP
-#endif
-#ifdef USE_POP
-#ifdef USE_IMAP
- ||
-#endif
- tmp->magic == M_POP
-#endif
- ) ? mutt_strcmp (tmp->path, Context->path) :
-#endif
- (sb.st_dev != contex_sb.st_dev || sb.st_ino != contex_sb.st_ino)
-#if defined USE_IMAP || defined USE_POP
- )
-#endif
- )
-
+ (( tmp->magic == M_IMAP || tmp->magic == M_POP )
+ ? mutt_strcmp (tmp->path, Context->path) :
+ (sb.st_dev != contex_sb.st_dev || sb.st_ino != contex_sb.st_ino)))
{
switch (tmp->magic)
{
case M_MBOX:
case M_MMDF:
-
- if (STAT_CHECK)
- {
+ if (buffy_mbox_hasnew (tmp, &sb) > 0)
BuffyCount++;
- tmp->new = 1;
- }
- else if (option(OPTCHECKMBOXSIZE))
- {
- /* some other program has deleted mail from the folder */
- tmp->size = (off_t) sb.st_size;
- }
- if (tmp->newly_created &&
- (sb.st_ctime != sb.st_mtime || sb.st_ctime != sb.st_atime))
- tmp->newly_created = 0;
-
break;
case M_MAILDIR:
-
- snprintf (path, sizeof (path), "%s/new", tmp->path);
- if ((dirp = opendir (path)) == NULL)
- {
- tmp->magic = 0;
- break;
- }
- while ((de = readdir (dirp)) != NULL)
- {
- char *p;
- if (*de->d_name != '.' &&
- (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
- {
- /* one new and undeleted message is enough */
- BuffyCount++;
- tmp->new = 1;
- break;
- }
- }
- closedir (dirp);
+ if (buffy_maildir_hasnew (tmp) > 0)
+ BuffyCount++;
break;
case M_MH:
@@ -448,13 +477,11 @@ int mutt_buffy_list (void)
BUFFY *tmp;
char path[_POSIX_PATH_MAX];
char buffylist[2*STRING];
- int pos;
- int first;
+ size_t pos = 0;
+ int first = 1;
int have_unnotified = BuffyNotify;
- pos = 0;
- first = 1;
buffylist[0] = 0;
pos += strlen (strncat (buffylist, _("New mail in "), sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */
for (tmp = Incoming; tmp; tmp = tmp->next)
@@ -466,7 +493,7 @@ int mutt_buffy_list (void)
strfcpy (path, tmp->path, sizeof (path));
mutt_pretty_mailbox (path, sizeof (path));
- if (!first && pos + strlen (path) >= COLS - 7)
+ if (!first && (COLS - 7 >= 0) && (pos + strlen (path) >= (size_t)COLS - 7))
break;
if (!first)
@@ -498,6 +525,18 @@ int mutt_buffy_list (void)
return (0);
}
+void mutt_buffy_setnotified (const char *path)
+{
+ BUFFY *buffy;
+
+ buffy = buffy_get(path);
+ if (!buffy)
+ return;
+
+ buffy->notified = 1;
+ time(&buffy->last_visited);
+}
+
int mutt_buffy_notify (void)
{
if (mutt_buffy_check (0) && BuffyNotify)
@@ -542,3 +581,30 @@ void mutt_buffy (char *s, size_t slen)
/* no folders with new mail */
*s = '\0';
}
+
+/* fetch buffy object for given path, if present */
+static BUFFY* buffy_get (const char *path)
+{
+ BUFFY *cur;
+ char *epath;
+
+ if (!path)
+ return NULL;
+
+ epath = safe_strdup(path);
+ mutt_expand_path(epath, mutt_strlen(epath));
+
+ for (cur = Incoming; cur; cur = cur->next)
+ {
+ /* must be done late because e.g. IMAP delimiter may change */
+ mutt_expand_path (cur->path, sizeof (cur->path));
+ if (!mutt_strcmp(cur->path, path))
+ {
+ FREE (&epath);
+ return cur;
+ }
+ }
+
+ FREE (&epath);
+ return NULL;
+}
View
4 buffy.h
@@ -29,6 +29,7 @@ typedef struct buffy_t
short notified; /* user has been notified */
short magic; /* mailbox type */
short newly_created; /* mbox or mmdf just popped into existence */
+ time_t last_visited; /* time of last exit from this mailbox */
}
BUFFY;
@@ -43,3 +44,6 @@ void mutt_update_mailbox (BUFFY * b);
/* fixes up atime + mtime after mbox/mmdf mailbox was modified
according to stat() info taken before a modification */
void mutt_buffy_cleanup (const char *buf, struct stat *st);
+
+/* mark mailbox just left as already notified */
+void mutt_buffy_setnotified (const char *path);
View
53 charset.c
@@ -239,36 +239,42 @@ void mutt_set_langinfo_charset (void)
#endif
+/* this first ties off any charset extension such as //TRANSLIT,
+ canonicalizes the charset and re-adds the extension */
void mutt_canonical_charset (char *dest, size_t dlen, const char *name)
{
size_t i;
- char *p;
- char scratch[LONG_STRING];
+ char *p, *ext;
+ char in[LONG_STRING], scratch[LONG_STRING];
+
+ strfcpy (in, name, sizeof (in));
+ if ((ext = strchr (in, '/')))
+ *ext++ = 0;
- if (!ascii_strcasecmp (name, "utf-8") || !ascii_strcasecmp (name, "utf8"))
+ if (!ascii_strcasecmp (in, "utf-8") || !ascii_strcasecmp (in, "utf8"))
{
strfcpy (dest, "utf-8", dlen);
- return;
+ goto out;
}
/* catch some common iso-8859-something misspellings */
- if (!ascii_strncasecmp (name, "8859", 4) && name[4] != '-')
- snprintf (scratch, sizeof (scratch), "iso-8859-%s", name +4);
- else if (!ascii_strncasecmp (name, "8859-", 5))
- snprintf (scratch, sizeof (scratch), "iso-8859-%s", name + 5);
- else if (!ascii_strncasecmp (name, "iso8859", 7) && name[7] != '-')
- snprintf (scratch, sizeof (scratch), "iso_8859-%s", name + 7);
- else if (!ascii_strncasecmp (name, "iso8859-", 8))
- snprintf (scratch, sizeof (scratch), "iso_8859-%s", name + 8);
+ if (!ascii_strncasecmp (in, "8859", 4) && in[4] != '-')
+ snprintf (scratch, sizeof (scratch), "iso-8859-%s", in +4);
+ else if (!ascii_strncasecmp (in, "8859-", 5))
+ snprintf (scratch, sizeof (scratch), "iso-8859-%s", in + 5);
+ else if (!ascii_strncasecmp (in, "iso8859", 7) && in[7] != '-')
+ snprintf (scratch, sizeof (scratch), "iso_8859-%s", in + 7);
+ else if (!ascii_strncasecmp (in, "iso8859-", 8))
+ snprintf (scratch, sizeof (scratch), "iso_8859-%s", in + 8);
else
- strfcpy (scratch, NONULL(name), sizeof (scratch));
+ strfcpy (scratch, in, sizeof (scratch));
for (i = 0; PreferredMIMENames[i].key; i++)
if (!ascii_strcasecmp (scratch, PreferredMIMENames[i].key) ||
!mutt_strcasecmp (scratch, PreferredMIMENames[i].key))
{
strfcpy (dest, PreferredMIMENames[i].pref, dlen);
- return;
+ goto out;
}
strfcpy (dest, scratch, dlen);
@@ -276,16 +282,33 @@ void mutt_canonical_charset (char *dest, size_t dlen, const char *name)
/* for cosmetics' sake, transform to lowercase. */
for (p = dest; *p; p++)
*p = ascii_tolower (*p);
+
+out:
+ if (ext && *ext)
+ {
+ safe_strcat (dest, dlen, "/");
+ safe_strcat (dest, dlen, ext);
+ }
}
int mutt_chscmp (const char *s, const char *chs)
{
char buffer[STRING];
+ int a, b;
if (!s) return 0;
+ /* charsets may have extensions mutt_canonical_charset()
+ leaves intact; we expect `chs' to originate from mutt
+ code, not user input (i.e. `chs' does _not_ have any
+ extension)
+ we simply check if the shorter string is a prefix for
+ the longer */
mutt_canonical_charset (buffer, sizeof (buffer), s);
- return !ascii_strcasecmp (buffer, chs);
+ a = mutt_strlen (buffer);
+ b = mutt_strlen (chs);
+ return !ascii_strncasecmp (a > b ? buffer : chs,
+ a > b ? chs : buffer, MIN(a,b));
}
char *mutt_get_default_charset ()
View
2  charset.h
@@ -47,7 +47,7 @@ char * fgetconvs (char *, size_t, FGETCONV *);
void fgetconv_close (FGETCONV **);
void mutt_set_langinfo_charset (void);
-char *mutt_get_default_charset ();
+char *mutt_get_default_charset (void);
/* flags for charset.c:mutt_convert_string(), fgetconv_open(), and
* mutt_iconv_open(). Note that applying charset-hooks to tocode is
View
9 commands.c
@@ -72,7 +72,7 @@ int mutt_display_message (HEADER *cur)
mutt_parse_mime_message (Context, cur);
mutt_message_hook (Context, cur, M_MESSAGEHOOK);
- /* see if crytpo is needed for this message. if so, we should exit curses */
+ /* see if crypto is needed for this message. if so, we should exit curses */
if (WithCrypto && cur->security)
{
if (cur->security & ENCRYPT)
@@ -109,7 +109,7 @@ int mutt_display_message (HEADER *cur)
}
- mutt_mktemp (tempfile);
+ mutt_mktemp (tempfile, sizeof (tempfile));
if ((fpout = safe_fopen (tempfile, "w")) == NULL)
{
mutt_error _("Could not create temporary file!");
@@ -222,7 +222,8 @@ int mutt_display_message (HEADER *cur)
if ((r = mutt_system (buf)) == -1)
mutt_error (_("Error running \"%s\"!"), buf);
unlink (tempfile);
- keypad (stdscr, TRUE);
+ if (!option (OPTNOCURSES))
+ keypad (stdscr, TRUE);
if (r != -1)
mutt_set_flag (Context, cur, M_READ, 1);
if (r != -1 && option (OPTPROMPTAFTER))
@@ -862,7 +863,7 @@ int mutt_save_message (HEADER *h, int delete,
mx_close_mailbox (&ctx, NULL);
if (need_buffy_cleanup)
- mutt_buffy_cleanup (ctx.path, &st);
+ mutt_buffy_cleanup (buf, &st);
mutt_clear_error ();
return (0);
View
45 compose.c
@@ -112,21 +112,13 @@ static void redraw_crypt_lines (HEADER *msg)
{
int off = 0;
- if ((WithCrypto & APPLICATION_PGP) && (WithCrypto & APPLICATION_SMIME))
- {
- if (!msg->security)
- mvaddstr (HDR_CRYPT, 0, "Security: ");
- else if (msg->security & APPLICATION_SMIME)
- mvaddstr (HDR_CRYPT, 0, " S/MIME: ");
- else if (msg->security & APPLICATION_PGP)
- mvaddstr (HDR_CRYPT, 0, " PGP: ");
- }
- else if ((WithCrypto & APPLICATION_SMIME))
- mvaddstr (HDR_CRYPT, 0, " S/MIME: ");
- else if ((WithCrypto & APPLICATION_PGP))
- mvaddstr (HDR_CRYPT, 0, " PGP: ");
- else
+ mvaddstr (HDR_CRYPT, 0, "Security: ");
+
+ if ((WithCrypto & (APPLICATION_PGP | APPLICATION_SMIME)) == 0)
+ {
+ addstr(_("Not supported"));