I'm using Emacs as a server started by the systemd user unit. And on any dired buffer when i try to do dired-do-shell-command or dired-do-async-shell-command I cannot autocomplete any program and need to write my command "by hand". If I start Emacs not as a server I have the desired behavior and can autocomplete on the minibuffer. To autocomplete I use tab.

I use the unit defined on the package and Emacs version 26.

For example, if I to autocomplete after typing libr, nothing appear. Neither with gre. But both libreoffice and grep are reachable.

When I press tab nothing is inserted, and minibuffer shows No matches.

result of getEnv "PATH" on emacs --server (emacsclient) :


result of `getEnv "PATH" on emacs :


Any idea how I could solve this issue ?

  • 3
    I'm assuming this is a PATH issue. Try evaluating (getenv "PATH") in both contexts. This question might be a duplicate of many PATH questions here.
    – user12563
    Commented Jul 10, 2019 at 15:13
  • Just to be sure, you might like to tell us how you requested completion (presumably by hitting TAB) and give us a specific program you tried and which obviously should be completed (e.g. grep). Also worthwhile would be to specify what happens instead of completion: does TAB do nothing at al, or insert a TAB some whitespace, or ...?
    – Stefan
    Commented Jul 10, 2019 at 18:11


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.