1. 29 Jan, 2017 6 commits
  2. 24 Jan, 2017 4 commits
    • Kevin J. McCarthy's avatar
      Allow "unsubjectrc *" to remove all patterns. · 7989acf6
      Kevin J. McCarthy authored
      Thanks to Aaron Schrab for the original patch.
      7989acf6
    • David Champion's avatar
      Add subjectrx command to replace matching subjects with something else. · 0663272c
      David Champion authored
      This lets you define regular expressions-replacement pairs for subject
      display.  When a Subject: matches the regular expression, the replacement
      value will be displayed instead in the message index.  Backreferences
      are supported.
      
      This is especially nice for simplifying subjects that are overly wordy,
      such as mailing list posts (with [Listname] tags, etc), mail from
      ticketing systems or bug trackers, etc.  It lets you reduce clutter in
      your mutt display without altering the messages themselves.
      0663272c
    • David Champion's avatar
      Abstract the SPAM_LIST as a generic REPLACE_LIST · 149ed356
      David Champion authored
      REPLACE_LIST can be used more generally as a list of pattern
      match-replace settings.  SPAM_LIST was a special case of this, so
      spam handling has been been changed to use REPLACE_LIST instead, and
      SPAM_LIST was removed.
      
      A generic function for performing a REPLACE_LIST replacement has
      been added in mutt_apply_replace().
      
      Commited by Kevin McCarthy with some buffer overflow fixes in
      mutt_apply_replace().
      149ed356
    • Kevin J. McCarthy's avatar
      Improve Reply-to vs From comparison when replying. (closes #3909) · 5e3ac08d
      Kevin J. McCarthy authored
      Prior to this patch, if the Reply-to mailbox matched the From mailbox,
      mutt would always use the From address.  This was probably done to
      preserve the display name, as the Reply-to address is often missing one.
      
      Unfortunately, there are circumstances where the Reply-to display-name
      has significance, such as in ticket 3909.
      
      Change mutt so that it only uses the From address if the Reply-To has
      no display-name.
      5e3ac08d
  3. 19 Jan, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Fix sidebar references to the "new count" to be "unread". (closes #3908) · 753de4f0
      Kevin J. McCarthy authored
      %N in $sidebar_format and "new"in $sidebar_sort_method actually use
      the unread message count.  Update the documentation to mention that.
      
      Add an "unread" method to $sidebar_sort_method, but preserve "new" for
      compatibility.
      
      Change the SORT_COUNT_NEW constant to SORT_UNREAD, so the code is also
      consistent with the meaning.
      
      Thanks to cri for reporting the problem and suggesting where to fix it
      in the code.
      753de4f0
  4. 18 Jan, 2017 2 commits
    • Kevin J. McCarthy's avatar
      Fix several alias hashtable issues. · 851b549d
      Kevin J. McCarthy authored
      Convert to use the strdup keys hash.  Addresses can be converted back
      and forth from intl to local forms.  This frees and recreates a new
      addr->mailbox string, resulting in the hash table key being a dangling
      pointer.
      
      Change alias hash table insert/remove to ensure the address is in intl
      form.  The alias menu (previously) converted address entries to local
      form when performing a completion.  Even with the pointer issue fixed,
      the entries may not be removed from the hash if the intl and local
      forms are different.
      
      Lastly, there is no reason for the alias menu to manually convert to
      local form before writing the address to the output buffer.
      rfc822_write_address() has a display parameter that will call
      mutt_addr_for_display() instead when set.  Change to set the display
      parameter and remove the conversion calls.
      
      This last change obviates the first two changes, but they are a good idea
      in any case.
      851b549d
    • Kevin J. McCarthy's avatar
      Add casecmp and strdup_key flags to hash_create() · 58d04543
      Kevin J. McCarthy authored
      Aliases and (in the future), X-Label hashes will require a hash that
      strdups the key.  Convert the casecmp parameter of hash_create() to a
      flags parameter, and add a flag to strdup the keys.
      58d04543
  5. 15 Jan, 2017 2 commits
    • Kevin J. McCarthy's avatar
      Improve error handling in mbox magic detection. · 354b88e4
      Kevin J. McCarthy authored
      Thanks to Simon Ruderich for pointing out several small issues with
      the previous commit.
      354b88e4
    • David Champion's avatar
      Allow initial blank lines in local mailboxes. · 4d3e0bc6
      David Champion authored
      Some mailbox-creation tools erroneously append a blank line to a file
      before appending a UNIXv7-format mail message, resulting in mailboxes
      that are intended to be valid "mbox" folders but are not.  Notably old
      versions of Mailman do this, making archive files that cannot be read by
      mutt.
      
      This patch causes mutt to skip leading NLs and CRs when detecting magic.
      4d3e0bc6
  6. 10 Jan, 2017 1 commit
    • Simon Ruderich's avatar
      Fix minor documentation issues. · 28c6a775
      Simon Ruderich authored
      manual.xml:
      Wrap line for clarity.
      
      muttrc.man:
      Remove superfluous spaces in brackets.
      Add missing error object in color command.
      Sort the prompt object.
      Add sidebar color objects.
      28c6a775
  7. 06 Jan, 2017 3 commits
    • Kevin J. McCarthy's avatar
      Convert cmd_parse_search to use the uid hash. (closes #3905) · 9b1f9339
      Kevin J. McCarthy authored
      Replace the linear scan for each result with a hash lookup.  This
      should greatly improve performance for large mailboxes.
      9b1f9339
    • Kevin J. McCarthy's avatar
      Create a uid hash for imap. (see #3905) · 6c293f7d
      Kevin J. McCarthy authored
      This hash will allow for more efficient UID SEARCH processing,
      replacing a linear scan with a hash lookup.
      6c293f7d
    • Kevin J. McCarthy's avatar
      Convert HASH to be indexable by unsigned int. (see #3905) · 53459785
      Kevin J. McCarthy authored
      Convert the HASH to be usable for either string or unsigned int keys,
      so that a uid hash can be added for imap.
      
      To keep hash-usage code disruption to a minimum, this introduces new
      create/insert/find/delete functions for the int hash, but keeps the
      old function names for string keys.
      
      This implementation makes the key a union.  It may have been a better
      idea to introduce a whole new structure, but this way allows minimum
      changes to and maximum reuse of the existing hash code.
      53459785
  8. 05 Jan, 2017 1 commit
  9. 03 Jan, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Add a pattern_cache_t to speed up a few repeated matches. · 522c26d5
      Kevin J. McCarthy authored
      Vincent Lefèvre reported experiencing an index display performance
      issue.  This occurred with messages containing many recipients.  He
      had many index color lines containing ~l.  The ~l ended up being run
      over and over on these messages, resulting in a noticable slowdown
      displaying the index.
      
      This patch adds caching for just a few of the pattern operations (~l,
      ~u, ~p, ~P) that are potentially expensive and also don't have
      arguments.  The caching is only enabled for operations repeatedly
      matching against the same message: color, hooks, scoring.
      
      The caching is fairly targeted, but isn't that invasive or
      complicated.
      522c26d5
  10. 01 Jan, 2017 1 commit
  11. 27 Dec, 2016 2 commits
  12. 25 Dec, 2016 1 commit
  13. 13 Dec, 2016 3 commits
    • David Champion's avatar
      Add option to control whether threads uncollapse when new mail arrives. · f74224de
      David Champion authored
      Adds $uncollapse_new: when set, the default, a collapsed thread into
      which a new message arrives will be uncollapsed to reveal the new
      message.
      f74224de
    • Richard Russon's avatar
      Remove unused OPS · fb9a279f
      Richard Russon authored
      OP_MAIN_FIRST_MESSAGE and OP_MAIN_LAST_MESSAGE were added to the
      code 19 years ago.  They weren't used then; they haven't been used since.
      fb9a279f
    • Michał Kępień's avatar
      Rework OpenSSL certificate verification to support alternative chains. (closes #3903) · 94993946
      Michał Kępień authored
      The way Mutt currently verifies SSL certificates using OpenSSL does
      not support alternative chains, which may cause confusion when some
      popular mail providers (e.g. Gmail) are used with specific sets of
      trusted CA certificates.
      
      Replace the "manual" verification done by mutt in
      check_certificate_by_signer() with SSL_set_verify() using a callback.
      OpenSSL then does the certificate verification, including properly
      looking at alternative chains.  The callback still provides the
      opportunity to override using ~/.mutt_certificates or an interactive
      prompt.
      94993946
  14. 12 Dec, 2016 1 commit
    • David Champion's avatar
      Add setenv/unsetenv commands. · b32f0034
      David Champion authored
      These can be used to add and remove environment variables passed to
      children via mutt_system().
      
      Commited by Kevin McCarthy with some cleanup.
      b32f0034
  15. 07 Dec, 2016 1 commit
  16. 05 Dec, 2016 4 commits
  17. 04 Dec, 2016 1 commit
  18. 03 Dec, 2016 1 commit
  19. 30 Nov, 2016 3 commits
  20. 25 Nov, 2016 1 commit