1

If I fire up an eshell an try to type the following:

ls *

The * char is automatically deleted. By calling C-h k on * I get the expected:

* runs the command self-insert-command

Does anyone know what might be happening?

Emacs 25.0.95.1
Spacemacs 0.105.21
OS X 10.11.6

  • ls * works fine for me in eshell. Try it after starting Emacs without your init file (emacs -Q). – Dan Jul 19 '16 at 12:52
  • emacs -Q works just fine... – dangom Jul 19 '16 at 13:00
  • Then it's something in your init file that is the problem. The standard way forward from here is to bisect it recursively (progressively comment out halves) until you isolate the code that it causing the problem. – Dan Jul 19 '16 at 13:01
  • Here's a package that bisects for you automatically: github.com/Malabarba/elisp-bug-hunter – nanny Jul 19 '16 at 13:55
  • The problem is caused by company-mode. Disabling it solves the problem. I've opened the issue on spacemacs here. – dangom Jul 19 '16 at 14:50
0

To build on the answer from DanielG it is the company-files backend being a little overly aggressive at deleting the * when it has failed to list any files. Try for example:

cd ~
ls .em*

In your eshell session. You'll see company pop-up a completion box for all the files/directories in ~ starting with .em. If you actually want to pass * to the shell then type faster. If you type another character before company start evaluation for completions then the * will stay ;-)

I've raised a bug against company-mode.

  • Not company-files. Eshell handles file completion on its own. – Dmitry Jul 20 '16 at 22:42
  • @Dmitry it's odd because disabling company-files in my completion candidates solved the problem. Maybe it should never have been enabled but I certainly seem to have the company pop-up coming up otherwise. Disabling company-capf also solves the problem so I'm not sure quite what is going on. – stsquad Jul 22 '16 at 14:34
1

The problem is caused by company-mode. Disabling it solves the problem. I've opened the issue on spacemacs here.

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.