I upgraded mu from 1.2.0_1 to 1.4.1 and it does not seem backwards compatible. I immediately got a problem of mu server process ended with exit code 127 error in process sentinel:, which I solved from this issue with:

mu init
mu find hello
mu index

I can now read emails and have two problems in the mu4e setup, even after restarting the system. When I compose an email, I get:

error in process filter: concat: Symbol’s value as variable is void: mu4e-compose-auto-include-date
error in process filter: Symbol’s value as variable is void: mu4e-compose-auto-include-date

and when delayed sending timer runs (mu4e-send-delay), I get:

Error running timer ‘mu4e-send-delay-send-queue’: (void-variable mu4e-maildir)

How can I fix these errors in the upgrade from 1.2.1 to 1.4?

  • Maybe remove mu4e-compose-auto-include-date from your configuration. There's a note on mu4e-maildir here.
    – jagrg
    Apr 29 '20 at 15:06
  • The developer(s) of the Lisp version of mu4e refuse to permit a Lisp version to be different than the executable version -- this is done purposefully to reduce bug reports to the Lisp version maintainer(s). Therefore, ensure your Lisp version matches exactly with the the executable version. See github.com/djcb/mu/issues/1298
    – lawlist
    Apr 29 '20 at 23:52
  • @lawlist I checked the link. I believe my versions are in sync: mu --version shows mu (mail indexer/searcher) version 1.4.1, and the Emacs variable mu4e-mu-version is mu4e-mu-version is a variable defined in ‘mu4e-meta.el’. Its value is "1.4.1". Apr 30 '20 at 14:25
  • @jagrg I did a grep search for mu4e-compose-auto-include-date in my configuration directory and got no matches. I checked the link: mu init was already showing my maildir at ~/Maildir. I ran mu init --my-address to fill that one. The error upon composing an email remains the same. Apr 30 '20 at 14:36

I think your problem is more with mu4e-send-delay than with mu4e itself. Can you confirm which version of mu4e-send-delay you are using? That one? I'm asking because I found out several different versions, but the canonical seems to be the one I linked.

This plugin seems abandoned by its creator (no update since 3 years). But maybe he will answer if you open an issue there.

In the meantime, another solution, instead of changing yourself the code of mu4e-send-delay, may be to artificially recreate the missing variable in your Emacs config file:

(defvar mu4e-compose-auto-include-date t
  "Recreate an old mu4e var needed by `mu4e-send-delay'.")

For the other error regarding mu4e-maildir, it's exactly the same: this is an old variable removed from mu4e, but still (as there'd been no update) present in mu4e-send-delay. Thus same cure for it:

(defvar mu4e-maildir "Path to your maildir"
  "Recreate an old mu4e var needed by `mu4e-send-delay'.")

However, I think it's a bad idea to use this plugin as it is no more compatible with mu4e. It may need a major refactoring to work with last version of mu4e. Thus either you should consider leaving it, or downgrading mu/mu4e if you absolutely need it.

  • Yes, the problem was in mu4e-send-delay, I have removed it, and it all works now. I was using version 20170610.0636. May 2 '20 at 18:01

The error is perhaps in the definition of mu4e-send-delay-setup.

You have to comment the following line

   (when mu4e-compose-auto-include-date

and also delete a ")" at the end of definition of the function.

You should obtain

(mu4e~draft-header mu4e-send-delay-header mu4e-send-delay-default-delay))))

Restart Emacs and it should be ok.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.