10
votes

Emacs ne fermera pas à cause de la mémoire tampon "ido.last"

Quand j'essaie de fermer Emacs, je reçois le message

"tampon ido.last modifié; tuer quand même?"

Et quoi que je réponde, Emacs reste ouvert. Mais je ne peux pas ouvrir ce tampon et le fichier ido.last n'existe pas. Comment puis-je obtenir mes emacs fermés?


1 commentaires

Cela pourrait être pertinent: Old.nhable .com / ...


4 Réponses :


4
votes

IDO essaie d'enregistrer un fichier appelé ido.last dans ~ / .emacs.d . Mais, dans votre cas, l'IDO semble être incapable de le faire. Peut-être que votre annuaire ~ / .emacs.d est en lecture seule pour une raison particulière ou votre disque est plein, etc. SO IDO soulevez une erreur qui empêche votre EMACS de fermer.

Si vous N'utilisez pas d'IDO, essayez de supprimer ce type de lignes de votre .emacs: xxx


1 commentaires

Merci de votre aide. J'ai cherché ces lignes et sous eux j'ai trouvé la ligne << IDO-Sauvegarder-répertoire-liste-file "~ / .emacs.d / cache / ido.last" >> sans avoir d'indice réel, je pense que cela signifie que cela signifie que Ido.Last doit être enregistré dans ce répertoire "cache", qui n'existe pas. J'ai supprimé le "/ cache" et le problème n'est pas apparu depuis lors :)



5
votes

Si vous avez utilisé EMACS comme un autre utilisateur, en tant que root, il est possible que le fichier .ido.last appartiennent à la racine et que vous n'êtes donc pas autorisé à le supprimer ou à l'enregistrer.

Lorsque vous obtenez le "tampon .ido.last modifié" -QueStion, supprimez simplement le fichier .ido.last avant de répondre oui (si vous utilisez EMACSS dans une coquille, juste CZ, supprimez le fichier, puis reprenez avec% ). Ensuite, le fichier .ido.last sera écrit sur un disque avec vous en tant que propriétaire.


1 commentaires

Dans mon casting, il y avait un fichier ~ / .ido.last appartenant à la racine. Supprimer cela fixant le problème de manière permanente.



0
votes

Comme Jérôme Radix dit, IDO donne cette erreur lorsqu'il est impossible d'enregistrer le fichier ido.last et que l'erreur empêche les EMACS de la fermeture.

L'emplacement par défaut pour IDO Pour enregistrer le fichier est dans le répertoire ~ / .emacs.d , mais cela peut être remplacé par la définition de la variable IDO-SAVE-Directory-liste-fichier . Cela signifie que vous devriez vérifier la valeur de cette variable (par exemple, mx décrivant-variable-variable ) pour voir où IDO tente d'enregistrer un fichier et de déterminer pourquoi il ne peut pas enregistrer le fichier.

Des raisons possibles incluent:

  1. Le répertoire ou le fichier est en lecture seule.
  2. Le répertoire n'existe pas. IDO ne créera pas le répertoire pour vous.
  3. Le répertoire ou le fichier appartient à un autre utilisateur.
  4. Le disque est plein.

1 commentaires

Malheureusement, ce problème existe toujours, avec d'autres raisons (inconnues) occasionnellement.



1
votes

Ajouter ce code (par exemple, votre .emacs.el , init.el , etc.) à résoudre le problème avec IDO empêchant les EMACS de quitter Lorsque le fichier ido.last n'est pas écritable: xxx


0 commentaires