Recentemente, li Running Shells no Emacs e passo algum tempo para adaptar meu elaborado prompt do Zsh para trabalhar com os recursos limitados de M-x shell
e M-x ansi-term
.
Após esse esforço, agora finalmente posso usar o Zsh no Emacs, no entanto, há um incômodo - ainda que menor - M-x ansi-term
. Eu sempre vejo o texto perdido 4m
antes do prompt.
Como você pode ver, esse fenômeno parece ser independente do tema real do prompt. Também aparece com qualquer um dos prompts internos, mesmo os simples que não usam caracteres de controle sofisticados. Por uma questão de fato, isso acontece mesmo com o prompt padrão, ou seja, se eu iniciar o Zsh sem o meu .zshrc
.
Bem, é realmente apenas um pequeno incômodo, e eu realmente não me importaria se não fosse capaz de me livrar dele - prefiro M-x shell
mesmo assim, onde esse problema não ocorre.
Mas realmente me irrita o fato de não ter conseguido encontrar a causa desse problema, mesmo tendo tentado depurá-lo. Devo dizer, no entanto, que minha compreensão dos terminais é bastante limitada, então talvez eu tenha perdido o óbvio.
Estou no OS X 10.10. Meu Emacs é 25.0.50, construído diretamente do tronco com o Homebrew, e sem bandeiras especiais. O Zsh é 5.0.5, conforme incluído no Yosemite, mas o problema também ocorre com o 5.0.7 instalado via Homebrew.
Alguém pode esclarecer essa questão?
system-user-terminfo
não mudou nada. A mudança $TERM
corrigiu o problema, mas essa não pode ser a solução, pode? Afinal, é uma mentira, essencialmente: ansi-term
não é xterm e definitivamente não suporta 256 cores.
\x1b[37;4m
especifica uma cor branca com 37 e texto sublinhado com 4. Não consigo reproduzir o seu problema. Meu zsh é 5.0.7 e 'echo $ TERM' no ansi-term me dá eterm-color , meu emacs é 24.4.1 . Testei também a versão padrão limpa 'env HOME = ~ / tmp / emacstest emacs -Q' e não vejo nenhum problema.
emacs -Q
nenhuma configuração do Zsh.