1. 03 Aug, 2020 1 commit
  2. 02 Aug, 2020 1 commit
  3. 27 Jul, 2020 1 commit
  4. 26 Jul, 2020 3 commits
    • Maxim Tarasov's avatar
      0b3fc03c
    • Maxim Tarasov's avatar
      Update mutt.1 manpage · 661bd665
      Maxim Tarasov authored
      * Change the wording for some options to be imperative.
      
      * Rename parameters to be descriptive ("draft" instead of "file").
      
      * Mention possible values for -m parameter.
      
      * Change "file [...]" to "file ..." as ellipsis already implies it's
        optional.
      
      * Format entries in the SYNOPSIS to avoid wrapping inside square
        brackets.
      
      * Space out examples in -a description.
      
      * Use consistent formatting everywhere: options using B, paths and
        option values using I, manual references using BR.
      
      * Group together descriptions of EDITOR and VISUAL environment
        variables since they're closely related. Mention the default editor.
      
      * Add references to these environment variables: EGDSOCKET, RANDFILE,
        LC_ALL, LC_CTYPE, LANG, and TEXTDOMAINDIR.
      
      * Clarify the way TMPDIR is used.
      
      * Add ~/.muttdebug0 to the FILES section.
      
      * Add missing manual pages to the SEE ALSO section. Sort the list.
      
      * Add line breaks after sentences (this is recommended in roff manual
        to enable sentence processing; sentences are double spaced
        automatically).
      661bd665
    • Asif Talybov's avatar
  5. 25 Jul, 2020 6 commits
  6. 24 Jul, 2020 2 commits
    • Kevin J. McCarthy's avatar
      Merge branch 'stable' · a21c9fc1
      Kevin J. McCarthy authored
      a21c9fc1
    • Kevin J. McCarthy's avatar
      Prevent lynx from dumping a remote site if manual.txt is missing. · c3ae7ba5
      Kevin J. McCarthy authored
      Ambrose Li reported that if the xsltproc step fails in manual
      generation, lynx will dump a *remote* site to manual.txt, because
      manual.html does not exist.  w3m and elinks appear not to have this
      issue.
      
      Prevent lynx from doing this by adding '-localhost' flag.
      
      Ambrose also suggested prefixing './manual.html' instead should fix
      the problem, but to be conservative about not breaking anything I'm
      just adding the '-localhost' flag.
      c3ae7ba5
  7. 23 Jul, 2020 3 commits
    • Maxim Tarasov's avatar
      Mention $XDG_CONFIG_HOME in the manpage · 6479ec5c
      Maxim Tarasov authored
      Mutt supported processing $XDG_CONFIG_HOME/mutt/muttrc for a while
      now, but mutt(1) man page hasn't been updated to reflect that.
      
      This will also replace .IP with .TP to use one line per file name and
      highlight file names with .I which is common practice in manual
      formatting.
      6479ec5c
    • Kevin J. McCarthy's avatar
      Fix redraw_motion() redraw bug. · 3c2501e5
      Kevin J. McCarthy authored
      Commit e2a28006 moved the cur_color assignment so that $arrow_cursor
      could also use the value for overlays.
      
      Unfortunately, it at the same time moved the call *after* the call to
      mutt_window_move(), which would introduce a drawing bug if
      menu->color() went across IMAP.
      
      The previous commit removed overlays for $arrow_cursor, also removing
      the need for cur_color to be assigned for both.  Move it back to where
      it was before.
      3c2501e5
    • Maxim Tarasov's avatar
      Add color overlay to print_enriched_string(). · 12ff55e2
      Maxim Tarasov authored
      It is called by main menu drawing routines and contains its own
      conditional coloring of a tree component. As is, everything in there
      gets overwritten by the indicator. Furthermore, do_color parameter
      specifically disables any coloring in order for indicator highlight to
      overwrite everything else.
      
      We need to merge three colors here:
      
      1) index color;
      2) tree color, that is drawn within menu using its own color;
      3) indicator color, that, if active, is drawn over both of them.
      
      Combining these colors is implemented in that order.
      
      After some testing, I think it doesn't make sense to merge colors when
      $arrow_cursor is on. This part is reverted to the original behavior.
      
      Make print_enriched_string() coloring behavior self-contained, instead
      of assuming the proper base_color is already set.  This makes the
      callers simpler and allows them to only handle $arrow_cursor logic.
      12ff55e2
  8. 21 Jul, 2020 4 commits
    • Maxim Tarasov's avatar
      Fix cursor overlay logic. · aa8e6d4c
      Maxim Tarasov authored
      Attributes should always be merged, not only when indicator background
      or foreground is set.
      aa8e6d4c
    • Kevin J. McCarthy's avatar
      Don't increment color refcount for overlays. · e12028bd
      Kevin J. McCarthy authored
      Add a ref parameter, setting to 0 for the overlays.
      
      The pager also allocates temporary colors, but seems to take the
      trouble to try and free them too.
      e12028bd
    • Kevin J. McCarthy's avatar
      Add $cursor_overlay, default unset, to control overlaying. · f2e96586
      Kevin J. McCarthy authored
      Although I think the new behavior is desirable, experience has shown
      that changes need to be controlled by an option and usually defaulting
      the same as before.
      f2e96586
    • Maxim Tarasov's avatar
      Add cursor overlay capability. · e2a28006
      Maxim Tarasov authored
      Currently, when the indicator line is over an unread message, full
      indicator color definition is used, and the line is no longer
      displayed bold. It's harder to notice when using default reverse style
      for the indicator, but it becomes much more prominent when you have
      black on white display and only subtle change in the indicator
      background.
      
      We could improve this by merging indicator color definition with color
      definition of the underlying menu item. Here is how it's done:
      
      1. First color definitions for the indicator and underlying menu item
      are taken and split back to foreground, background and attributes
      (meaning bold, underline, etc.).
      2. If indicator does not specify foreground or background color, new
      color pair is created by using underlying menu item as base. Else
      indicator's own foreground and background are used (current behavior).
      3. Then attributes of both colors are combined together. For example,
      if indicator has 'underline' and menu item has 'bold' result will be
      highlighted as 'bold underline'.
      4. The resulting color is used in place of MT_COLOR_INDICATOR when
      highlighting things in menu.c.
      
      Combining attributes this way makes sense to me, because indicator is
      meant to _indicate_, meaning increasing information density. It also
      looks better when moving through the list containing differently
      styled items.
      
      This patch affects indicator, sidebar_highlight, and sidebar_indicator
      color objects.
      e2a28006
  9. 19 Jul, 2020 3 commits
    • Kevin J. McCarthy's avatar
      Add first version of MuttLisp. · 40ce20c8
      Kevin J. McCarthy authored
      This is somewhat simple enhancement to muttrc processing, not a
      full-blown embedded scripting language.  There are no variables,
      functions, types, or abilities that compete with macros.
      
      MuttLisp can be invoked using the "run" command.  If
      $muttlisp_inline_eval is set, it can also be invoked with a bare
      parenthesis expression as a command argument.
      
      $muttlisp_inline_eval defaults unset, to avoid breaking existing
      configurations, which might have bare parenthesis arguments for
      regexps.
      40ce20c8
    • Kevin J. McCarthy's avatar
      Merge branch 'stable' · c5c448d4
      Kevin J. McCarthy authored
      c5c448d4
    • Kevin J. McCarthy's avatar
      Ensure a blackslash inside backquotes doesn't skip past eos. · 62fab7bd
      Kevin J. McCarthy authored
      I'm not sure if this is possible because of the way the input is read
      by the muttrc parser, but fix the logic to ensure it can't happen.
      62fab7bd
  10. 14 Jul, 2020 2 commits
    • Kevin J. McCarthy's avatar
      Add mutt_oauth2.py and README file. · c037a5a9
      Kevin J. McCarthy authored
      This was contributed by Alexander Perlis to the mutt-dev mailing list.
      
      mutt_oauth2.py.README contains the contents of his introduction email
      for the script.
      c037a5a9
    • Kevin J. McCarthy's avatar
      Improve GPGME inline processing. · 35d63818
      Kevin J. McCarthy authored
      Properly deal with multiple blocks:
      
      * Extract the inline block to armored_data, instead of the entire
      message.  Use the code from pgp.c to find the block boundaries.
      
      * The copy_clearsigned() function, probably originally ported from the
      classic code too, assumes the first blank line starts the clear text.
      But this is only true if the passed in data is just the block.
      
      * Use the Charset armor header if found for encrypted content
      conversion, as pgp.d does.
      
      * Reset all states in each loop.
      
      It looks like the pgp.c code wasn't resetting pgp_keyblock and
      gpgcharset, so reset those in pgp.c too.
      35d63818
  11. 13 Jul, 2020 1 commit
  12. 12 Jul, 2020 1 commit
  13. 11 Jul, 2020 3 commits
  14. 10 Jul, 2020 5 commits
  15. 09 Jul, 2020 1 commit
  16. 08 Jul, 2020 2 commits
    • Kevin J. McCarthy's avatar
      Merge branch 'stable' · b108d1b7
      Kevin J. McCarthy authored
      b108d1b7
    • Kevin J. McCarthy's avatar
      Fix utimensat() to use cwd for relative paths. · 222bd804
      Kevin J. McCarthy authored
      The utimensat() invocations were missing the AT_FDCWD parameter,
      meaning they would not work on relative paths.
      
      I can't remember whether I completely missed that difference from
      utime, or somehow thought all the paths would be full paths.  :-(
      
      In any case, Mutt currently does not expand relative paths in
      mutt_expand_path(), so the paths can most certainly be relative in
      those calls too.
      
      This caused a bug where atimes were not being properly reset for
      mailbox entries.
      222bd804
  17. 07 Jul, 2020 1 commit
    • Kevin J. McCarthy's avatar
      Directly add/remove mailboxes for IMAP. · b48f8e1e
      Kevin J. McCarthy authored
      The LSUB processor along with <subscribe> and <unsubscribe> would
      construct a mailboxes command and send it to the muttrc parser.
      
      Since the poll/label refactor it's much easier to just directly call
      the functions, and is much more secure.  So do that instead.
      b48f8e1e