Emacs: Alterando o local dos arquivos de salvamento automático

Emacs: Alterando o local dos arquivos de salvamento automático

Atualmente tenho:

(setq backup-directory-alist
      `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))

no meu .emacs, mas isso não parece ter mudado onde os arquivos de salvamento automático são salvos (mudou onde os arquivos de backup são salvos. M-x describe-variablemostra que temporary-file-directoryestá definido como /tmp/, mas quando edito um arquivo chamado testing.mde tenho alterações não salvas, recebo um arquivo chamado .#testing.mdno mesmo diretório. Como posso fazer esse arquivo ir para outro lugar (por exemplo /tmp/)?

Eu não tive sorte comessas sugestões, então qualquer sugestão é bem-vinda!

Se ajudar, estou no GNU Emacs 23.3.1, rodando o Ubuntu.

Responder1

Esses arquivos não são salvamentos automáticos, são arquivos de bloqueio. Experimente- ls -los e você verá que são links simbólicos que apontam para nomes de arquivos falsos que são na verdade o nome de usuário + pid do processo de edição. AFAIK, não há como personalizar isso. (O objetivo é evitar problemas quando dois usuários diferentes editam o mesmo arquivo - se um deles alterar o local do arquivo de bloqueio, eles não saberão sobre as edições um do outro.) Veja tambémessa questão.

(Aliás, usar /tmppara salvar backups não é realmente uma boa ideia, a menos que você tenha certeza de que é o único usuário na máquina.)

Responder2

; auto save path
(defvar autosave-dir (concat "~/auto-save" "/"))
(make-directory autosave-dir t)
(setq auto-save-file-name-transforms
      `(("\\(?:[^/]*/\\)*\\(.*\\)" ,(concat autosave-dir "\\1") t)))

SO: win7 Ver: emacs 23.4

informação relacionada