emacs24.4 – Guardar automáticamente * scratch * en un directorio

Pregunta:

Al escribir ls en mi directorio de inicio, me saludan muchas de estas cosas:

#%2Ascratch%2A#1399_po# #%2Ascratch%2A#14484YsZ# [...]

También tengo lo siguiente en mi init.el

(defvar autosave-location (concat user-emacs-directory "data/autosave"))

(setq auto-save-file-name-transforms
  `((".*" ,autosave-location t)))

¿Por qué, entonces, los autoguardados de scratch no se envían a ~/.emacs.d/data/autosave y, en su lugar, se envían a todo mi sistema de archivos? Idealmente, solo quiero que se guarde en esa carpeta, sin embargo, si eso no se puede hacer, deshabilitar el guardado automático para búferes *scratch* completo sería suficiente.

Creo que esto comenzó con Emacs 24.4.

Respuesta:

Notarás que estás usando una variable llamada auto-save-file-name-transforms . Dado que *scratch* no tiene nombre de archivo, recurre al guardado default-directory .

Para el búfer *scratch* , o cualquier otro búfer como este sin nombre de archivo, puede usar:

(setq-local default-directory "~/.emacs.d/data/autosave")

Editar: Veo que a usted realmente no le importa guardar automáticamente los búferes de scratch. ¿Puedo preguntar cómo habilita el auto-save-mode en su inicio? Deberías usar:

 (setq-default auto-save-default t)

Y no algo como un gancho con (auto-save-mode 1) , porque la variable solo lo habilita para búferes que visitan archivos, mientras que un gancho podría habilitarlo para búferes donde no lo desea.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım