Commit Graph

42 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 6a4d6a49c4 mu4e-compose: split off parts in mu4e-draft; rework
Move draft-creation part of message-composition to a new file
mu4e-drafts

However, this is more than just some refactoring: rework the
message (draft) setup as such to ensure we always get a (non-active,
live) buffer back from the composition process.

This also fixes

(progn
  (compose-mail "test@example.org" "Test")
  (insert "TEST"))

as mentioned on the mailing list.

Fixes #2699
2024-04-26 22:59:48 +03:00
Dirk-Jan C. Binnema 85bfe76336 mu4e-compose: overhaul message composer
This is a new composer sub-system, which more closely follows
Gnus/message; in particular, we let gnus take care of creating draft
messages.

This reduces code size and allows us to re-use some of the more advanced
features.

There are a number of user-visible changes:

- `mu4e-compose-resend' directly uses `message-resend', so there is no
  more editing phase (which used to be a bit broken with re-encoding
  MIME messages.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 967b724e75 build: avoid dynamic dates for reproducibility
We were using dates (in documentation, (c) notices etc) based on the
build-date; that makes it hard to do reproducible builds, so specify a
specific date in the top-level meson file, and use that throughout.
2023-10-14 15:24:00 +03:00
Dirk-Jan C. Binnema 2c4c3d8d7c mu4e/meson.build: more tweaking to avoid warnings 2023-10-07 00:18:56 +03:00
Dirk-Jan C. Binnema 1bc9d6b515 mu4e: get rid of load-prefer-newer t
This triggered what I think is a bug/limitation in emacs; move the
source files to the build dir _after_ byte-compiling so we don't need
load-prefer-newer to avoid build warnings.

Fixes #2565.
2023-10-05 08:44:11 +03:00
Dirk-Jan C. Binnema b01973205d infodir: allow absolute path
Fixes #2548
2023-09-05 08:34:27 +03:00
Lin Jian 842027fadd
mu4e: generate mu4e-autoloads.el
This file can be used by package.el.
2023-08-24 05:41:14 +08:00
Lin Jian 00f7053d51
mu4e: add mu4e-pkg.el
This file provides information needed by package.el.
2023-08-24 05:41:05 +08:00
Lin Jian e94bf408f2
mu4e: remove mu4e-builddir
It is not used.
2023-08-23 08:08:55 +08:00
Dirk-Jan C. Binnema 993f16522a mu4e: split off mime-handling from mu4e-view & improve
Split off the MIME-handling from mu4e-view.el into its own
mu4e-mime-parts.el

Improve the implementation, updating completions with annotations.
Support "Pick all" for completing attachments and MIME-types.

Both attachment/inline disposition MIME-type with a file name are
considered "attachment" now.

Allow MIME-part actions to target multiple MIME-parts.
2023-07-17 21:53:42 +03:00
Dirk-Jan C. Binnema d8817c1b74 mu4e-thread: integrate in mu4e-headers / build 2023-04-23 12:06:59 +03:00
Dirk-Jan C. Binnema e4cf881c91 mu4e: install el copies a read-only
To avoid changing the build/ copies rather than the sources.
2023-02-15 12:29:24 +02:00
Dirk-Jan C. Binnema 08cb28da8c mu4e: implement optional desktop notifications 2023-01-16 11:59:13 +02:00
Dirk-Jan C. Binnema a629caef1a mu4e: avoid byte-compiler warnings 2023-01-13 21:56:15 +02:00
Dirk-Jan C. Binnema 10041eb2e1 mu4e: implement mu4e-query-items
Implement function / datas structure to conveniently aggregate all
query-related data, for reuse in various places in mu4e...

... to start with the main menu, which gets much simpler. And the
modeline.
2023-01-13 21:56:15 +02:00
Dirk-Jan C. Binnema beb2bef8dd mu4e-modeline: refactor modeline support
Move all the modeline code to new mu4e-modeline.el, and update
mu4e-context and mu4e-headers to use it.
2023-01-07 15:40:30 +02:00
Dirk-Jan C. Binnema c2d5ded634 mu4e: rebuild elc if any el changes
Avoid outdated elcs.
2023-01-04 00:19:47 +02:00
Dirk-Jan C. Binnema 675f5a7f93 mu4e: improve elc compilation build-target
--directory comes first
2023-01-03 23:08:49 +02:00
Dirk-Jan C. Binnema b9841942d8 mu4e: build: don't depend on mu4e-obsolete for building 2023-01-02 17:45:39 +02:00
Dirk-Jan C. Binnema b7b97212ce mu4e: move search functionality to mu4e-search
Move out of mu4e-headers; rename variables and callers.
2023-01-01 15:01:08 +02:00
Mickey Petersen 12bad5f810 Ensure mu4e-window is built properly 2022-12-03 17:13:20 +00:00
Dirk-Jan C. Binnema 68753f9e84 mu4e: move all obsolete aliases to mu4e-obsolete
Unclutter the rest of the code a bit.
2022-08-20 14:24:24 +03:00
Dirk-Jan C. Binnema 4fc00ccf32 mu4e: remove obsolete org-mu4e.el
It's been dead for a long time.
2022-08-20 13:46:57 +03:00
Dirk-Jan C. Binnema 8f1d83e4b2 build: add 'lispdir' option
Add lispdir option for installing mu4e in a custom directory, which what
some pre-meson users tended to do with --lispdir.

Passing '-Dlispdir=/tmp/foo/bar' causes the mu4e files to be installed
in /tmp/foo/bar/mu4e.

Should help for issue #2287.
2022-07-02 12:18:51 +03:00
Dirk-Jan C. Binnema 5e3e2cf28e build: use install-info when installing mu4e/guile
So the docs can be found.
2022-07-01 08:31:00 +03:00
Dirk-Jan C. Binnema c1793e0f6b mu4e: generate version.texi in meson build
So docs get the right version
2022-06-29 07:53:27 +03:00
Dirk-Jan C. Binnema cf0f72e4a4 mu4e: use mu4e-config instead of mu4e-meta
All these changes to avoid:

,----
| mu4e/meson.build:92: WARNING: Source item '/home/djcb/Sources/mu/build/mu4e/mu4e-meta.el' cannot be converted to File object, because it is a generated file. This will become a hard error in the future
`----

This is because we want to byte-compile a file we just before generated using
configure_file. This does not seem like a crazy thing, but meson threatens with
breaking the build at some point in the future.

So instead, we decide _not_ to compile this (very boring) file. But, users may
still have an older mu4e-meta.elc lying around, leading to confusion.

So, let's rename that file and we're golden.
2022-05-29 11:10:58 +03:00
PRESFIL 5516422144
meson: Install mu4e/mu4e-about.org
`mu4e` expects this file when activating the [A]bout link in `mu4e-main`
view, but when building the `mu-git` package from the AUR, this file
did not appear in the resulting package.

Now this file is not lost.
2022-03-26 23:00:56 +03:00
Dirk-Jan C. Binnema 3b205dacff meson: remove some warnings and add one 2022-02-26 14:14:27 +02:00
Dirk-Jan C. Binnema f10a7560f7 build: fix some warnings 2022-02-21 23:51:46 +02:00
Yuri D'Elia 86f88299e7 Ignore existing compiled files when byte-compiling
Set load-prefer-newer to avoid loading old byte-compiled files when
rebuilding an existing tree.
2021-11-13 14:35:07 +01:00
Dirk-Jan C. Binnema c63acd14a4 mu4e: meson hack to appease emacs native compilation
It doesn't really support srcdir != builddir, so copy the sources to the
builddir and all are happy.
2021-10-22 08:33:51 +03:00
Dirk-Jan C. Binnema 9b02d56c05 build: build mu4e-{contacts,search}.el(c) too
Fixes: #2119
2021-08-30 18:27:04 +03:00
Dirk-Jan C. Binnema a6514fd683 mu4e-server: rename from mu4e-proc
Rename mu4e-proc.el into mu4e-server.el

Rename mu4e~proc... into mu4e--server...

Update users, too.
2021-08-29 21:40:42 +03:00
Dirk-Jan C. Binnema 6ea39f886c build: update for changed mu4e files 2021-08-29 21:40:42 +03:00
Dirk-Jan C. Binnema d7055b7ed8 mu4e-helpers: split off from mu4e-utils
Create a new mu4e-helpers, which will usurp some of the parts mu4e-utils that do
not depend on other parts of mu4e.
2021-08-29 20:30:29 +03:00
Dirk-Jan C. Binnema 975604d3ee build: make meson the default build system
We still support autotools for now, but it is no longer the default.
2021-08-28 11:25:05 +03:00
Dirk-Jan C. Binnema 0218ed9a68 mu4e/meson.build: ensure builddir is checked first
Used for mu4e-meta.el. Not having this seems to break some users
meson-build.

HT: derek-zhou
2021-04-23 09:56:51 +03:00
Dirk-Jan C. Binnema e6d92d4fef meson: Generate version.texi for guile, mu4e
So we can build from a clean git clone.
2021-03-17 00:16:49 +02:00
Dirk-Jan C. Binnema e2655ba34b mu4e-view: re-enable the gnus/old split
re-enable the gnus/old split (the key was re-implementing
mu4e-view-message-text for gnus)

split helpers into mu4e-view-common

as a bonus 'go to url' now also works with gnus
2021-03-10 20:53:33 +02:00
Dirk-Jan C. Binnema 6af47e3a92 meson: sync with autotools re mu4e/obsolete 2021-03-07 16:42:55 +02:00
Dirk-Jan C. Binnema 7a70942e67 build: experimental support for the meson build system 2021-02-12 00:49:35 +02:00