2017-04-11 1 views
1

Installé le dernier emacs sur Windows 7, les dossiers de paquets copiés de la dernière installation, les paquets mis à jour. Obtenir un avertissement (voir ci-dessous). Googling l'avertissement montre une brève discussion de 2007, mais rien d'abasourdi pour les non-lispers. Est-ce que quelqu'un sait à quoi cet avertissement fait référence et quelle est la solution?Comment réparer cet avertissement emacs: Warning (bytecomp): 'mapcar' appelé pour l'effet; utilisez 'mapc' ou 'dolist' à la place

Warning (bytecomp): ‘mapcar’ called for effect; use ‘mapc’ or ‘dolist’ instead 

Répondre

0

Jetez un coup d'œil à this answer à partir de l'échange de piles Emacs. Si vous le lisez, vous verrez que vous avez deux options pour déterminer comment résoudre ce problème:

  1. Ajouter les commentaires suivants au fond du fichier (s) provoquant l'avertissement:

    ;; Local Variables: 
    ;; byte-compile-warnings: (not mapcar) 
    ;; End: 
    
  2. Définissez la variable byte-compile-warnings via M-x customize-variable RET byte-compile-warnings RET. Cliquez sur le bouton Value Menu et sélectionnez Some en appuyant sur 1, puis cochez la case mapcar. Enfin, cliquez sur Apply and Save.

L'avertissement devrait cesser d'apparaître après avoir effectué l'une de ces deux opérations.

+0

Thnx. Quelle variable stocke la liste des fichiers dans 1? Dans ce cas, 2 ne fonctionnait pas, ni par la personnalisation: '(byte-compile-warnings (quote (mapcar))), ou en ajoutant (setq-default byte-compile-warnings' (pas mapcar)) à l'init. Emacs, vaut vraiment tout l'effort à la fin (y) –

+0

@ F.Certainly. Il n'y a aucune variable qui stocke le (s) fichier (s) provoquant des avertissements autant que je sache. Vous pourriez juste devoir 'grep' votre dossier de paquets ou fichier (s) d'init pour' mapcar' et essayer juste d'ajouter ces commentaires aux fichiers correspondants. Je ne sais vraiment pas pourquoi # 2 ne fonctionne pas pour vous; vous pouvez essayer de redémarrer Emacs et voir si les avertissements apparaissent toujours. Si c'est le cas, vous pouvez vérifier et vous assurer que 'byte-compile-warnings' a la valeur attendue après le redémarrage d'Emacs. Si ce n'est pas le cas, essayez de placer l'assignation de variable pour 'byte-compile-warnings' à la fin de votre séquence init. – GDP2

+0

Thnks, il est étrange, restart-emacs = pas de changement d'avertissement quand byte-compile-warnings = (pas mapcar) || (carte). Jusqu'à présent, les Greps n'ont pas de correspondance 'mapcar'. Qui sait, lol. Peut-être que la recompilation des paquets fonctionnera. À votre santé. –