Usurp more of the utils code than can be re-used without further dependencies in
helpers.
Split off specific parts in their own file.
After the helper/utils changes, update the rest of mu4e to take the changes into
account.
This composes the response before any hook is run which is important
so that, if those hooks modify the message, they are aware that some
MML is present. In particular, this is needed to have the
compatibility with the org-msg package; see
https://github.com/djcb/mu/issues/1956
This syncs the definition of mu4e-icalendar-reply with the one of
gnus-icalendar-reply and, in turn, avoids the compiler warning
“Unused lexical variable `gnus-icalendar-find-if'”.
Make mu4e-view-use-gnus obsolete (it's the default now), and add a
variable mu4e-view-use-old (which must be set before starting mu4e).
Update documentation / mentions.
Load the correct view when starting mu4e, so people can customize
e.g. the keymap.
Add some sanity checking.
When clicking "Accept" event, if the entry is new
it is not added to the Org file, besides having
gnus-icalendar-org-enabled-p set to true.
This modification changes that, so that a new entry
is added or an existing one is modified.
Use "_" as the title of that section so that it is less distracting
when sections are collapsed to get an overview of the library.
Using a separate section is useful because it reduces the risk of
accidentally into the middle of a library.
Placing two semicolons on an otherwise empty line helps to logically
"connect" the surrounding "paragraphs", which in (only) some cases
makes sense.
Previously the three paragraphs of the permission statement were not
connected to each other like this, which is perfectly fine. However
the preceding "This file is not part of GNU Emacs." line was connected
to the first paragraph, which does not make sense considering that the
latter is not connected two the second paragraph, which it relates to
more.
Once those two semicolons are gone, it also makes sense to remove
those from the second line.
* mu4e/mu4e-context.el (mu4e-context-switch): Do it.
* mu4e/mu4e-contrib.el (mu4e-view-mode-hook): Do it.
(mu4e-headers-mode-hook): Do it.
* mu4e/mu4e-icalendar.el (mu4e-icalendar-reply-ical): Do it.
* mu4e/mu4e-utils.el (mu4e~start): Do it.
(mu4e-split-ranges-to-numbers): Do it.
Load org support by default, unless mu4e-org-support is set to nil.
Turn off speedbar support by default (set mu4e-speedbar-support to t to
re-enable it).
Move the non-obsolete org stuff to mu4e-org. Rename some things from
org-mu4e to mu4e-org.
Remove org-old-mu4e.el
Previously both cl-lib.el and cl.el were used, now use only cl-lib.el.
Use lexical-binding where needed instead of requiring cl just for
`lexical-let`.
Replace some add-to-list with cl-pushnew as add-to-list is not
recommended in lisp program and anyway doesn't work properly with
lexical binding.