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. 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.
-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)
(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"))
* 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
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@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@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
* Chris Beard [2011-03-14 11:01] writes:
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.
Maybe paredit: http://mumble.net/~campbell/emacs/paredit.el
Helmut
Chris,
You might want to take a look at paredit (http://www.emacswiki.org/emacs/ParEdit). It does parenthesis matching and more. The more takes a bit to get used to, but it does offer a fairly powerful way of editing Lisp code.
Regards, John
-----Original Message----- From: Chris Beard Sent: Monday, March 14, 2011 6:01 AM To: slime-devel@common-lisp.net Subject: Re: [slime-devel] unceasing minibuffer error message after bad input
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@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@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
_______________________________________________ slime-devel site list slime-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel