Existe um método melhor e mais à prova de futuro para definir o emacs no OS X para excluir arquivos do lixo?
Eu tentei as instruções aqui :
(setq delete-by-moving-to-trash t)
(defun system-move-file-to-trash (file)
"Use \"trash\" to move FILE to the system trash.
When using Homebrew, install it using \"brew install trash\"."
(call-process (executable-find "trash")
nil 0 nil
file))
mas eles não funcionam:
Trashing...
(wrong-type-argument stringp nil)
Além disso, parece errado ter que instalar um programa separado para que o Emacs possa lixeira de arquivos. Além disso, não me lembrarei de instalar o programa "lixo" na próxima vez que fizer uma instalação limpa do OS X.
Atualização: adicionei isso ao meu .emacs e removi a chamada trash
e parece funcionar. Eu me pergunto por que o Emacs no OSX assume como padrão o ~/.local/share/Trash
local do FreeDesktop .
(setq trash-directory "~/.Trash")
osx-trash
embalagem em Melpa github.com/lunaryorn/osx-trash.elRespostas:
É necessário o seguinte:
A função
move-file-to-trash
possui três testes: (1) setrash-directory
está definido; (2) se(fboundp 'system-move-file-to-trash)
; e (3)(t . . .
o catch-all que usa~/.local/share...
O segundo teste sempre falha no OSX 10.6.8 quando construído com a opção padrão de--with-ns
. No momento, não tenho acesso a outras versões do OSX.fonte
Definir a função
system-move-file-to-trash
desta maneira deve ser suficiente:se você não tiver
trash
instalado, o Emacs informará. então, não defina a variável,trash-directory
poistrash
faz isso para você.Sobre o comportamento do lixo do Emacs:
Acho que
(setq trash-directory "~/.Trash")
não está funcionando: o Finder não poderá recuperar esses arquivos, pois (pelo menos) não sabe de onde esses arquivos vêm.fonte
Eu tenho usado o pacote osx-trash . Ele funciona com ou sem o
trash
utilitário de linha de comando e se integra corretamente ao diretório macOS Trash.fonte
trash
utilitário de linha de comando, você pode ouvir o som do lixo. Com otrash
utilitário de linha de comando, é mais rápido.