2012-04-26 1 views
1

Actuellement, je peux rediriger les fichiers de sauvegarde Emacs (ceux qui se terminent par '~' et ceux commençant par '#') vers un emplacement central en utilisant le code ci-dessous (il les renomme aussi bien, en encodant le chemin du fichier nom (par exemple, ~/tmp/emacs_autosaves/#!home!cbalz!.bashrc#).Comment inclure les fichiers/liens symboliques de récupération de données de ''. '' D'Emacs dans "redirect" du répertoire autosave par défaut?

Mais comment préserver la fonctionnalité dans ce code, tout en déplaçant les fichiers Emacs fait que commencer par «# » (ce sont souvent ou toujours des liens symboliques)?

actuel code de travail - doit être modifié ou augmenté pour fonctionner avec des fichiers/liens symboliques commençant par '. #':

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

Répondre

3

Les fichiers de hachage à points sont créés par Emacs en tant que verrou pour éviter la modification simultanée d'un fichier. Malheureusement, la documentation ne mentionne pas la possibilité de changer l'emplacement par défaut de ces fichiers:

Le verrouillage du fichier est vraiment un fichier, un lien symbolique avec un nom spécial, stocké dans le même répertoire que le fichier éditent.

+4

Ce n'est pas vraiment "regrettable" - le mécanisme * doit * être indépendant de l'utilisateur. Toute possibilité de déplacer ces verrous serait contre-productive, à moins que vous ne puissiez garantir que tout le monde utilise la même configuration. – phils

+1

@phils Vous avez bien sûr raison, mais il est regrettable que christopherbalz ne soit pas capable de réaliser ce qu'il veut. – Thomas

+0

Pourquoi ne pas demander à Emacs d'annuler toutes les opérations nécessitant actuellement le verrouillage? – christopherbalz

Questions connexes