Desde ediff-filese ediff-buffersresultar em apply: Searching for program: no such file or directory, differro em máquinas Windows.
Como comparar dois arquivos usando o Emacs em um sistema Windows?
exec-pathvariável.
Desde ediff-filese ediff-buffersresultar em apply: Searching for program: no such file or directory, differro em máquinas Windows.
Como comparar dois arquivos usando o Emacs em um sistema Windows?
exec-pathvariável.
Respostas:
Como @nanny disse nos comentários, a solução está em instalar o Cygwin com diffutils. Aqui está como fazê-lo:
diffutils: A GNU collection of diff utilitiespacote. Este pacote pode ser encontrado na Utilsseção em uma das poucas etapas da instalação do Cygwin.

;
Após isso, você é capaz de chamar ediff-buffers, ediff-filese outros com sucesso. Que se parece com isso:
Apreciar!
Se você possui o git for windows instalado, basta adicionar
C:\Program Files\Git\usr\bin\
para o seu PATH, porque ele já vem com um executável diff e o instala nessa pasta.
Isso pode economizar tempo para as pessoas, então eu responderei aqui. Se você não quiser adicionar o cygwin bindiretório ao seu caminho (ou qualquer uma das outras sugeridas em outras respostas), você pode definir o caminho dos usos programa ediff definindo a variável ediff-diff-program. Por exemplo, você pode configurá-lo para C:\cygwin\bin(ou qualquer que seja o caminho real no seu caso) se estiver usando o cygwin. Levei algum tempo para descobrir qual variável definir. Alguns que NÃO funcionaram foram: ediff-custom-diff-programe diff-command.
Por exemplo:
(setq ediff-diff-program "c:/CYGWIN64/bin/diff.exe")
faz isso.
PATHvariável definida corretamente. Corrija-me se eu estiver errado.
Se você não precisa produzir um diff, mas apenas deseja encontrar as diferenças entre os arquivos, uma maneira de fazer isso é usá-lo M-x compare-windows.
Abra os dois arquivos para que você os veja ao mesmo tempo, mova o ponto para o início nos dois buffers e execute M-x compare-windows. Ele moverá o ponto para o primeiro local em que os arquivos diferem. Isso deve funcionar sem nenhum executável externo.
Se você usar o instalador da linha de comando https://scoop.sh/, poderá obter diffdigitando scoop install diffutilsseu prompt.