Commit Graph

371 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 24e94afe2f server: handle move 'rename' parameter
Fix the confusion between names.
2020-01-24 14:21:25 +02:00
Dirk-Jan C. Binnema ff958907d4 server: improve 'help' output 2020-01-24 14:21:17 +02:00
Dirk-Jan C. Binnema e119ac919b mu: fix clang compilation 2020-01-24 00:21:53 +02:00
Dirk-Jan C. Binnema 2e07fcf591 mu/mu4e: add sorting for 'find'.
Was missing after the parser changes.
2020-01-23 23:09:19 +02:00
Dirk-Jan C. Binnema aba328c930 server: support 'queries' parameter in 'ping'
Calculate the read/all numbers for matches for a list of queries in
:queries. This is used to implement the features where we should those
counts for bookmarks.
2020-01-22 11:42:15 +02:00
Dirk-Jan C. Binnema bb932fa217 mu: don't need a path argument for index
We get it from the store.
2020-01-22 11:42:15 +02:00
Dirk-Jan C. Binnema d2ec85f01c mu4e: use the new command-parser
Update mu4e-proc to use the new mu4e <-> mu protocol
2020-01-22 11:42:15 +02:00
Dirk-Jan C. Binnema c71f683e39 mu: use new command-parser 2020-01-22 11:42:15 +02:00
Dirk-Jan C. Binnema b2014fe93e use g_snprintf instead of snprintf
Seems the latter cannot be found on some platforms; perhaps a
c++/namespace thing?

Use g_snprintf instead.
2020-01-07 23:17:15 +02:00
Dirk-Jan C. Binnema ad63044915 mu: Fix some compiler warnings 2020-01-01 15:56:48 +02:00
Dirk-Jan C. Binnema 80c5e25b08 mu: move mu/mu/tests, lib/tests one level up
Makes it easier to generator code-coverage reports
2020-01-01 15:56:48 +02:00
Dirk-Jan C. Binnema a39668e00b add 'mfind' command, like 'find' with mu4e defaults
Add a command 'mfind' which follows the mu4e defaults, i.e.
--include-related, --skip-dups.
2019-12-28 11:19:12 +02:00
Dirk-Jan C. Binnema 8cef8ac69c Revert "mu: default to include related, skip dups"
Changing the default for 'mu find' turns out to be  a bit too disruptive for people
that use `mu find` for scripting... so let's revert this for now.

This reverts commit f86ed12eb3.
2019-12-28 07:49:22 +02:00
Dirk-Jan C. Binnema 9f93526884 move parser/utils to utils, Mux->Mu
Move the parser utils to utils/ and rename the Mux namespace into Mu.
2019-12-22 15:26:45 +02:00
Dirk-Jan C. Binnema b55e191421 update for lib/utils split
Update sources with the new paths
2019-12-22 15:26:45 +02:00
Dirk-Jan C. Binnema e5337e7658 lib: split out utils to lib/utils 2019-12-22 15:26:45 +02:00
Dirk-Jan C. Binnema f86ed12eb3 mu: default to include related, skip dups
Add optioins --include-dups and --skip-related that are the reverse of
the previous ones. Leave the old options (hidden) for backward
compat (ie., scripts that use those options)
2019-12-10 18:09:03 +02:00
Derek Schrock db2cd81d02 tests: fix cmd test_mu_find_04 stderr output
Fix test_mu_find_04 such that stderr has expected output.
With the mu command after options/expression nothing was printed.
We now have expected nonexistent muhome error.
2019-11-16 22:40:48 -05:00
Jonas Bernoulli f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
Dirk-Jan C. Binnema 22fafa4b1d mu view: report errors
Don't set error to NULL. Fixes #1469.
2019-09-26 23:17:39 +03:00
Dirk-Jan C. Binnema 7b1d798344 mu-server: improve error expressions 2019-09-08 17:21:16 +03:00
Dirk-Jan C. Binnema be4860befe tests: update for lib/mu-store changes 2019-07-30 08:51:04 +03:00
Dirk-Jan C. Binnema afde8811b6 mu-cmd: update for lib/mu-store changes
* some small API updates
 * in with_store, try to rebuild automatically when possible
2019-07-30 08:51:04 +03:00
Dirk-Jan C. Binnema 632f383c38 mu: Default to XDG Base Directory Specification
Instead of using ~/.mu, use the XDG Base Directory Specification, typically:
  ~/.cache/xapian
  ~/.cache/mu.log
  ~/.cache/parts
  ~/.config/bookmarks

Update dependencies, documentation.
2019-07-13 16:00:28 +03:00
Dirk-Jan C. Binnema 125176d397 mu/lib: merge mu-contacts.h => mu-contacts.hh 2019-07-13 13:43:57 +03:00
Dirk-Jan C. Binnema 5440747ba4 mu: require glib >= 2.38; remove g_type_init calls
Minor cleanup.
2019-07-11 23:30:27 +03:00
djcb bd52902290 contacts: update test cases for updated contacts
Remove the old ones, add new ones.
2019-05-11 13:41:03 +03:00
djcb e9a0939f8f update cfind, server for new contacts-cache
Use the new APIs.
2019-05-11 13:41:03 +03:00
djcb 6e8378ddcd mu: update crypto verify test 2019-03-24 11:54:12 +02:00
Piotr Oleskiewicz c7ea01304f
mu-config: put environmental variable in inverted commas 2019-01-28 15:50:47 +00:00
Piotr Oleskiewicz 5faad10451
mu-config: add NO_COLOR environment variable 2019-01-22 17:08:24 +00:00
djcb e4a769ee02 mu: support json output for 'find'
Support output in json format for mu-find.
2018-11-11 12:47:47 +02:00
djcb 93bd1b8ce7 mu: add soft dependency on json-glib
If it's available it will be used.
2018-11-11 12:12:36 +02:00
djcb 164b9e99dd mu: fix tests Makefile.am 2018-11-05 18:39:22 +02:00
djcb f333c6046d Fix leak in mu_config_show_help
valgrind to the rescue!
2018-11-04 12:31:32 +02:00
djcb 052a228be7 add optional support for building with asan 2018-11-04 12:31:32 +02:00
djcb 16fa5d9a22 server: maybe mark updates with :maybe-view
Don't updates messages when it's not needed, but don't use :view, since
it confuses mu4e's handlers.
2018-08-18 11:40:16 +03:00
djcb aa70bf1920 Merge branch 'pr-1111'
Fix a bunch of conflicts, tests.
2018-08-18 10:29:40 +03:00
djcb c5a17a9699 mu: make attachment size tests a bit more lenient (for gmime-3.0)
Or we won't pass. Not sure what exactly explains the 2-byte diff.
2018-08-18 10:05:31 +03:00
djcb 82e7d7c65d mu: better handle updating mail being viewed
instead of the the 'noupdate', add 'noview', so the headers still get
update but we don't render unread mail twice.
2018-08-14 21:59:41 +03:00
djcb 93c6ff1f85 mu: protect against overly long keys
We got some errors when some of the key values exceeded the Xapian
maximum; in particular the message-id.

So make all the key-methods check, and truncate the message-id if
necessary.
2018-08-14 21:57:33 +03:00
djcb a4398ac93d mu4e/mu: optimize mark-as-read
Since cd649efb6b, opening an unread message first does a proc-move,
then proc-view.

Reason is that while we get the (:update ... ) from the move, that only
contains a skeleton message; we need the full view get images etc. This
means that we render the message _twice_.

Here we change add a flag for move to _not_ send the (:update ..), so
only the (:view ...) will trigger rendering of the message.
2018-08-12 14:00:59 +03:00
djcb 99df588d41 update compiler warnings, fix them
Update the compiler warnings, and fix all the ones outside the guile/.
2018-06-11 10:49:07 +03:00
djcb 2d954e9647 mu: fix strncpy usage
Ensure the resulting strings are \0-terminated.
2018-06-11 09:18:27 +03:00
djcb c410ebfc45 mu: update copyright year in --version 2018-04-28 09:33:46 +03:00
djcb 7a62758afa mu: handle funny msgids
Query msgids without trying to parse them. Also, clean up some code.
2017-12-03 22:17:30 +02:00
djcb 363075a6fd doc: tickle
Don't error out when asked for tickle docs.
2017-10-30 21:15:47 +02:00
djcb 4ee8c5e1d6 mu4e: work around quoting issues
Use base-64 for now.
2017-10-28 18:23:08 +03:00
djcb 2d966ee2ad tests: remove obsolete tests 2017-10-25 23:50:17 +03:00
djcb aa07c4a27c update commands for new query parser 2017-10-25 23:50:17 +03:00
djcb 4014e3d210 mu: cosmetics 2017-07-02 10:46:08 +03:00
djcb 855a8a5c5e mu: properly escape include file-names (forward)
We weren't properly escaping filenames when returning them for
forwarding. Let's do so now.
2017-04-09 11:31:39 +03:00
djcb 786e7c3d1f mu: add 'tickle' command, for renaming messages
The new command 'tickle' renames message files in place, which can be
useful for 3rd-party tools.
2017-01-14 13:09:17 +02:00
djcb f91969e0b7 mu: refactor add/remove commands
Most of their code is shared, so let's combine them.
2017-01-14 12:32:20 +02:00
djcb b6a1674522 mu: make 'mu' shortcut for 'mu help' 2016-12-27 17:45:19 +02:00
djcb 30dab7c312 cfind: uniquify nicks
Ensure uniqueness of nicks by adding a numerical suffix when the root
nicks are not unique (up to 1000).

Fixes issue #987.
2016-12-27 16:21:10 +02:00
djcb 78275278cf mu: fix some compiler warnings 2016-12-11 18:33:31 +02:00
Stig Brautaset e9c6568a57 mu: swap begin and end if begin is _numerically_ bigger than end
The old behaviour would compare the strings, so would swap the start and end
ranges if start was 3K and end was 2M.

Fixes: 964
2016-12-03 23:19:27 +00:00
djcb 632ae465f4 mu: unbreak travis tests
disable test that seems to fail on travis sometimes, recently; hard to
investigate what goes on there; no changes in the mu code related to
this.
2016-11-05 13:35:26 +02:00
djcb 7526f118ba mu: some cosmetics / minor cleanup 2016-10-26 22:36:40 +03:00
djcb 6a421f4d85 mu: fix C-d handler for mu server 2016-08-27 18:58:31 +03:00
djcb c9f8ac5beb crypto: prefer gpg2
Can't say I fully understand what's going on, but it seems gpg-before-2
has some trouble with its agent, at least when using
gnome-session (which stopped using gnome-keyring as a gpg-agent since
Fedora 23 at least).

Sanity seems to be restored when preferring gpg2 instead. "gpg" is used
when gpg2 isn't there; and there's the MU_GPG_PATH env variable to
override all of that.
2016-07-24 16:00:04 +03:00
djcb eb7888cdb1 mu4e: support mu indexing performance options
Add two variables mu4e-index-cleanup and mu4e-index-lazy-check, which
correspond to mu index option --lazy-check and --nocleanup.

Extend the mu server protocol a bit to handle this.

The defaults keep things behaving as they done before.
2016-07-23 21:33:10 +03:00
djcb 9477071e63 mu: add '--lazy-check' option for indexing
Add an option --lazy-check to ignore any directories that don't have
their ctime changed since the last indexing operation.

There are a few corner-cases (such as editing a message outside mu's
control) where this might miss a change, but apart from that, makes
indexing in for a maildir (and its sub-maildirs) almost a no-op if there
were no changes.
2016-07-23 21:33:10 +03:00
djcb 54b6230adf tests: fix unit tests
Some tests weren't yet update for the new test message.
2016-05-16 13:38:10 +03:00
djcb a81270583f Add unit-test for multi-to/cc recipients
To check for the report in Issue #826.
2016-05-15 16:21:20 +03:00
djcb cf9970ccd4 mu: server: add compose-type 'resend'
Add a type 'resend', for resending existing messages.
2016-02-16 08:28:59 +02:00
Maximilian Matthé 784d8c8cfe mu: smaller string chunkss for server on Cygwin
Add check for CYGWIN and in this case only print out 64K-sized
string-chunks from mu server.

Fixes issue #764.

fixup
2016-01-15 21:07:35 +02:00
djcb 02620af4c2 mu/mu4e: improve in contacts completion
mu: cleanup server side; make sure not to loose 'personal' flag when
    seeing same contact in non-personal context
mu4e: tweak the sorting algorithm a bit to take the personal flag into
    account
2015-12-30 15:33:27 +02:00
Ævar Arnfjörð Bjarmason 049e182e0c Correctly spell the word "quitting" in the protocol & documentation 2015-12-09 22:40:52 +01:00
djcb 26955ebe78 mu4e: remove duplicated line 2015-11-02 09:05:42 +02:00
djcb 1c98835815 Guile: don't insist on Gnuplot (Fixes #664)
Many of the scripts require Gnuplot, but some don't, so don't add a hard
requirement for it.
2015-09-20 11:49:22 +03:00
djcb 2d75b3d3ec mu: improve mu verify output, update man page 2015-06-14 11:40:07 +03:00
djcb 7eb244b3b0 mu: don't use __FUNCTION__, use __func__
__FUNCTION__ is deprecated and gives compilation warnings. __func__ is
standardized in c99.
2015-04-22 21:06:31 +03:00
Danie Roux f996d92daa Add a test case for https://github.com/djcb/mu/issues/380
--include-related fails on some platforms (OSX 10.9 and 10.10) due to a
compilation error.

This test case catches it.
2015-02-22 21:27:13 +02:00
djcb b644de548b mu4e: update copyright year 2015-01-25 23:55:23 +02:00
Sasha Kovar 17dbee957a mu-cmd-server.c: quote msgid in query 2015-01-08 12:45:02 -08:00
Foivos S. Zakkak 925bc6a15c Fix forwarding of gpg encrypted mails (#186) 2014-10-15 03:12:29 +03:00
Foivos S. Zakkak c5fd36a67f Fix replying to gpg encrypted mails (#186) 2014-10-15 02:42:57 +03:00
djcb 182974bbc7 mu-cmd-server: fix compilating warning (BSD_SOURCE)
Fedora-21's gcc started complaining about this
2014-10-11 14:03:31 +03:00
Foivos S. Zakkak 51037be7fb Fix #186 Part 3
This patch fixes the attachment extraction (open, save, temp) when using
`mu4e`.  `mu4e` used to not notify the mu-server about the
mu4e-decryption-policy.  As a result mu-server did not decrypt the
attachments for extract, open, or temp.
2014-10-10 18:34:57 +03:00
Foivos S. Zakkak 91250b0d71 Fix #186 part 2
This patch fixes the attachment listing when using `mu`.  For some
reason the '--decrypt' option among others where totally ignored when
listing the attachments.
2014-10-10 18:32:53 +03:00
Jakub Sitnicki 856a651d38 tests: threads: Test if grandchild message promotes only its subthread 2014-07-15 07:24:47 +02:00
Jakub Sitnicki cbfe28b885 tests: threads: Test if grandchild message promotes its thread 2014-07-15 07:24:21 +02:00
Jakub Sitnicki b0357a2d7a tests: threads: Test if child message doesn't promote its thread 2014-07-15 07:23:53 +02:00
Jakub Sitnicki f49296759e tests: threads: Test if orphan message promotes its thread 2014-07-15 07:23:27 +02:00
Jakub Sitnicki c5d4f7f338 tests: threads: Test if 2nd child message promotes its subthread 2014-07-15 07:22:53 +02:00
Jakub Sitnicki 22927a7dcf tests: threads: Test if 1st child message promotes its thread 2014-07-15 07:22:11 +02:00
Jakub Sitnicki 80a484dc3f tests: threads: Extract helper for checking thread info for each message 2014-07-15 07:19:25 +02:00
Jakub Sitnicki 4c4b9af762 tests: threads: Extract helpers for initializing and comparing thread info 2014-07-07 06:22:31 +02:00
Jakub Sitnicki b7efa1e3e3 tests: threads: Use struct tinfo in all tests 2014-07-07 06:22:04 +02:00
djcb d3122a8927 * mu: shell-quote rather than escape with --exec 2014-05-14 22:57:57 -07:00
djcb 5ef90a3432 * fix unit test after thread-sorting change (fixes #413) 2014-04-27 11:23:45 +03:00
djcb 3f6b3df477 * revert "removed 'nocolor' option. Added 'color' option that takes (auto|never|always) instead."
(broke unit tests)

This reverts commit a4c07c9b90.

Conflicts:
	mu/mu-config.c
2014-02-15 12:09:07 +02:00
djcb 60e863b562 * mu: fix compilation warning 2014-02-15 11:49:57 +02:00
Ahmet Emre Çepoğlu 9eeec08200 color var removed entirely 2014-01-31 10:39:51 +02:00
ahmet emre 321bf49460 'color' variable no longer used. Default color value is 'always'. 2014-01-30 19:05:59 +02:00
Ahmet Emre Çepoğlu a4c07c9b90 removed 'nocolor' option. Added 'color' option that takes (auto|never|always) instead. 2014-01-23 18:26:05 +02:00
djcb 91f9892814 * mu: fix boolean params 2013-12-29 17:39:04 +02:00
djcb 391222b0ae * mu: fix some leaks in commandline params 2013-12-29 17:37:07 +02:00
djcb 0de40a2f93 * minor change
(try to workaround
      https://code.google.com/p/mu0/issues/detail?id=79,
   though I can't reproduce it at all)
2013-12-21 10:24:15 -08:00
djcb c48d290699 * minor update 2013-12-21 10:01:04 -08:00
djcb e0e0c0c3ac * mu-cmd-server: set default to 500 results (thanks to Frank Terbeck) 2013-12-01 20:40:06 +02:00
djcb 9ddb7510b9 * mu: initialize randomness in mu-cmd-server 2013-10-20 16:57:00 +03:00
djcb c36030a086 * handle message-ids a bit specially, update unit tests 2013-10-13 20:05:29 +03:00
djcb 59c74e0f34 * mu-config: fix typo 2013-10-07 23:15:00 +03:00
djcb 631e9c20f8 * mu: fix some problems with the option parser (so e.g. --version works again) 2013-09-28 11:20:22 -07:00
djcb 0aa1cd573d * mu: small fix for compiler warning 2013-09-28 11:00:38 -07:00
Titus von der Malsburg 3dfcb8ec3e Handle maxnum=0 the same way as in mu server. 2013-09-27 19:56:20 +02:00
Titus von der Malsburg 86e6c6c693 Added maxnum argument to mu find. 2013-09-27 16:11:04 +02:00
djcb 8da4ff383a * mu-find: add the summary-len option 2013-08-24 11:20:26 +03:00
djcb 885554757a * mu: some improvement in script handling 2013-07-23 22:23:27 +03:00
djcb b7324d5af6 * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
djcb 7fe37334b5 * cosmetics 2013-06-24 22:44:36 +03:00
djcb bfe74d1d11 * mu: add the backend for freq information for contacts 2013-06-16 23:02:19 +03:00
djcb 05bfd23e4d * guile: make running guile scripts a bit more convenient, document it
For example, you can now run a script like:

      $ mu msgs-per-month --textonly --query=hello
2013-06-09 12:11:01 +03:00
joost 2b3b0d0397 wrong comment, probably copied from add code. params[0] is remove of course 2013-06-05 13:27:13 +02:00
djcb e7c63cee47 * update some unit tests 2013-05-30 06:15:22 -07:00
djcb e97ec2d51c * fix matching backslashes, add some tests 2013-05-27 05:49:43 -07:00
djcb c50c0695e4 * fix CSV quoting (fields with commas) 2013-05-27 04:23:49 -07:00
djcb f4d3eb2d7a * mu-cmd-server: add support for moving without renaming 2013-05-27 03:44:46 -07:00
djcb 0cb5f9145e * mu-cmd-server: don't raise errors on empty lines 2013-05-22 00:06:51 +03:00
djcb 2f5d6e246b * mu: update the server command and (use 'cmd:' for commands) 2013-05-20 05:11:49 +03:00
djcb 00d0cb0f28 * the query parser update (few commits back) fixes #210 too, this is unit test for it. 2013-05-15 00:17:36 +03:00
djcb 4174ac7ed2 * fix a few compiler warnings 2013-05-13 22:30:27 +03:00
djcb 96488f8633 * update unit tests 2013-05-13 00:04:07 +03:00
djcb 5d069e786f * lib: updates for mu-msg-field / mu-str updates 2013-05-13 00:03:47 +03:00
djcb dcc3f5752f * cosmetic 2013-05-05 12:18:25 +03:00
djcb 71cbd27ef3 * mu: improve cfind help text 2013-05-05 12:18:08 +03:00
djcb 7d48ed53a7 * mu: (re)add special handling for '$' (fixes #193) 2013-04-28 21:54:25 +03:00
djcb 094979ab68 * fix some confusion between --reindex and --rebuild (remove the former) 2013-04-21 23:10:40 +03:00
djcb 4aa9a055aa * mu: allow for displaying tags in mu-find output 2013-04-18 20:30:47 +03:00
djcb d9c6d87417 * mu: update docs 2013-04-17 00:09:21 +03:00
djcb a5001acff0 * mu: more 'fixing'/'massaging' of queries 2013-04-17 00:09:08 +03:00
djcb 9489370eb9 * mu: mu-config: fix small leak 2013-04-17 00:07:53 +03:00
djcb 1f24e224a9 * more more copyright year updates 2013-03-30 11:38:01 +02:00
djcb 855e81db99 * update copyright years 2013-03-30 11:32:07 +02:00
djcb 6c464473d9 * guile: cmd-script: advertize --verbose 2013-03-30 11:09:22 +02:00
djcb 811712e1ef * mu-script: use <muhome>/scripts for user-scripts, not <muhome>/scripts/stats 2013-03-19 20:03:21 +02:00
djcb ceeba6e18e * fix typo 2013-03-16 20:07:42 +02:00
djcb 977fba543b * mu: give a bit more info when there's no mu script (guile) support; fixes #156 2013-03-16 18:49:07 +02:00
djcb 342195a248 * mu: fix pre-condition warning when getting related messages without threads 2013-03-16 18:25:19 +02:00
djcb 332554c2b0 * mu: update unit test (after more eager address matching) 2013-02-12 00:00:40 +02:00
djcb f5f8d6de70 * mu_store_needs_upgrade --> mu_store_versions_match 2013-01-06 15:53:42 +02:00
djcb cfda1932bc * test-mu-threads: fix unit test (explicitly ask for thread info) 2012-12-27 15:59:38 +02:00
djcb afc1258c10 * updates for MU_QUERY_FLAG_THREADS in mu_query_run users 2012-12-27 11:09:37 +02:00
djcb c23eee7b4c * fix compiler warning 2012-12-26 09:41:40 +02:00
djcb ba6955be21 * small updates for mu_query API changes 2012-12-25 17:34:57 +02:00
djcb 58f5e39d34 * add support for finding related messages to mu-find, mu4e, this does *not*
include the actual implementation though
2012-12-25 11:58:32 +02:00
djcb c47edd89fd * mu-config.c: show errors in option parsing 2012-12-24 11:13:44 +02:00