如何解决这个emacs警告:警告(bytecomp):'mapcar'被要求生效;使用“MAPC”或“dolist”,而不是

问题描述:

安装在Windows 7最新的emacs,从去年的安装,更新包复制包文件夹。得到警告(见下文)。谷歌搜索警告显示了从2007年开始的一些简要讨论,但对于非Lisp的人来说,并没有什么不妥。有谁知道这个警告是指什么以及该修补程序是什么?如何解决这个emacs警告:警告(bytecomp):'mapcar'被要求生效;使用“MAPC”或“dolist”,而不是

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

看看Emacs堆栈交换中的this answer。如果你读它,你会看到,你有如何解决这个问题几个选项:

  1. 添加了以下意见的文件(S)的底部导致警告:

    ;; Local Variables: 
    ;; byte-compile-warnings: (not mapcar) 
    ;; End: 
    
  2. 通过M-x customize-variable RET byte-compile-warnings RET设置byte-compile-warnings变量。点击Value Menu按钮,通过按下1选择Some,然后选中标识mapcar框。最后点击Apply and Save

在你做这两件事之一后,警告应该停止出现。

+0

Thnx。什么变量将文件列表存储在1中?在这种情况下,2无法通过定制:'(byte-compile-warnings(quote(mapcar)))或将(setq-default byte-compile-warnings'(不是mapcar))添加到init。 Emacs,绝对值得所有的努力(y) –

+0

@ F.当然。据我所知,没有变量存储引起警告的文件。你可能只需要'grep'你的包文件夹或'mapcar'的初始化文件,然后试着将这些注释添加到匹配的文件中。我真的不确定为什么#2不适合你;您可以尝试重新启动Emacs并查看警告是否仍然弹出。如果是这样,您可能需要检查并确保重新启动Emacs后'byte-compile-warnings'具有预期的值。如果没有,请尝试在init序列的末尾将'byte-compile-warnings'的变量赋值放入。 – GDP2

+0

Thiks,这很奇怪,重新启动emacs =当字节编译警告=(没有mapcar)时,警告没有改变。 (mapcar)。到目前为止greps没有'mapcar'比赛..所以谁知道,大声笑。也许重新编译软件包将工作。干杯。 –