Commit Graph

7841 Commits

Author SHA1 Message Date
391cc3c556 cld2: fix language-detector
Inverted #if check.
2026-08-20 15:05:30 -07:00
91ad1c4478 cld2: fix HAVE_CLD2 test
It _is_ defined (as 0) when there is no CLD2.
2026-08-20 15:05:30 -07:00
ffa110d08d dir-locals: avoid warnings
Some names changed, making new enough emacs unhappy.
2026-08-20 15:05:30 -07:00
d24347bad6 lib: rename support-ngrams => ngrams-enabled
For consistency.
2026-08-20 15:05:30 -07:00
a347d3ada0 properties: support system-properties
Support "system" properties, i.e., library versions, whether
language-detection, scm is supported.

Make these more generic (with display strings), so we can handle them
more automatic int mu-cmd-info.
2026-08-20 15:05:30 -07:00
f3361b9cee server: small tweaks
Handle a few small issues / typos, make the code a little clearer and
add some comments. Remove some dead code.
2026-08-20 15:05:30 -07:00
da2995a768 mu-sexp: improve corner-cases, performance
Some C++20 updates; use the new ascii/ctype functions. Avoid unlimited
recursion. Speed-up conversion to_string

Update unit-tests.
2026-08-20 15:05:30 -07:00
dfdd943817 utils: html-to-text: fix some issues, update tests
Improve handling of some corner-cases, and add more unit-tests for
things that were broken before.
2026-08-20 15:05:30 -07:00
500bf400c3 mu-query-parser: handle corner case / complexity
Some improvements:

- Fix or/xor chains (use left-associativity).
- Fix quote handling
- Make parsing O(n) rather than quadratic; limit recursion depth

And update tests.
2026-08-20 15:05:30 -07:00
809b9e4f4a utils: read_from_stdin: avoid reading nuls
We should read the actual written size, not the allocated size.
2026-08-20 15:05:30 -07:00
39c8472dba build: bump version to 1.14.3-pre2 2026-08-20 15:05:30 -07:00
7d60d2728a index: generalize pre-fetch paths
We already pre-fetched db file paths for the cleanup-case (since
cdb619e4f), now let's generalize this to all indexing.

For now this is mostly performance-neutral (lazy-rescan is slightly
faster); however, this simplifies the code.
2026-08-20 15:05:30 -07:00
86464cd083 modernization: tweaks for c++20
Update various places for what we can do with C++20:

- ends_with / starts_with
- std::to_array
- using instead of typedef
- designated initializers
- "[[maybe_unused]]" instead of G_GNUC_UNUSED

Also remove some unnecessary 'static'
2026-08-20 15:05:30 -07:00
502c9cd67b lib: use ascii ctype utils
Use the new ascii ctype utils.
2026-08-20 15:05:30 -07:00
f2960a197e utils: add ascii ctype helpers
Add some constexpr ctype helpers that avoid any possible UB (i.e.,
handling casting to unsigned), and explicitly avoid any
locale-specifics.
2026-08-20 15:05:30 -07:00
39b7cf2e9d mu4e: update queue handling ui
Hide queue commands from main-view when smtpmail-queue-dir is nil.
Update docs.
2026-08-20 15:05:30 -07:00
b0d5dc545e bench: update benchmark runner
Modernize code a bit; and use a temporary dir for the working set.
Typically, this makes the tests run faster (since the temporary dir is
often in-memory), which allows focusing on the part we can most easily
influence.
2026-08-20 15:05:30 -07:00
5f385dd6a1 IDEAS.org: update
Fix some typos.

Mention #2936.
2026-08-20 15:05:30 -07:00
36bed1816a thirdparty/fmt: update to 12.2.0
Get a newer version, since newer Apple Clang (v21) in CI is stricter
than the previous v17 and yield compile-errors.

So let's update.
2026-08-20 15:05:30 -07:00
dcc537c545 mu4e-view: tweak html generation
Use the message plist.
2026-08-20 15:05:30 -07:00
1d1c1df4b3 build: bump version to 1.14.3-pre1 2026-08-20 15:05:30 -07:00
e323ec51fb mu4e-view: clear up message massaging
Remove some non-working / rarely useful options. Fix
show-all-mime-part.
x
2026-08-20 15:05:30 -07:00
06b8d3fc5b mu4e-view: improve html support, link-indicators
Use the updated support for HTML messages (even converting plain-text
only). Update the link detection, clean up.

Add links for e-mail addresses too, not just ones that start with
mailto:.

Only show link-indicators when mu4e-view-go-to-url or mu4e-view-save-url
are invoked, or with mu4e-view-always-show-indicator set to non-nil.

Update docs.
2026-08-20 15:05:30 -07:00
94051898a5 mu4e-mime-parts: handle html parts and conversion
Produce HTML-versions of messages, even plain-text ones without an
HTML-part. This allows for uniform handling, e.g. showing a message in
an external browser.

Implement linkification as well.
2026-08-20 15:05:30 -07:00
d321c9cfe1 build: bump version to 1.14.2
New stable version:

- silence some MIME part errors
- some emacs 28.1+ modernization
- list org links with M-x mu4e-org-agenda-links
- when replying to a message with some part selected, cite only that
  part
- fix parsing of the Keywords: headers. If you use those, you're
  recommend to re-index your message
2026-08-20 15:05:30 -07:00
5fd639b5f3 mu: add keywords unit-test 2026-08-20 15:05:30 -07:00
01c07d8bcc Fix mu tag parsing from Keywords header
Split tags in the Keywords field on commas instead of spaces

https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.5

Fixes #2932
2026-08-20 15:05:30 -07:00
2ba741117a build: bump version to 1.14.2-pre1 2026-08-20 15:05:30 -07:00
8e638a639a mu4e: fix byte-compile warnings 2026-08-20 15:05:30 -07:00
2d022f1756 mu4e: cite region in reply
When replying to a message with some part selected / marked, cite only
that part.

Implements ancient feature-request, issue #44.
2026-08-20 15:05:30 -07:00
9b6a277eca mu4e: allow listing org-links
New command mu4e-org-agenda-links to pop up a buffer with a tabulated
list of the mu4e links in your org-agenda-files
x
This is just a little experiment.
2026-08-20 15:05:30 -07:00
8d1919cd36 mu4e: clean up temp file handling
Use a temp file directory per mu4e session

Remove files when a buffer is closed, not after 30 secs
2026-08-20 15:05:30 -07:00
008529696a mu4e: remove emacs < 28.1 shims
We can depend on more functions now, so can get rid of our own versions.
2026-08-20 15:05:30 -07:00
a27398ae39 mu4e-draft: fix friendly-name rx
Corner-case, but it was incorrect.
2026-08-20 15:05:30 -07:00
cbe64d4cae mu4e: emacs 28.1 modernization
We can now use setq-local, length>, string-empty-p, affixations
functions and "choice" defcustoms.
2026-08-20 15:05:30 -07:00
dca5334295 Remove unnecessary eager loads of ido 2026-08-20 15:05:29 -07:00
fee6d28fe8 Remove stray #+end_example
This is seems misplaced and there's no matching #+begin_example.
2026-08-20 15:05:29 -07:00
0067fac944 mu4e-view: create dummy summary buffer
Some Gnus commands depend on the existence of a *Summary* buffer; and in
older versions of mu4e we created it, since mu4e depended on it. It no
longer does, but some gnus command users may want to try, do.

So create the Summary buffer once again.
2026-08-20 15:05:29 -07:00
ba533ef92c mu4e-view: normalize internal name
mu4e~gnus-article-mime-handles => mu4e--view-gnus-article-mime-handles
2026-08-20 15:05:29 -07:00
f9751cedbd mu4e-view: silence unsupported mime-part errors
Silence any error when we cannot get the filename for a handle. Not the
most elegant, but works around it... might help for #2923.
2026-08-20 15:05:29 -07:00
7911cf4ded build: bump version to 1.14.1
New stable version:

- Improvements in documentation
- Improvements in display of attachments / MIME-parts
- Better HTML toggling
- Support MIME icons
- Bug fixes
2026-08-20 15:05:29 -07:00
6444fbd19b README.org: extend example configuration 2026-08-20 15:05:29 -07:00
105a93dd9e mu4e-view: avoid cleaning up too much
In mu4e--view-cleanup-message-text (used for "reply citing") we were
removing all gnus "buttons", however gnus also includes buttons for
addresses, URLs etc., which should stay.

So be a bit let eager and only remove gnus-mm-display-part items.

Issue #2922
2026-08-20 15:05:29 -07:00
c09dfc432c mu4e-search: filter out control chars
Help users fat-fingering queries.
2026-08-20 15:05:29 -07:00
5ce672c585 assets: crop screenshot
Remove the white border.
2026-08-20 15:05:29 -07:00
2c01b9135c mu4e-compose: use text/x-diff default
... in mu4e-compose-reply-include-mime-types, add text/x-diff as well.
2026-08-20 15:05:29 -07:00
9ca3c0d556 README.org: improve mu4e screenshot 2026-08-20 15:05:29 -07:00
26a54ffc1e README.org: add mu4e screenshot 2026-08-20 15:05:29 -07:00
04c02573e1 mu4e-view: improve html/text toggling
Fix the mu4e-view-toggle-html switching, which could re-insert body
parts when an Attachments: header was present.

I.e. specifically toggle the part in the body.
2026-08-20 15:05:29 -07:00
e432d3d626 mu4e-window: don't return dead linked window
It can happen, let it create a new buffer instead.
2026-08-20 15:05:29 -07:00