The old code directly hacked around with ido-read-directory to achieve
its smarts. However other completion methods are available so this
re-factors the code to use an appropriately predicated completing-read
with a new history variable which is just used for patch application.
We were transforming wild-card searches into regular-expression
searches; while that works, it's also significantly slower.
So, instead, special-case wildcards, and use the Xapian machinery for
wildcard queries.
Re-use `mu4e-headers-thread-orphan-prefix' for the prefix for the
first sibling in the orphan thread and add
`mu4e-headers-thread-single-orphan-prefix' as the prefix of single orphans.
When we mark a message as read, we get an (:update ... ) with the
marked-as-read message (ie., moved from new/ to cur/).
The (:update ...) however does _not_ include extracted images etc.; so
images in unread message would not be visible at that time. To fix this,
to another (:view ...) and extract the images etc.
Thanks to tangxinfa for pointing this out.
Add a defcustom `mu4e-view-use-gnus`, which, when `t', use Gnus'
article-mode for displaying messages instead of mu4e's built-in mode.
This is experimental, and a view messages do not display
correctly yet (base64-encoded bodies).
html2text is deprecated in the emacs pretest, by unconditionally
importing it mu4e causes a mildly irritating yes/no prompt to appear
during startup.
This change ensures that html2text is not loaded unless the emacs
running is a version that does not have 'shr-insert-document
In the olden days, we stored dates like e.g. 20180131121234, and do a
lexicographical check. With that, we could use e.g. upper-limits
201802312359 for "all dates in Feb 2018", even if Feb doesn't have 31
days.
However, nowadays we use time_t values, and g_date_time_new_local raises
errors for non-existent days; easiest fix is to massage things a bit; so
let's do that.
Fixes issue #1197.
offlineimap will only sync directories that have 'cur', 'tmp', and
'new' sub-directories. Currently, mu4e can end up in a state where the
sent folder only has the 'cur' directory and is therefore not synced.
Upon saving a sent email, emacs' write-file will prompt to create
parent directories if the sent maildir does not already exist. This
results in the following directory structure:
<mu4e-maildir>/<sent>/cur/<email>
Note that the 'tmp' and 'new' directories are missing. This commit
ensures that they are always created.