样式警告:在SLIME 2.12 SBCL 1.2.7 Gnu Emacs 25



启动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

我在GitHub向人们发表了讲话,jackcarozzo回复了

这篇文章:

好问题——花了一点时间才找到完整的答案。简而言之,emacs inspect存储用于检查对象的处理程序;当检查特定对象时,相关的泛型函数(基于类型)将匹配并进行评估。从…起http://lisp-book.org/contents/chslime.pdf第16页,你可以运行这个来查看当前附加的泛型:

M-。swank后端:emacs检查

该pdf还描述了创建自己的检查器以及看起来很酷的其他功能。

关于你的第二点:很多东西被打印到slime事件缓冲区;除非你有黏液特定的问题,否则你可能根本不需要把它打开。与您的代码和交互相关的警告等将直接出现在REPL、下级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确实有很多功能,但它不会强迫你使用它们。自我提醒:总有一天我真的应该抽出时间来学习它们。。。

最新更新