Nie można zabić emacsa za pomocą M-x kill-emacs

1

Próbuję zamknąć emacsa za pomocą M-x kill-emacs ale dostaję tę wiadomość: Buffer cache/ido.last modified; kill anyway (y or n). Kiedy wybieram y dostaję /Users/a/.emacs.d/cache/: no such directory.

To mnie powstrzymuje M-x eval-buffer zainstalować pakiety z marmoladą. Jak mogę to naprawić?


EDYTOWAĆ

Stworzyłem /cache/ katalog w /.emacs.d i zmienił swoje uprawnienia na 777 i udało mi się zabić emacsa. Czy możesz sprawdzić te uprawnienia i dać mi znać, jeśli muszę wprowadzić zmiany?

as-MacBook-Air:.emacs.d a$ ls -la
total 24
drwx------  11 a  staff   374 Dec 18 12:20 .
drwxr-xr-x+ 34 a  staff  1156 Dec 18 12:20 ..
-rw-r--r--   1 a  staff   195 Dec 18 12:20 .smex-items
drwx------   3 a  staff   102 Dec 12 21:04 auto-save-list
drwxr-xr-x  21 a  staff   714 Dec 18 12:20 backups
drwxrwxrwx   2 a  admin    68 Dec 18 12:08 cache
drwxr-xr-x  23 a  staff   782 Dec 18 08:51 elpa
drwx------   4 a  staff   136 Dec 18 08:23 eshell
-rw-r--r--   1 a  staff   195 Dec 18 12:20 places
-rw-r--r--   1 a  staff  1505 Dec 18 12:20 tramp
drwxr-xr-x   4 a  staff   136 Dec 18 09:19 url
Zeynel
źródło
1
Utwórz katalog ręcznie. Możesz również wyszukać zmienną, w której ustawiony jest ten katalog (np. ido-save-directory-list-file ) i zmień lokalizację, jeśli wolisz. Lub wyłącz zapisywanie ido.
lawlist
1
Oto przykład zmiany lokalizacji: (setq ido-save-directory-list-file "~/.emacs.d/ido.last")
lawlist
Skomentowałem ;; ido-save-directory-list-file "~/.emacs.d/ido.last" ale wciąż otrzymuję ten sam błąd „brak takiego katalogu” i emacs nie kończy pracy. Czy w twoim drugim komentarzu wklejam (setq ido-save-directory-list-file "~ / .emacs.d / ido.last") w .emacs?
Zeynel
1
Dzięki, proszę zobaczyć moje zmiany w pytaniu. Stworzyłem katalog / cache i zmieniłem jego uprawnienia i zadziałało.
Zeynel
1
Dokonałeś dobrego wyboru. Spędziłem kilka minut na szukaniu ido.el zanim opublikowałem moje komentarze, ale nie mogłem łatwo zlokalizować kodu, w którym znajduje się katalog cache jest specyficzne. Jeśli jesteś zainteresowany i masz trochę wolnego czasu, byłoby to miejsce, aby szukać dalszych konfiguracji cache informator. Mogą istnieć inne pliki, które będą przechowywane w tym katalogu, więc przy modyfikacji tej lokalizacji należy zachować ostrożność. Jest wiele słów cache wewnątrz ido.el , więc wyszukiwanie może zająć trochę czasu, jeśli jesteś zainteresowany. Ponieważ działa teraz, możesz nazwać to opakowaniem.
lawlist

Odpowiedzi:

0

Użyj tego kodu, aby obejść problem ido uniemożliwienia zamykania emacsa, gdy plik „ido.last” nie jest zapisywalny:

(defun ido-kill-emacs-hook () (ignore-errors (ido-save-history)))
zvx
źródło