Perché Clojure inizia con 'M-x melma' per il mio Aquamacs senza alcuna messa a punto?
Domanda
Ho Aquamacs in esecuzione sul mio Mac.
Ho installato il ESK per Aquamacs e installa ELPA a ~ / .emacs.d / ELPA. Con ELPA, ho installato clojure-mode / clojure-est-mode / melma / melma-repl / Swank-clojure.
Il fatto è che quando faccio funzionare 'M-x melma', clojure viene eseguito. Perchè è questo? Io sono curioso come io non ho alcun setup per melma nei miei .emacs e anche in / Users / smcho / Library / Preferences / Aquamacs Emacs / {Preferences.el, customizations.el}. Voglio dire, non ho (setq inferiore-lisp-programma "clojure") o qualcosa del genere.
In alternativa, ha a che fare con la mia installazione 'Swank-clojure'? Vedo qualcosa di simile al inferiore-lisp tampone.
(require 'swank.swank) (swank.swank/ignore-protocol-version nil) ... #ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=51847]
Soluzione
Questo perché swank-clojure.el
, un programma elisp deprecato. Non utilizzarlo, come per il mio postare qui , sulla vostra prossima domanda. Può avere bug e quindi non è adatto per l'uso. Utilizzare M-x slime-connect
invece, dopo l'avvio Swank con lein swank
.
Altri suggerimenti
Come Isaac ha detto, set-Swank clojure.el 'melma-lisp-implementazioni' per clojure (insomma, un modo per avviare Java con Swank-clojure nel classpath in modo che Swank può essere avviato). Quindi si connette melma a questa porta e si ottiene il repl.
Il problema di questo approccio è che, sarà necessario configurare classpath in anticipo. Questo diventa noioso per ogni progetto che si desidera lavorare. Quindi, modo migliore è quello di utilizzare M-x-Swank clojure-progetto o Swank Lein e poi M-x melma-connect. Io preferisco Swank-clojure-progetto.