¿Existe un método mejor y más a prueba de futuro para configurar emacs en OS X para eliminar archivos a la papelera?
Intenté las instrucciones aquí :
(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))
pero no funcionan:
Trashing...
(wrong-type-argument stringp nil)
Además, se siente mal tener que instalar un programa separado para que Emacs pueda eliminar los archivos. Además, no recordaré instalar el programa "basura" la próxima vez que realice una instalación limpia de OS X.
Actualización: agregué esto a mis .emacs y eliminé la llamada trash
y parece que funciona. Me pregunto por qué Emacs en OSX usa de manera predeterminada la ~/.local/share/Trash
ubicación de FreeDesktop .
(setq trash-directory "~/.Trash")
osx-trash
paquete en MELPA github.com/lunaryorn/osx-trash.elRespuestas:
Se requiere lo siguiente:
La función
move-file-to-trash
tiene tres pruebas: (1) sitrash-directory
está definida; (2) si(fboundp 'system-move-file-to-trash)
; y, (3)(t . . .
el conjunto que usa~/.local/share...
La segunda prueba siempre falla en OSX 10.6.8 cuando se construye con la opción estándar de--with-ns
. Por el momento no tengo acceso a otras versiones de OSX.fuente
Definir la función
system-move-file-to-trash
de esta manera debería ser suficiente:Si no lo ha
trash
instalado, Emacs le dirá. entonces, no establezca la variabletrash-directory
yatrash
que lo hace por usted.Sobre el comportamiento de basura de Emacs:
Supongo
(setq trash-directory "~/.Trash")
que no funciona: Finder no podrá recuperar estos archivos ya que (al menos) no sabe de dónde provienen estos archivos.fuente
He estado usando el paquete osx-trash . Funciona con o sin la
trash
utilidad de línea de comandos, y se integra correctamente con el directorio de la Papelera de macOS.fuente
trash
utilidad de línea de comandos puede escuchar el sonido de la papelera. Con latrash
utilidad de línea de comandos es más rápido.