8

I've successfully installed clojure-mode, slime, slime-repl within Emacs. I start a swank server with "lein swank" and hang slime to it with "slime-connect". I can use the SLIME REPL to evaluating Clojure expression within the REPL.

How can I eval a single s-exp or a whole file (a.k.a I want to run a Clojure file withing Emacs and see the output in a dedicated frame or in the repl) showing the answer in the SLIME REPL?

For example I define a simple binding in a .clj file within my project directory:

(def my-bind [1 2 3])

Now I want SLIME to eval this expression in the repl, so if in the repl I write:

(first my-bind)

I want to obtain 1. How can I do?

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
Alfredo Di Napoli
  • 2,281
  • 3
  • 22
  • 28

2 Answers2

9

To eval a single sexp, put your cursor in front of the last closing paren and hit C-x C-e. There is another one to evaluate a surrounding sexp, but I can't for the life of me remember it.

To evaluate the whole file, do C-c C-k

Rayne
  • 31,473
  • 17
  • 86
  • 101
  • 2
    This is the black magic of computers.. I've done what you have suggested like 1000 times and it never worked.. now it works o.O thank you very much :) – Alfredo Di Napoli Oct 18 '10 at 17:39
9

What Rayne said, and there's M-C-x to evaluate the top level expression which the cursor is in.

John Lawrence Aspden
  • 17,124
  • 11
  • 67
  • 110