Occasionally I get error from mu4e error in process sentinel: Database is locked by another process. To solve this issue I usually end up to kill the process in list-process or sometimes pkill emacs in bash. That had been very frustrating so I thought about killing *mu4e-prcess* every time some mu4e command ends up executing. In a lisp I do implement it with advice

(defun my-mu4e-kill (frm &rest args)

(advice-add 'mu4e~proc-send-command :after #'my-mu4e-kill)

Briefly testing I was able to open multiple mu4e instances and look into maildirs and mail. But I came across two issues.

First one is that mu4e does not wait for update process to finish before it exits. Second one is that I no longer are able to open mu4e starting it with command emacsclient -c -e "(mu4e)" from which I get an error:

*ERROR*: Lisp nesting exceeds ‘max-lisp-eval-depth’

while emacs --eval "(mu4e)" works fine!

Why I am getting these errors and is it possible to resolve them in my .emacs?

  • 2
    The running process is a trademark of mu4e and this is exactly the reason why I don't use that library (after having spent a few hours playing with it). There are alternatives such as Wanderlust that do not use a running process 24/7. To alter mu4e to not use a running process 24/7 will undoubtedly bring headaches, such as the one you are experiencing. In my opinion, it is a fundamentally flawed design -- but a lot of people seem to like that library, so each to his own. – lawlist Jan 24 '17 at 14:27
  • @lawlist I actually chose mu4e because it seemed most popular option on the Internet. It is very good when it works. I feel quite optimistic to resolve these issues in a way I have began. – Jānis Erdmanis Jan 24 '17 at 22:06

Your Answer

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

Browse other questions tagged or ask your own question.