É evidente que sdiff
tentou executar um programa chamado exatamente emacs -nw
, que não existia. Sua intenção era que sdiff
chamasse emacs
com uma opção -nw
seguida do (s) arquivo (s).
O comportamento é confirmado observando o código-fonte do sdiff , onde sdiff
preenche o editor preferencial --directamente-- em argv [0], que coloca o <space><dash>nw
junto com o emacs
. Você também pode confirmar que sdiff
está funcionando corretamente definindo EDITOR=emacs
e observando que ele abre o emacs.
Se você precisar da opção ao abrir o emacs, minha sugestão seria criar um script de wrapper:
$ cat emacs.sh
#!/bin/sh
vi "$@"
Brincadeira, claro. Você usaria:
$ cat emacs.sh
#!/bin/sh
emacs -nw "$@"
... e, em seguida, defina EDITOR=/path/to/that/emacs.sh