Похоже, что это сбой между текущими и кэшированными значениями, связанными с $ HOME.
Проблема в том, что шаблон используется для соответствия домашнему каталогу
больше не то же самое.
В какой-то момент
(установить имя файла
(Файл-имя-сокращайте
(развернуть имя файла имя файла)))
портит имя.
Вот обходной путь, который я создал и добавил в .emacs, _emacs, .emacs.el или
Приложение Data.emacs.d \ init.el
чтобы вернуть сокращенный home-dir в форму:
Не забывайте: не не байт-компилируйте файл инициализации, иначе вы не синхронизированы.
;;; 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)