web-dev-qa-db-fra.com

Erreur Emacs lorsque je l'appelle dans le terminal

Je viens d'installer emacs sur mon MacBook Pro mais lorsque je lance "emacs" sur mon terminal, je reçois ce type d'erreur:

Emacs-x86_64-10_10 [5647: 247335] Échec de l'initialisation du désarchiveur de la liste des couleurs: Error Domain = NSCocoaErrorDomain Code = 4864 "* - [NSKeyedUnarchiver _initForReadingFromData: erreur: throwLegacyExceptions:]: l'archive sans clé ne peut pas être décodée par NSKeyedUnarch "UserInfo = {NSDebugDescription = * - [NSKeyedUnarchiver _initForReadingFromData: erreur: throwLegacyExceptions:]: l'archive sans clé ne peut pas être décodée par NSKeyedUnarchiver}

Emacs s'ouvre alors correctement mais je ne peux pas compiler de fichiers à cause de cette erreur.

15
Alessandro

Il s'agit d'une erreur connue pour Emacs sur macOS Mojave. Apparemment, Emacs utilisait une API obsolète et maintenant supprimée. Vous pouvez suivre le fil de discussion sur la liste de diffusion "emacs-devel" .

Edit 25 juillet 2019:

Étant donné que les gens semblent toujours en arriver à cette question, les correctifs pour ce problème ont été poussés vers la branche emacs-26 à partir du vendredi 28 septembre 2018 . La dernière version d'Emacs 26 (ou supérieure) à partir de la source ou https://emacsformacosx.com/ fonctionnera. Si vous effectuez actuellement une mise à niveau et que vous obtenez toujours l'erreur/le crash avec les derniers Emacs, supprimez ~/Library/Colors/Emacs.clr et redémarrez vos nouveaux Emacs. Emacs recréera une version non corrompue de ce fichier comme indiqué ici .

14
nega

Apparemment, le problème mentionné ici , peut être résolu simplement en supprimant

~/Library/Colors/Emacs.clr

Ce fichier sera recréé lors de la prochaine exécution d'Emacs

EDIT: quand vous redémarrez cependant, il réapparaît

10
Fabrizio Miano

Merci, @ Fabrizio-Miano. Je n'ai pas la réputation de commenter votre réponse, mais cela m'a guidé dans la bonne direction. J'ai pu supprimer cette erreur avec un simple doublure ajouté à la fin de mon init.el. Pour ceux qui sont intéressés, je viens d'ajouter:

(delete-file "~/Library/Colors/Emacs.clr")

Pour ce que ça vaut, je l'ai placé dans une instruction progn afin que cela se produise après le chargement de mon thème. Je ne suis pas sûr que cela fasse une différence, mais cela semblait une chose logique à faire. Peut-être pas une solution idéale, mais mieux que d'attendre que les choses soient triées dans la branche emacs-26.

7
Ryan E.