2010-01-22 12 views
4

J'utilise une version récente de NTEmacs. J'ai écrit un fichier nommé ".dir-locals.el" comme suit.Emacs répertoire variable locale problème

((nil . ((tab-width . 8) 
     (fill-column . 70))) 
(c-mode . ((c-file-style . "GNU")))) 

et j'ai ouvert un fichier c dans le sous-répertoire, je reçu un message d'erreur:

Directory-local variables error: (wrong-type-argument listp message)

Je ne peux pas savoir quel est le problème avec ce code.

Répondre

5

La deuxième partie de l'expression est une liste de variables que vous avez besoin de plus parenthèses

((nil . 
    ((tag-width . 8) 
    (fill-column . 70))) 
(c-mode . 
((c-file-style . "GNU")))) 

Cela a fonctionné pour moi. Pour que cela fonctionne, j'ai ajouté une citation au début et j'ai évalué l'expression, puis je l'ai suivie à partir de là.

Puis retiré le devis quand il travaillait.

+0

J'ai essayé avec ce code exactement entre crochets, mais il dit toujours la même chose. – kjshim

+0

Vous avez peut-être manqué mon édition il y a quelques minutes, car le premier essai était mis-coller. – justinhj

+4

HaHa. La meilleure chose à dire à quelqu'un qui écrit un lisp: "... vous avez besoin de plus de parenthèses." – kjfletch

1

J'ai eu un problème très similaire: emacs se plaignant de la même erreur sur un fichier .dir-locals.el avec un contenu similaire. Dans mon cas, j'ai trouvé que le problème était dans les caractères blancs invisibles présents dans le fichier. (J'ai remarqué que le chat Skype introduit parfois des caractères bizarres dans le texte.) Une fois que j'ai supprimé tous les espaces supplémentaires, cela a fonctionné.

Questions connexes