Unbound variable error in slimv with mit-scheme - mit-scheme

After trying to start swank server from vim (or after executing the command
scheme --load /usr/share/emacs/site-lisp/slime/contrib/swank-mit-scheme.scm
from terminal prompt) I get the following error:
Image saved on Tuesday November 8, 2011 at 10:40:30 PM
Release 9.1.1 || Microcode 15.3 || Runtime 15.7
SF 4.41 || LIAR/i386 4.118 || Edwin 3.116
;Loading "/usr/share/emacs/site-lisp/slime/contrib/swank-mit-scheme.scm"...
;Unbound variable: o
;To continue, call RESTART with an option number:
; (RESTART 3) => Specify a value to use instead of o.
; (RESTART 2) => Define o to a given value.
; (RESTART 1) => Return to read-eval-print level 1.
It seems that the error is caused by the line:
(define-generic inspect (o))
Any ideas what can I do?

Try to run swank-mit-scheme.scm embedded in Slimv. It is slightly modified: it loads options and runs swank server in an infinite loop.

Related

Getting emacs realgud:pry to work

Need some help getting realgud to play nice with pry-remote.
This is a sample ruby file (x.rb)
require 'pry-remote'
class Foo
def initialize(x, y)
binding.remote_pry
puts "hello"
end
end
Foo.new(1,3)
In a shell buffer:
bash: ruby x.rb
[pry-remote] Waiting for client on druby://127.0.0.1:9876
# check that I have a listening process
bash: ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9876 *:*
In emacs:
M-x realgud:pry
pry-remote ; enter this at the prompt
This is what I see in emacs;
File Edit Options Buffers Tools Inf-Ruby Debugger Help
32: end
33:
34: return_value
35: end
=>[0G[1] pry(#<PryNav::Tracer>)>
-=--:**--F1 *pry +No filename+ shell* Bot L53 (Comint:r
stop unless RUBY_VERSION == '1.9.2'
return_value = nil
command = catch(:breakout_nav) do # Coordinates w$
return_value = yield
=> {} # Nothing thrown == no navigational command
end
-=--:%%--F1 tracer.rb 24% L21 (Ruby ShortKeys) ---
My question is: why am I seeing the breakpoint in tracer.rb? How do I get the breakpoint
to be in my source file?
Hitting 'n' twice in the source window causes the shell buffer to echo the following, but there
is no change in the source window itself.
=>[0G[1] pry(#<PryNav::Tracer>)> next 1
next 1
Also, the 'u' and 'd' keystrokes yield
Command down is not implemented for this debugger
Command up is not implemented for this debugger

repl hangs for ~15 seconds on each error (emacs + cider + boot)

I'm facing a strange behavior whenever I invoke an error in boot-cljs-repl. The repl (actually the entire emacs) hangs for about 15 seconds and after that I see the following error message below the mode-line:
error in process filter: Lisp nesting exceedsmax-lisp-eval-depth'`
An error would e.g be calling (some-nonexisting-function) from the REPL.
Additionally I get an error message inside the REPL itself. Sorry, for posting the whole thing here - I wouldn't know right now which parts are important:
box.webgl> (some-nonexisting-function)
WARNING: Use of undeclared Var box.webgl/some-nonexisting-function at line 1 <cljs repl>
#object[TypeError TypeError: Cannot read property 'call' of undefined]
TypeError: Cannot read property 'call' of undefined
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:1\
:124)
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:9\
:3)
at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:1\
4:4)
at http://localhost:3000/main.out/weasel/repl.js:30:465
at http://localhost:3000/main.out/weasel/repl.js:39:4
at cljs.core.MultiFn.call.G__10839__2 (http://localhost:3000/main.out/cljs/core.js:33327:106)
at cljs.core.MultiFn.call.G__10839 [as call] (http://localhost:3000/main.out/cljs/core.js:33594:20\
)
at .<anonymous> (http://localhost:3000/main.out/weasel/repl.js:184:71)
at goog.events.EventTarget.fireListeners (http://localhost:3000/main.out/goog/events/eventtarget.j\
s:284:23)
at Function.goog.events.EventTarget.dispatchEventInternal_ (http://localhost:3000/main.out/goog/ev\
ents/eventtarget.js:381:26)
recently CIDER was changed to automatically supply it's own cider-nrepl and clj-refactor middleware when starting lein, so you can (should) remove these from your ~/.lein/profifiles.clj file if you have them. This will clear up this warning. (remember to update to the latest cider emacs package.
WARNING: CIDER's version (0.12.0-snapshot) does not match
cider-nrepl's version (not installed). Things will break!
This is a problem and hopefully fixing it clears up your other problems. If not, at least solving this is a prerequisite to debugging it properly.

Emacs: How does one run RSpec?

How does one run rspec-mode in emacs? What I have tried is:
Go to spec file in Emacs
Run M-x rspec-verify-all
I get the following output in *rspec-compilation* buffer
-*- mode: rspec-compilation; default-directory: "~/mydir" -*-
RSpec Compilation started at Sun Feb 15 21:31:36
bundle exec rake spec SPEC_OPTS='--options /Users/rabraham/mydir/.rspec' SPEC='/Users/rabraham/mydir/spec'
RSpec Compilation finished at Sun Feb 15 21:31:39
No tests are run. I have a failing test but that is not caught. Is there a tutorial on running rspec-mode in Emacs?
There is no rake "spec" task by default. You should configure your Rakefile like described here

slime doesn't work in emacs24

I use emacs24 in archlinux.If i use the slime packages from marmalade.org,then when i use M-x slime the error is:
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "initial thread" RUNNING {AB007A9}>:
Couldn't load
"/home/sinners/.emacs.d/elpa/slime-20100404.1/swank-loader.lisp": file does
not exist.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
but if i use the slime-cvs packages from the offical site,the error is:
Debugger entered: (("Error in timer" slime-attempt-connection (#<process inferior-lisp> nil 2) (void-variable --cl-accu--)))
#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"]((void-variable --cl-accu--))
funcall(#[257 "\302\303\304\300\301F\"\207" [slime-attempt-connection (#<process inferior-lisp> nil 2) debug nil "Error in timer"] 7 "\n\n(fn DATA)"] (void-variable --cl-accu--))
slime-timer-call(slime-attempt-connection #<process inferior-lisp> nil 2)
apply(slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2))
byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
timer-event-handler([t 20271 59188 161536 0.3 slime-timer-call (slime-attempt-connection #<process inferior-lisp> nil 2) nil])
anyone can help me?
Problem with --cl-accu-- variable signs about breakage of emacs cl package in presence of lexical scoping. Try to go to slime.el in your slime distribution, find string
;; lexical-binding: t in the ;; Local Variables: section at the end of the file and change it to ;; lexical-binding: nil. And remove old slime.elc file if you have one.
I had the exact same problem, which was solved by deleting the slime.elc file, that I had compiled earlier using byte-recompile-directory. I didn't try compiling it again.
I'm not sure, but this problem can be due to different versions of SLIME and SWANK. However you should just use pacman to install a lisp implementation ­(I think that SBCL is the most popular implementation on Linux) and then use quicklisp to install everything else.
See this blog post to see how to install SWANK and SLIME with quicklisp.

Error starting sbcl under slime on Vista

I'm having trouble getting SBCL to start under slime. I've messed things up and I don't know how to recover. This was working fine until I...
Had a problem loading a package via asdf. At which point I started debugging the asdf.lisp provided with SBCL to see what was going wrong. The sole change I made was to put a (break) in which I removed once I'd figured out what was wrong. All was fine until the next time I tried to start SBCL.
Then I got a swank compilation error saying that the asdf.fasl was older than the asdf.lisp file. That made sense to me so I recompiled the asdf.fasl. The output I'm now getting is:
(progn (load "c:\\emacs-23.1\\site-lisp\\slime\\swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "c:\\Users\\GILESR~1\\AppData\\Local\\Temp\\slime.3068" :coding-system "iso-latin-1-unix"))
This is SBCL 1.0.37, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
*
; loading #P"c:\\emacs-23.1\\site-lisp\\slime\\swank-loader.lisp"
; loading #P"c:\\hacking\\emacs\\.slime\\fasl\\2010-07-30\\sbcl-1.0.37-win32-x86\\swank-backend.fasl"
; loading #P"c:\\hacking\\emacs\\.slime\\fasl\\2010-07-30\\sbcl-1.0.37-win32-x86\\swank-source-path-parser.fasl"
; loading #P"c:\\hacking\\emacs\\.slime\\fasl\\2010-07-30\\sbcl-1.0.37-win32-x86\\swank-source-file-cache.fasl"
; compiling file "c:\\emacs-23.1\\site-lisp\\slime\\swank-sbcl.lisp" (written 22 JUL 2010 08:15:02 AM):
; file: c:\emacs-23.1\site-lisp\slime\swank-sbcl.lisp
; in: EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
; (REQUIRE 'SWANK-BACKEND::SB-BSD-SOCKETS)
;
; caught ERROR:
; (during compile-time-too processing)
; The function ASDF::MODULE-PROVIDE-ASDF is undefined.
; (REQUIRE 'SWANK-BACKEND::SB-INTROSPECT)
;
; caught ERROR:
; (during compile-time-too processing)
; The function ASDF::MODULE-PROVIDE-ASDF is undefined.
; (REQUIRE 'SWANK-BACKEND::SB-POSIX)
;
; caught ERROR:
; (during compile-time-too processing)
; The function ASDF::MODULE-PROVIDE-ASDF is undefined.
; (REQUIRE 'SWANK-BACKEND::SB-CLTL2)
;
; caught ERROR:
; (during compile-time-too processing)
; The function ASDF::MODULE-PROVIDE-ASDF is undefined.
;
; compilation unit aborted
; caught 1 fatal ERROR condition
; caught 4 ERROR conditions
;
; compilation aborted because of fatal error:
; SB-INT:SIMPLE-READER-PACKAGE-ERROR at 1839 (line 62, column 18) on #<SB-SYS:FD-STREAM
; for "file c:\\emacs-23.1\\site-lisp\\slime\\swank-sbcl.lisp"
; {24564B89}>:
; package "SB-POSIX" not found
; ; compilation aborted after 0:00:00.045
;;
;; Error while compiling c:\emacs-23.1\site-lisp\slime\swank-sbcl.lisp:
;; COMPILE-FILE returned NIL.
;; Aborting.
So it's not finding some stuff it needs in my recompiled asdf. In order to resolve this I've done a complete uninstall and reinstall of SBCL. No joy. I've got nothing in my .sbclrc either.
Update: On viewing the asdf.lisp source code the missing functions are definitely in the file. The thing that's preventing them from compiling is I think the line:
#+(and sbcl sbcl-hooks-require)
My knowledge of lisp is currently not sufficient to compile the asdf file in the environment to trigger the above conditional compilation statement.
I've sorted the problem using the following steps:
Fire up sbcl from Windows start menu.
Run the following code to add the sbcl-hooks-require symbol to the feature list:
(push :sbcl-hooks-require features)
Recompile asdf.lisp. In order to do this I needed to recompile asdf outside of the installed C:\Program files\Steel... directory as the UAC on Windows Vista will stop the fasl being written. For example:
(compile-file "C:\foobar\asdf.lisp")
Copy the generated fasl back to C:\Program files\Steel... to overwrite the original fasl.
Update: The formatting on stackoverflow has knocked out some of the code bits. The code should be as follows:
(push :sbcl-hooks-require *features*)
(compile-file "C:\\foobar\\asdf.lisp")