2013-08-13 19 views
6

Ho creato un nuovo progetto con lein. Apro core.clj in emacs. Mi assicuro di eseguire M-x clojure-mode e M-x nrepl-enable-on-existing-clojure-buffers.Emacs, Clojure, lein e nrepl: * nrepl * buffer mostra vuoto

Poi corro M-x nrepl-jack-in e nel mini-buffer di I get

Avvio del server nREPL ...

seguito da un messaggio del tipo:

Connected. Sei destinato ad essere infelice se ottimizzi tutto. -Donald Knuth

vedo che il nome del buffer è *nrepl*, ma il buffer non contiene un Clojure Repl e invece è completamente vuoto.

Se scriv nulla (che significa niente,) ottengo:

tipo di argomento sbagliato: intero-o-indicatore-p, nil

Se posso passare di nuovo al mio core.clj buffer, e ha colpito C-c C-l, come risultato ottiene il nome di namespace dell'ultima funzione nel mio buffer nel minibuffer. E se metto il mio cursore alla fine di una definizione di funzione e ha colpito C-x C-e, ottengo:

CompilerException java.lang.RuntimeException: Impossibile risolvere simbolo: x in questo contesto, la compilazione: (NO_SOURCE_PATH: 1 : 1)

ho provato a fare una nuova directory Lein senza dipendenze utilizzando lein new project-name ed ho provato la stessa procedura sopra e ottenuto gli stessi risultati.

Cos'altro posso controllare e/o cosa sto sbagliando?

EDIT: Informazioni aggiuntive

Quando digito qualcosa nella *nrepl* buffer vuoto e provare a premere C-x C-e su quello che ho scritto, nel mini buffer di I ottenere il messaggio:

No Lisp sottoprocesso; vedi variabile `inferiore-lisp-buffer'

Inoltre, sto facendo funzionare:

GNU Emacs 24.3.1

Leiningen 2.1.2 su Java 1.6.0_27 OpenJDK a 64 bit di server VM

+0

quale versione di emacs? Per escludere eventuali guai ambiente mi consiglia di iniziare con il pacchetto kit di emacs di avviamento e Emacs 24. – leonardoborges

+0

GNU Emacs 24.3.1 – dg123

+0

provo a lanciare il server repl in un guscio esterno, connnect con appena nrepl. Inoltre, disattivare il maggior numero possibile di modi minori (completamento automatico, ecc.) E rinominare temporaneamente leiningen profiles.clj in ~/.lein /. Se questo ti dà un REPL funzionante, abilita abilmente le funzionalità. –

risposta

3

Ho appena corretto questo problema sulla mia configurazione. Spostare il tuo .emacs.d in una posizione di backup e creare una copia di backup del tuo .emacs. Crea un nuovo.emacs con solo le seguenti righe:

(require 'package) 

(add-to-list 'package-archives 
    '("marmalade" . 
     "http://marmalade-repo.org/packages/")) 

(package-initialize) 

(require 'clojure-mode) 

(require 'nrepl) 

Una volta installato nrepl e clojure-mode tramite esecuzione M-x package-list-packages e installazione comprese le rispettive voci, si sarà in grado di utilizzare nrepl.

Aggiungi la tua .emacs personalizzati indietro in una sola unità logica per volta, e si dovrebbe essere in grado di capire dove è stato il conflitto ed eliminarlo. Siate sospettosi di tutto ciò che riguarda la melma o il sudiciume.