2012-09-29 3 views
1

J'ai construit stumpwm en utilisant clisp activé par thread avec succès. Et le stumpwm créé fonctionne très bien. Cependant, le serveur Swank doesnot travail si commencé à partir ~/.stumpwmrc comme ci-dessous:A propos de stumpwm et swank (clisp)

(load "~/.vim/slime/start-swank.lisp") 

Le serveur Swank est en effet commencé comme netstat -na montre qu'il est lisening sur le port 4005. Mais telnet 127.0.0.1 4005 fera rapport « connexion est fermée par les pairs ". Alors que le slimv dans VIM ne peut pas se connecter au serveur swank.

Si je démarre une autre REPL clisp et exécute (load "~/.vim/slime/start-swank.lisp"), puis telnet et slimv fonctionne bien.

Pourquoi est-ce que (load "~/.vim/slime/start-swank.lisp") dans ~/.stumpwmrc ne fonctionne pas?

Pour votre information, le journal de stumpwm:

Starting swank on port 4005 
;; Loading file /home/***/.vim/slime/start-swank.lisp ... 
;; Loading file /home/***/.vim/slime/swank-loader.lisp ... 
;; Loaded file /home/***/.vim/slime/swank-loader.lisp 
;; Loading file /home/***/.slime/fasl/2012-03-06/clisp-2.49-unix-pc386/swank-backend.fas ... 
;; ... 
;; Loaded file /home/***/.slime/fasl/2012-03-06/clisp-2.49-unix-pc386/contrib/swank-mrepl.fas 
;; Swank started at port: 4005. 

Il semble ok, mais je ne peux pas utiliser stumpwm plus!

Répondre

0

Dans la liste de diffusion de clisp, je une suggestion: Nous devrions modifier ~/.vim/boue/Swank-clisp comme ci-dessous:

(defimplementation preferred-communication-style() :spawn) 

Après avoir exécuté (load "~/.vim/slime/start-swank.lisp") de démarrer le serveur Swank, le slimv peut se connecter Swank serveur sans aucune erreur.

Maintenant, slimv fonctionne très bien avec clisp (avec support de fil).

Cordialement!

1

Je ne connais pas slimv, mais il semble que tout ce que vous cherchez à faire est de démarrer un serveur en LISP et de s'y connecter. Rester simple. Comme je ne veux pas vraiment savoir trop sur ce qui se passe dans start-swank.lisp, et vous ne avez probablement pas non plus, je vous recommande de commencer un serveur Swank en mettant dans votre .stumpwmrc:

(ql:quickload "swank") 
(swank:create-server :port #<choose a port number>) 

Ensuite, connectez-vous sur ce numéro de port avec l'équivalent slimv de M-x slime-connect. Si la version de swank dans quicklisp n'est pas compatible avec slimv, assurez-vous d'en avoir une qui est, et REQUIRE il. Essayez-le et, si cela ne fonctionne toujours pas, regardez les numéros de version de swank et slimv et publiez vos résultats.

+0

Cela ne fonctionne toujours pas. –

+1

La communication Swank devrait également être disponible via telnet. La commande 'telnet 127.0.0.1 4005' devrait se connecter au serveur swank, puis en entrant' 00002d (: emacs-rex (swank: connexion-info) nil t 1) 'devrait le faire répondre avec les informations de connexion réelles. Si cela ne fonctionne pas, c'est un problème de serveur. Sinon, si le serveur de swank répond et ferme immédiatement la connexion, alors vous devez passer ': ne pas fermer t' à 'swank: create-server' afin de garder la connexion ouverte. –