Hi Thorsten,

> swank-picolisp and copied your configuration except the picolisp command 
>
> ,-------------------
> | usr/bin/picolisp/p
> `-------------------
>
> I have a problem there, I tried
>
> ,--------------------------------
> | home/tj1/bin/picolisp/pil       |
> | home/tj1/bin/picolisp/plmod     |
> | home/tj1/bin/picolisp/bin/pil   |
> | home/tj1/bin/picolisp/bin/plmod |
> | home/tj1/bin/picolisp/bin/psh                             |
> `--------------------------------

isn't there a slash missing to indicate absolute pathname?

> but no matter which one  I use, and I always get an error, e.g. 
>
> ,--------------------------------------------------------------
> | (prog (load                                                  
> | "/home/tj1/bin/picolisp/lib/swank-picolisp/swank-picolisp.l")
> | (swank-start "/tmp/slime.20688"))                            
> |                                                              
> | Can't exec program:                                          
> | /home/tj1/bin/picolisp/bin/psh                               
> `--------------------------------------------------------------

I just tried with the latest picolisp from repository and it works.

My .emacs is something like:

(setq slime-lisp-implementations
      `((picolisp ("/home/tomas/git/picolisp/pil" "+") :init 
slime-init-picolisp)))

(defun slime-init-picolisp (file _)
  (setq slime-protocol-version 'ignore)
  (format "%S\n"
          `(prog (load ,(expand-file-name
                         "/home/tomas/git/swank-picolisp/swank-picolisp.l"))
                 (swank-start ,file))))

(add-to-list 'load-path "~/git/picolisp/lib/el/")
(require 'picolisp)
(add-to-list 'auto-mode-alist '("\\.l\\'" . picolisp-mode))

(add-hook 'picolisp-mode-hook (lambda () (slime-mode 1)))

(add-to-list 'load-path "~/lisp/slime/")
(require 'slime-autoloads)
(slime-setup '(slime-repl slime-fuzzy slime-fancy slime-asdf))

(setq slime-net-coding-system 'utf-8-unix)

..

Note that some slime contribs don't work with swank-picolisp so I
recommend to start with those I listed above: slime-repl slime-fuzzy
slime-fancy slime-asdf.  I use those.  If you want to use other, you'll
need to implement corresponding swank protocol calls.

> here is the backtrace I get when I try to open a test2.l file:

Well, you should get the inferior lisp running and it should look
something like:

(prog (load "/home/tomas/git/swank-picolisp/swank-picolisp.l") (swank-start 
"/tmp/slime.1983"))
: (prog (load "/home/tomas/git/swank-picolisp/swank-picolisp.l") (swank-start 
"/tmp/slime.1983"))
## Listening on port 46824
(:emacs-rex (swank:connection-info) "COMMON-LISP-USER" t 1)
0001A3(:return (:ok (:pid 27386 :style nil :encoding (:coding-system "utf-8" 
:external-format "utf-8") :lisp-implementation (:type "PicoLisp32" :name 
"PicoLisp32" :version "3.0.9" :program "/home/tomas/git/picolisp/p") :machine 
(:instance "bela" :type "x86_64" :version "Intel(R) Core(TM)2 CPU         T7200 
 @ 2.00GHz") :features (:dummy) :modules ("module1" "module2") :package (:name 
"pil" :prompt "pil") :version nil)) 1)
(:emacs-rex (swank:swank-require '((swank-asdf swank-package-fu 
swank-presentations swank-fancy-inspector swank-c-p-c swank-arglists 
swank-fuzzy))) "COMMON-LISP-USER" t 2)
000015(:return (:ok NIL) 2)
(:emacs-rex (swank:create-repl nil) "COMMON-LISP-USER" t 3)
00001F(:return (:ok ("pil" "pil")) 3)
(:emacs-rex (swank:autodoc '(("+" NIL swank::%cursor-marker%)) 
:print-right-margin 179) "pil" :repl-thread 4)
00002F(:return (:ok "+ 67320384 ('num ..) -> num") 4)
(:emacs-rex (swank:autodoc '(("+" "1" NIL swank::%cursor-marker%)) 
:print-right-margin 179) "pil" :repl-thread 5)
00002F(:return (:ok "+ 67320384 ('num ..) -> num") 5)
(:emacs-rex (swank:autodoc '(("+" "1" "2" swank::%cursor-marker%)) 
:print-right-margin 179) "pil" :repl-thread 6)
00002F(:return (:ok "+ 67320384 ('num ..) -> num") 6)
(:emacs-rex (swank:listener-eval "(+ 1 2)^J") "pil" :repl-thread 7)
00001F(:return (:ok (:values "3")) 7)

after typing:

; SLIME 2011-04-16
pil> (+ 1 2)
3
pil> 

in the repl buffer.

> | (:program "/home/tj1/bin/picolisp/bin/psh" :program-args nil :buffer

I think this is wrong program.  See my config above, it should be pil.

Cheers,

Tomas
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to