[slime-devel] unceasing minibuffer error message after bad input

Chris Beard wcbeard10 at wabash.edu
Mon Mar 14 11:01:08 UTC 2011


I'm not that experienced with debugging emacs, so thanks a lot for the
advice. I tracked it down to autopair mode.

I found a workaround on the autopair site that I put into the init files:
  ;; http://code.google.com/p/autopair/issues/detail?id=32&q=slime
  (add-hook 'sldb-mode-hook #'(lambda () (setq autopair-dont-activate t)))

but it doesn't seem to be fixing the problem. I can just turn off
autopair mode whenever I go into SLIME, but is there a popular
alternative to autopair that people here use (something to complete
(), [], {}, "", etc...?). I've grown quite lazy from Autopair.

Thanks again.
-Chris

On Mon, Mar 14, 2011 at 4:40 PM, Helmut Eller <heller at common-lisp.net> wrote:
> * Chris Beard [2011-03-12 07:31] writes:
>
>> Hello,
>> I just installed Slime on Mac OSX 10.6, via Quicklisp and sbcl
>> (following instructions here
>> http://www.mohiji.org/2011/01/modern-common-lisp-on-osx/).
>>
>> My emacs has some annoying behavior whenever I do something
>> incorrectly in the SLIME REPL (I'm new at lisp, so this isn't too
>> un...common). For example, it operates fine doing (hello-world) after
>> I've compiled a hello-world defun, but if I try and run it after
>> restarting Slime, it gives me
>>
>>   ; SLIME 2011-02-18
>>   CL-USER> (hello-world)
>>
>>   ; in: LAMBDA NIL
>>   ;     (HELLO-WORLD)
>>   ;
>>   ; caught STYLE-WARNING:
>>   ;   undefined function: HELLO-WORLD
>>   ;
>>   ; compilation unit finished
>>   ;   Undefined function:
>>   ;     HELLO-WORLD
>>   ;   caught 1 STYLE-WARNING condition
>>
>> I suspect this is normal.
>
> Yes, seems normal.
>
>> But in the *Messages* buffer, I see things like this:
>>
>>   error in process filter: define-key: Wrong type argument: characterp, nil
>>   error in process filter: Wrong type argument: characterp, nil
>>   error in process filter: define-key: Wrong type argument: characterp, nil
>>   error in process filter: Wrong type argument: characterp, nil
>>   Mark set
>>   Error in post-command-hook: (wrong-type-argument characterp nil)
>>
>> And then it repeats this stuff every once in a while. But even after
>> quitting Slime, whenever I try to switch buffers, or kill buffers, or
>> basically anything, the minibuffer says "Error in post-command-hook:
>> (wrong-type-argument characterp nil)" for a few seconds, then gives me
>> the info I need in the minibuffer (such as the list of buffers to
>> ido-switch to; but it still only lets me input the name of the buffer
>> one letter at a time for some reason). It also won't let me quit Emacs
>> with C-x C-c, or even S-q (Apple-q). I'm not 100% this is from Slime,
>> but it seems that way. Any suggestions for fixing this? I'm otherwise
>> quite excited about learning Lisp.
>
> It seems that you have some strange things in some hook.  Try to M-x
> toggle-debug-on-error.  That enables the Emacs debugger and should give
> you a better culprit what calls define-key in the wrong moment.
>
>> -Chris
>>
>> ps- Some additional info:
>> I also saw this warning in the *inferior lisp* buffer, shortly after
>> starting SLIME:
>>
>>   WARNING: These Swank interfaces are unimplemented:
>>    (DISASSEMBLE-FRAME SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN)
>>
>> Here's more that was in the *inferior-lisp* buffer.
>> http://pastebin.com/KzEej96S
>>
>> Here is more of what was in the Messages buffer
>> http://pastebin.com/aJGYPVeq
>>
>> And here are some possibly relevant lines from my emacs init files
>>
>>   ;; http://www.cliki.net/SLIME%20Tips
>>   (add-hook 'slime-mode-hook
>>             (lambda ()
>>               (unless (slime-connected-p)
>>                 (save-excursion (slime)))))
>>
>>   (defun cliki:start-slime ()
>>     (unless (slime-connected-p)
>>       (save-excursion (slime))))
>>
>>   (add-hook 'slime-mode-hook 'cliki:start-slime)
>
> I would remove those things: you're adding two hooks and both try to
> start Slime but it takes some time to connect and (slime-connected-p)
> may be false both times.  So this code may well start two connections.
> Also the save-excursion is useless.
>
>>
>>   (add-to-list 'load-path
>> "/Users/FingerMan/quicklisp/dists/quicklisp/software/slime-20110219-cvs")
>>   (setq inferior-lisp-program "/usr/local/bin/sbcl")
>>   (require 'slime-autoloads)
>>   (slime-setup)
>>
>>   (load (expand-file-name "~/quicklisp/slime-helper.el"))
>
> Helmut
>
>
> _______________________________________________
> slime-devel site list
> slime-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/slime-devel
>




More information about the slime-devel mailing list