Abra um buffer Emacs quando um comando tentar abrir um editor no modo shell

Eu gosto de usar o modo shell do Emacs, mas tem algumas deficiências. Uma delas é que não é inteligente o suficiente abrir um novo buffer quando um comando shell tenta invocar um editor. Por exemplo, com a variável de ambienteVISUAL definido comovim Eu recebo o seguintesvn propedit:

$ svn propedit svn:externals . 
"svn-prop.tmp" 2L, 149C[1;1H
~                                                                               [4;1H~                                                                               [5;1H~                                                                               [6;1H~                                                                               [7;1H~            
...

(Pode ser difícil dizer a partir da representação, mas é uma bagunça horrível e feia.)

ComVISUAL definido como"emacs -nw", Eu recebo

$ svn propedit svn:externals .
emacs: Terminal type "dumb" is not powerful enough to run Emacs.
It lacks the ability to position the cursor.
If that is not the actual type of terminal you have,
use the Bourne shell command `TERM=... export TERM' (C-shell:
`setenv TERM ...') to specify the correct type.  It may be necessary
to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.svn: system('emacs -nw svn-prop.tmp') returned 256

(Funciona comVISUAL definido para apenasemacs, mas apenas de dentro de uma janela do Emacs X, não dentro de uma sessão de terminal.)

Existe uma maneira de obter o modo de shell para fazer a coisa certa aqui e abrir um novo buffer em nome do processo de linha de comando?

questionAnswers(6)

yourAnswerToTheQuestion