Emacs创建名为的自动保存文件##

Emacs创建名为的自动保存文件##,emacs,autosave,backups,Emacs,Autosave,Backups,我已将Emacs配置为将autosaves发送到/tmp目录: (setq backup-directory-alist `((".*" . ,temporary-file-directory))) (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) 但是,在编辑文件Foo时,它不是创建#Foo#,而是创建##-只有两个散列。这会导致每次打开新文件时出现警告“Bar has autosave d

我已将Emacs配置为将autosaves发送到/tmp目录:

(setq backup-directory-alist `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)))
但是,在编辑文件Foo时,它不是创建#Foo#,而是创建##-只有两个散列。这会导致每次打开新文件时出现警告“Bar has autosave data”,因为/tmp/###文件模式显然匹配所有可能的文件名。我假设我将自动保存文件名转换变量设置错误;要创建/tmp/#Foo#autosaves,我应该将其设置为什么?(或者,我还需要改变什么?)

可能相关信息:

  • Emacs 21.4.1
  • RHEL 5.3(提坎加)
  • 我的大多数文件都是由git控制的版本
  • vc make backup files为nil(但将其设置为t不会改变行为)

您可以使用类似于此的配置

我的配置与您的配置类似,并且工作正常。我注意到你的Emacs确实很古老。版本21.4.1甚至不再托管,但看起来21.4是在2005年发布的。(这可能是因为您的操作系统很古老;至少升级到5.10!)是否有可能将Emacs升级到版本24或至少版本23?很遗憾,我无法控制此框上的环境:(事实上,我没有触摸自动保存文件名转换。我使用的是它的默认设置,在Emacs 24.3上是
(“\`/[^/]*:\([^/]*/\\)*\([^/]*/\\)*\([^/]*\\)\”/tmp/\\2“t))
。你更改它有什么原因吗?我想这就是问题所在。因为这是我在网上找到的配方;我在网上读到它,所以它一定是真的……无论如何,注释掉这一行会让autosave文件有合理的#Foo#名称。它们不会放在/tmp目录中,但我可以接受;与备份不同的是,它们不会包含在一起一切都会好起来的。谢谢!如果你使用了
C-hv临时文件目录
,它会显示
/tmp