【问题标题】:STYLE-WARNING: in SLIME 2.12 SBCL 1.2.7 Gnu Emacs 25样式警告:在 SLIME 2.12 SBCL 1.2.7 Gnu Emacs 25 中
【发布时间】:2015-02-15 21:52:16
【问题描述】:
我在启动 SLIME 时收到此消息:
; loading #P"d:/lisp/slime-2.12/swank-loader.lisp"
STYLE-WARNING: redefining EMACS-INSPECT (#<SB-PCL:SYSTEM-CLASS T>) in DEFMETHOD
REPL 工作正常。
我对 EMACS 和 SLIME 完全陌生,我想知道这是什么意思以及如何解决它。
我使用 Windows 8(64 位)、GNU Emacs 25.0.50.1 (x86_64-w64-mingw32)、SLIME 2.12 和 SBCL 1.2.7
【问题讨论】:
标签:
emacs
common-lisp
compiler-warnings
sbcl
slime
【解决方案1】:
我在 GitHub 和 jackcarrozzo replied 上向人们致辞
这篇文章:
好问题 - 花了一些时间才找到完整的答案。简短的回答是 emacs-inspect 存储用于检查对象的处理程序;当检查特定对象时,相关的通用函数(基于类型)将匹配并被评估。从http://lisp-book.org/contents/chslime.pdf 第 16 页,您可以运行它来查看当前附加的泛型:
M-。 swank-后端:emacs-inspect
该 pdf 文件还描述了创建您自己的检查器以及看起来很酷的附加功能。
关于你的第二点:很多东西被打印到 slime-events 缓冲区;除非您遇到特定于粘液的问题,否则您可能甚至不需要在窗口中打开它。与您的代码和交互相关的警告等将直接出现在 REPL、inferior-lisp 缓冲区或 emacs/slime 会在需要时为您自动打开的其他几个缓冲区之一中。
CL-USER> (use-package :elk)
; Evaluation aborted on #<SB-KERNEL:SIMPLE-PACKAGE-ERROR "The name ~S does not designate any package." {1002C9D683}>.
CL-USER> (defun moose (a) (+ a 7))
MOOSE
CL-USER> (defun moose (a) (+ a 8))
STYLE-WARNING: redefining COMMON-LISP-USER::MOOSE in DEFUN
MOOSE
CL-USER>
所以,总而言之:不用担心。 Slime 使在 emacs 中的 Common Lisp 接口变得简单,并且在不碍事方面做得很好。 Slime 确实有很多功能,但它不会强迫你使用它们。自我提醒:总有一天我真的应该花时间学习它们......