[slime-devel] strange failure with the sbcl backend

Hi, I was wondering lately why slime/sbcl did not want to compile swank-sbcl.lisp. When I tried it, I got the backtrace available at <URL:http://shell.iddqd.org:8081/paste/display/103>. As you can see, somehow sbcl fails to find the appropriate method for slime-output-stream-buffer. I can trigger this by executing C-c : (defclass slime-output-stream (sb-gray:fundamental-character-output-stream) ((buffer :initform (make-string-output-stream :element-type 'character) :accessor slime-output-stream-buffer))) RET (i.e. a complete 1:1 redefinition of the slime-output-stream class and the slime-output-stream-buffer GF) I'm not sure which is to blame: me, sbcl or swank. It also seems like I'm the only person for whom this is failing. On my machine, I can reproduce this with a clean slime, fresh sbcl (no .sbclrc), while running emacs -q; so it must be my karma or something (-: Thanks, -- Andreas Fuchs, <asf@acm.org>, asf@jabber.at, antifuchs

Andreas Fuchs <asf@boinkor.net> writes:
I'm not sure which is to blame: me, sbcl or swank. It also seems like I'm the only person for whom this is failing. On my machine, I can reproduce this with a clean slime, fresh sbcl (no .sbclrc), while running emacs -q; so it must be my karma or something (-:
Blame SBCL. This turned out to be a consequence of class redefinition signalling a (spurious) warning, which swank was of course catching and attempting to propagate to emacs. This would only be a problem during the redefinition of the slime-output-stream class, when there is a window where the accessor method has been removed and not yet reinstated... no-one else is seeing this because I only committed the change that had this as a side-effect a couple of days ago. I have committed a fix for this to sbcl's CVS; those of you on anonymous access might be lucky enough to leapfrog the bug completely, when sourceforge deigns to update their now six-day-old backup repository. :-/ Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
participants (2)
-
Andreas Fuchs
-
Christophe Rhodes