1

我刚刚安装了 Emacs Speaks Statistics,此时此错误开始出现。卸载并没有解决它。

当我使用 Cx Cf 时,我可以正常导航,但是当我实际按下 enter 时,Emacs 似乎在所有路径中的“~”之后插入“/Application Data/Application Data/”,例如,如果我导航到:

c:/Documents and Settings/admin/我的文档/sig.html

然后按回车,我打开:

~/应用程序数据/应用程序数据/我的文档/sig.html

知道我可以编辑哪些变量来解决这个问题吗?

4

4 回答 4

0

这似乎是与 $HOME 相关的当前值和缓存值之间的错误。问题是用于匹配主目录的模式不再相同。

在某些时候 (setq filename (abbreviate-file-name (expand-file-name filename))) 会弄乱名称。

这是我整理并添加到 .emacs、_emacs、.emacs.el 或 Application Data.emacs.d\init.el 以使 abbreviated-home-dir 恢复原状的解决方法:

不要忘记:不要你的 init 文件进行字节编译,否则你可能会不同步。

;;; files.el mistakenly initializes abbreviated-home-dir just once
;;; not realizing that its value should change when HOME is redefined.
;;; Thus abbreviated-home-dir is "^c:/Documents and settings/USER/Application Data\\(/\\|\\'\\)"
;;; when it should, now, be "^c:/Documents and settings/USER\\(/\\|\\'\\)"
;;; Then when you try to open "^c:/Documents and settings/USER/Application Data/"
;;; The name is abbreviated to "~", but expanded back to "c:/Documents and settings/USER/"
;;; losing part of the name ("Application Data/")
;;; 
;;; Rather than explicitly re-initialize abbreviated-home-dir, it should be set to nil
;;; (setq abbreviated-home-dir "$foo") ;; Impossible pattern match.
;;; This causes the filepath to never match, and ~ is never abbreviated.
;;;
;;; We _could_ explicitly initialize it:
;;; (setq abbreviated-home-dir "^c:/Documents and settings/badgerb\\(/\\|\\'\\)")
;;; But this is a bad idea.  It is _highly_ dependent on the workings of files.el, and it
;;; seems better to me to just clear the value and let files.el re-initialize it.
(setq abbreviated-home-dir nil)
于 2010-09-29T21:04:21.697 回答
0

检查您的 HOME 变量。也许它指向c:/Documents and Settings/admin/Application Data

扩展文件名的函数是:expand-file-name

于 2010-09-03T10:02:11.227 回答
0

在最近的版本中,Emacs 更改了 home 的默认位置——新的默认位置就是您所看到的。将 env var 显式设置HOME为您想要的任何内容,一切都会好起来的。

于 2011-10-28T21:43:27.710 回答
0

您可以使用M-x setenv. 例如:

M-x setenv <RET> HOME <RET> c:/Documents and Settings/admin

如果可行,您可以添加

(setenv "HOME" "c:/Documents and Settings/admin")

到您的初始化文件以获得更永久的解决方案。

于 2013-06-27T18:16:48.043 回答