Giter Site home page Giter Site logo

slime / slime Goto Github PK

View Code? Open in Web Editor NEW
1.9K 1.9K 328.0 14.4 MB

The Superior Lisp Interaction Mode for Emacs

Home Page: http://common-lisp.net/project/slime/

Makefile 0.27% Emacs Lisp 38.86% Common Lisp 54.78% Scheme 5.41% Standard ML 0.37% Ruby 0.31%
common-lisp emacs

slime's Introduction

Build Status MELPA MELPA Stable

Overview

SLIME is the Superior Lisp Interaction Mode for Emacs.

SLIME extends Emacs with support for interactive programming in Common Lisp. The features are centered around slime-mode, an Emacs minor-mode that complements the standard lisp-mode. While lisp-mode supports editing Lisp source files, slime-mode adds support for interacting with a running Common Lisp process for compilation, debugging, documentation lookup, and so on.

For much more information, consult the manual.

Quick setup instructions

  1. Set up the MELPA repository, if you haven't already, and install SLIME using M-x package-install RET slime RET.

  2. In your ~/.emacs file, point the inferior-lisp-program variable to your favourite Common Lisp implementation:

    (setq inferior-lisp-program "sbcl")
  3. Use M-x slime to fire up and connect to an inferior Lisp. SLIME will now automatically be available in your Lisp source buffers.

If you'd like to contribute to SLIME, you will want to instead follow the manual's instructions on how to install SLIME via Git.

License

SLIME is free software. All files, unless explicitly stated otherwise, are public domain.

Contact

If you have problems, first have a look at the list of known issues and workarounds.

Questions and comments are best directed to the mailing list at [email protected], but you have to subscribe first.

See the CONTRIBUTING.md file for instructions on how to contribute.

slime's People

Contributors

adlai avatar alanruttenberg avatar bdowning avatar bike avatar csrhodes avatar dkochmanski avatar drmeister avatar easye avatar ellerh avatar fiddlerwoaroof avatar froggey avatar galdor avatar ivan4th avatar joaotavora avatar joddie avatar karlosz avatar luismbo avatar melisgl avatar monnier avatar nbtrap avatar purcell avatar rettakjak avatar rpgoldman avatar scymtym avatar snuglas avatar stassats avatar svetlyak40wt avatar svillemot avatar trittweiler avatar yitzchak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slime's Issues

incorrect translation of path names

bug imported from https://bugs.launchpad.net/slime/+bug/873976

Windows XP (ccl, sbcl), slime 2011-10-13, GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)

I set up (setq slime-compile-file-options '(:fasl-directory "c:/common-lisp/")) in .emacs

My lisp code is in e:/lisp directory. When I try to use C-c C-k command slime try to compile code to E:/common-lisp/ instead of using c: disk. Thanks.

wanted: SWANK:DECLAIM-INDENTATION

bug imported from https://bugs.launchpad.net/slime/+bug/627310

If I remember correctly, here's something along that line hidden in the
slime-indentation contrib already. I think it should go into swank proper
because swank.lisp already has most of the code for it, and at least I
want to use such a facility without being forced to use the emacs-side
of slime-indentation.

It will also make it a little bit more convenient for people to depend
on it. (They just have to check for presence of SWANK.)

Slime + GNU Emacs not showing results in Slime REPL

bug imported from https://bugs.launchpad.net/slime/+bug/1026214

When I use the current CVS version of Slime I am not seeing results in the Slime REPL when trying to execute common lisp code. When I point my init.el file at the new version of Slime that I pulled from CVS on 7/17/2012 the lisp code that I am trying to execute (by pressing the enter key at the end of the line of code at the Slime REPL) becomes bolded and the cursor moves to the next line (vertically) but I do not see the result from the lisp command.

If I point my init.el file at my old 2011-05-27 version of Slime everything works fine. (ie when I press the enter key at the end of a line of lisp code at the Slime REPL the lisp code executes and I see the result printed in the Slime REPL and then I can enter a new lisp command. In general I am able to interact with my ECL install).

I have attached screenshots of the issue in the new Slime and everything working in the old Slime.

OS: Windows 7 Pro 64bit
GNU Emacs: version 24.1
ECL: current GIT version of ECL as of 7/17/2012, aka version 12.7.1
Slime: current CVS version of Slime as of 7/17/2012, most recent update in changelog file is from 2012-07-13

Content of C:\Program Files (x86)\emacs-24.1\site-lisp\site-start.el STARTS--------------------
(setenv "HOME" "C:/home/johndoe/")
Content of C:\Program Files (x86)\emacs-24.1\site-lisp\site-start.el ENDS--------------------

Content of C:\home\johndoe\.emacs.d\init.el STARTS--------------------
(setq inferior-lisp-program "C:/Progra~2/ECL_12.7.1/ecl.exe")
;(add-to-list 'load-path "C:/Progra~2/slime-2012-05-27/") ; works when uncommented
(add-to-list 'load-path "C:/Progra~2/slime-2012-07-17/") ; fails
(require 'slime)
(slime-setup)
Content of C:\home\johndoe\.emacs.d\init.el ENDS--------------------

Any help would be much appreciated, thanks!

Stas Boukarev (stassats) wrote on 2012-07-18
It should be (slime-setup '(slime-fancy)) to get a real REPL.

Paul Walz (paul-walz) wrote on 2012-07-18
Hi Stas,

Thank you for the solution, it is working great now!

Stas Boukarev (stassats) wrote on 2012-07-19
But just (slime-setup) should be working, I'll look at it later.

Paul Walz (paul-walz) wrote on 2012-07-20
Ok, thanks again

slime and (read-line) freeze

imported from https://bugs.launchpad.net/slime/+bug/690424

When I run (read-line), type a character or two, and press [tab] in slime emacs locks up (i.e. no keyboard response). I've tried without using slime and this does not occur. Perhaps (read-line) is not playing nicely with slime completion?

This was tested using:
sbcl 1.0.45
emacs 23.1.1
slime-cvs (pulled today)
Ubuntu 10.10 (64 bit)

website and documentation out of date

bug imported from https://bugs.launchpad.net/slime/+bug/1026319

Bug Description

It seems like the documentation/website for SLIME are out of date. This probably also affects the PDF version of the manual. Stas Boukarev was very, very kind and helped me to get my install of SLIME working but it might be worth it to update the documentation so that other people can get SLIME working for themselves as well.

Specifically:

  1. http://common-lisp.net/project/slime/ says that XEmacs is supported. The current stable version of XEmacs does not seem to be supported (https://bugs.launchpad.net/slime/+bug/1025850) with the CVS version of SLIME. Maybe the beta version of XEmacs is supported as was suggested, but I did not try that. GNU Emacs does correctly work though and you might want to at least recommend for people to use GNU Emacs or mention that the stable version of XEmacs won't work. (at least it won't work with the CVS version of SLIME, maybe there is an older snapshot of it that XEmacs would still work with?)

  2. http://common-lisp.net/project/slime/doc/html/Installation.html#Installation says to use (slime-setup) in init.el file which did not work correctly for me. (https://bugs.launchpad.net/slime/+bug/1026214) I had to use (slime-setup '(slime-fancy)) instead. This is counter-intuitive to me because I would expect a "basic" version of something to work even if a "fancy" version didn't.

Anyway I just wanted to make the above suggestions. Maybe the issues are only temporary and not worth updating the docs for but I wanted to put my finding together in one place for you guys if you did want to update the docs. Those were the only 2 issues that I found while trying to follow the installation docs to get the system up and working on Windows. Also, thanks again to Stas Boukarev for all the help, I would not have gotten this working without him.

Stas Boukarev (stassats) wrote on 2012-07-19:
Xemacs should be supported, and the bug you reported earlier is caused by not having mule-ucs module installed. But you're right, GNU Emacs is more used by Slime users and in general, so it is more tested and doesn't require any additional modules.

And regarding slime-repl, inferior-lisp should be working without it, I'm not sure why it didn't for you. I tried it with ECL on linux, and it does work for me. I'll try to test it on windows some time later.

But in any case, bare (slime-setup) provides quite a poor experience and documentation says "This is the minimal configuration with the fewest frills. If the basic setup is working, you can try additional modules (Loading Contribs)."

Paul Walz (paul-walz) wrote on 2012-07-20:
Hi Stas,

Thanks for your response, I think I understand what you are saying now.

I re-read your answer to my other bug (https://bugs.launchpad.net/slime/+bug/1025850) where you point out that "Slime requires un-define only when the coding system is not utf-8. And un-define needs mule-ucs to be present.". When I initially read your response I did not really understand what you were saying which is why I just took your suggestion to use GNU Emacs. I didn't really understand what "un-define" was, whether or not I could use utf-8 on my system or the fact that mule-ucs is a package.

I don't see the information about un-define, utf-8, and mule-ucs in the manual - maybe it makes sense to add it?

Thanks again for your time.

just-one-space breaks slime repl prompt

bug imported from https://bugs.launchpad.net/slime/+bug/1044899

if the cursor is among space characters immediately after the prompt (e.g. "CL-USER> "), the command just-one-space does not delete the space after the prompt, but instead inserts a space before the prompt.

A typical situation is as follows (In the examples I use an underscore to indicate the position of the cursor, and code is irrelevant):

CL-USER> _ (mapcar #'proc-el objs-list)

the spaces can get there sometimes if e.g. I copy a line of code that includes them. So I would want to quickly delete all those spaces, so I press M-. (just-one-space) to delete them, and instead of getting this:

CL-USER>_(mapcar #'proc-el objs-list)

i get this:

_CL-USER> (mapcar #'proc-el objs-list)

so the spaces are still there and the prompt got a space inserted at the beginning.

Perhaps there should be a slime version of just-one-space that avoids this problem (there already is a slime-repl-bol mapped to C-a (to avoid beginning-of-line's behaviour which doesn't do the right thing)).

SBCL stream sockets fail to flush

bug imported from https://bugs.launchpad.net/slime/+bug/820649

When doing stream I/O over an SBCL socket, Slime should set
the serve-events property of the stream to NIL. The default is T.

I've included a patch that makes the change.

When serve-events is T, SBCL will queue data it cannot flush to
the stream, assuming that some code will later flush it using
the serve-events infrastructure. When a stream specifies NIL
for serve-events, SBCL will correctly flush all the data to the socket
before returning from force-output.

the inspector doesn't run the swank side in the initiating thread

bug imported from https://bugs.launchpad.net/slime/+bug/661892

when debugging, the dynamic environment of the debugged thread can be necessary for the SVUC calls of the inspected objects.

scenario:

(with-transaction
  (let ((thing (load-object)))
    <---- error brings up sldb
   ))

when inspecting 'thing' the SVUC customizations need the dynamic extent of the enclosing with-transaction.

the same applies to the current package.

patch is available at:
http://dwim.hu/gitweb/gitweb.cgi?p=slime;a=summary

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.