2012-07-03 6 views
3

Я пытаюсь установить autosave для использования каталога в ./emacs.d/autosaves. Я ранее использовал две пропущенные строки ниже и в настоящее время пробовал другую функцию, которую я нашел в Интернете. На самом деле все, что я хочу, это автосохранение, которое нельзя сохранить в том же каталоге. Он делает это вАвтоматическое сохранение в Emacs не работает должным образом, если указан каталог

(defvar autosave-dir 
(concat "/home/" (user-login-name) "/.emacs.d/autosaves/")) 
(make-directory autosave-dir t) 
(defun auto-save-file-name-p (filename) 
    (string-match "^#.*#$" (file-name-nondirectory filename))) 
(defun make-auto-save-file-name() 
    (concat autosave-dir 
    (if buffer-file-name 
     (concat "#" (file-name-nondirectory buffer-file-name) "#") 
    (expand-file-name 
    (concat "#%" (buffer-name) "#"))))) 
;; (setq auto-save-file-name-transforms 
;;  `(("#.*#" ,"~/.emacs.d/backups/" t))) 

или я могу установить автосохранение, чтобы поставить # notes.org # в начале и в конце файла, так как в настоящее время имеет формат. # Notes.org.

ответ

3

Речь идет о блокировке файла. Для получения дополнительной информации, прочитайте:

(info "(emacs) Interlocking") 

В принципе никакого способа вокруг него, если не выполнять второстепенные переписывают и скомпилировать свой собственный источник EMACS от того, что я прочитал.

2

Что вам нужно только (при условии, что каталог ссылается autosave-dir существует, что есть):

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

Лично я предпочитаю использовать стандартный TMP каталога для автосохранений:

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

Это то, что я имел, но прокомментировал это или что-то подобное. Он по-прежнему сохраняется в текущем каталоге. Тогда, если я выйду без сохранения, например, он скопирует его в этот каталог, но сначала будет создан в текущем каталоге с. # Перед именем файла. –

+0

Это очень странно - я использовал это довольно долгое время, и это, безусловно, работает на Emacs 24.1. –

+0

Да, он работал нормально, не уверен, что произошло. Думал, что это может быть орг-режим, но он делает это в каждом режиме. Даже если я сброшу его в буфер нуля во время работы, он все еще не работает должным образом. Я не уверен, что происходит. У меня есть emacs 24.1 на одной машине и emacs 23.3 на другой. Он также не работает должным образом. Любые идеи о том, что проверить или почему это может быть сохранено в текущем каталоге. –