I have the latest stable versions of Emacs (24.3) and of Zsh (5.0.2).

I can run Zsh without problem from a terminal (e.g. ITerm2), but if I try to run it from M-x ansi-term I get the error:

Emacs ansi-term with zsh: error in process filter. Invalid face: unspecified

This is the case even if I start M-x ansi-term with bash and then I try to switch to zsh.

This is all on Mac OS X. Any thoughts on what may be causing this and how to overcome it?

  • This is probably an error in a configuration file somewhere. unspecified is a valid face attribute but not a valid face, it looks like one has been used for the other. Do you have a .emacs file? Do you have the problem if you run emacs -q? if you run emacs -Q? – Gilles Sep 30 '13 at 20:17

I had exactly the same problem on WSL.

Following the comment by user @Gilles I confirmed that trying with emacs -q did not manifest the problem. After that, I scratched around in the custom-set-variables sexp auto-saved by Emacs and found the offending unspecified in the ansi-term-color-vector.

I simply removed the whole ansi-term-color-vector sexp and restarted Emacs with full config. Now the previously offending apps run fine in the emacs terminal.

 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
   [default bold shadow italic underline bold bold-italic bold])
   [unspecified "#272822" "#f92672" "#a6e22e" "#f4bf75" "#66d9ef" "#ae81ff" "#66d9ef" "#f8f8f2"] t))

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.