1

Emacs Speaks Statistics をインストールしたところ、このエラーが表示され始めました。アンインストールしても直りませんでした。

Cx Cf を使用すると、通常どおりナビゲートできますが、実際に Enter キーを押すと、Emacs はすべてのパスで "~" の後に "/Application Data/Application Data/" を挿入するようです。

c:/Documents and Settings/admin/My Documents/sig.html

Enterキーを押すと、次のように開きます。

~/Application Data/Application Data/マイドキュメント/sig.html

これを修正するために編集できる変数を教えてください。

4

4 に答える 4

0

Emacs は、最近のリリースでホームのデフォルトの場所を変更しました。新しいデフォルトは、あなたが見ているものです。env varHOMEを明示的に任意の値に設定すると、問題はなくなります。

于 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")

より永続的な解決策として、init ファイルに追加します。

于 2013-06-27T18:16:48.043 に答える
0

HOME変数を確認してください。多分それは指しているc:/Documents and Settings/admin/Application Data

ファイル名を展開する関数は次のとおりです。expand-file-name

于 2010-09-03T10:02:11.227 に答える
0

これは、$HOME に関連する現在の値とキャッシュされた値の間の障害のようです。問題は、ホーム ディレクトリを一致させるために使用されるパターンが、もはや同じではないことです。

ある時点で (setq filename (abbreviate-file-name (expand-file-name filename))) は名前を台無しにします。

abbreviated-home-dir を元の形に戻すために、.emacs、_emacs、.emacs.el、または Application Data.emacs.d\init.el に追加した回避策を次に示します。

忘れないでください: 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 に答える