Tomas Hlavaty <t...@logand.com> writes: Hi Henrik, Hi Tomas, thanks for your help so far.
I now have slime and sbcl installed and working, and I downloaded 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 | `-------------------------------- 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 `-------------------------------------------------------------- Now I'm a bit confused - which command should I use, and is that related to file permissions (they seem alright to me) or something else? Do you use recent versions of picolisp? here is the backtrace I get when I try to open a test2.l file: ,------------------------------------------------------------------------- | Debugger entered--Lisp error: (error "Process inferior-lisp not | running") process-send-string(#<process inferior-lisp> "(prog (load | \"/home/tj1/bin/picolisp/lib/swank-picolisp/swank-picolisp.l\") | (swank-start \"/tmp/slime.20688\"))\n") (let ((str ...)) (goto-char | (process-mark process)) (insert-before-markers str) (process-send-string | process str)) (save-current-buffer (set-buffer (process-buffer process)) | (make-local-variable (quote slime-inferior-lisp-args)) (setq | slime-inferior-lisp-args args) (let (...) (goto-char ...) | (insert-before-markers str) (process-send-string process str))) | (with-current-buffer (process-buffer process) (make-local-variable | (quote slime-inferior-lisp-args)) (setq slime-inferior-lisp-args args) | (let (...) (goto-char ...) (insert-before-markers str) | (process-send-string process str))) (let* ((--cl-rest-- args) | (coding-system ...) (init ...)) (with-current-buffer (process-buffer | process) (make-local-variable ...) (setq slime-inferior-lisp-args args) | (let ... ... ... ...))) (progn (let* (... ... ...) (with-current-buffer | ... ... ... ...))) (destructuring-bind (&key coding-system init | &allow-other-keys) args (with-current-buffer (process-buffer process) | (make-local-variable ...) (setq slime-inferior-lisp-args args) (let ... | ... ... ...))) slime-start-swank-server(#<process inferior-lisp> | (:program "/home/tj1/bin/picolisp/bin/psh" :program-args nil :buffer | "*inferior-lisp*" :coding-system iso-latin-1-unix :init | slime-init-picolisp :name picolisp :init-function nil :env nil)) | slime-inferior-connect(#<process inferior-lisp> (:program | "/home/tj1/bin/picolisp/bin/psh" :program-args nil :buffer | "*inferior-lisp*" :coding-system iso-latin-1-unix :init | slime-init-picolisp :name picolisp :init-function nil :env nil)) (let | ((proc ...)) (slime-inferior-connect proc args) (pop-to-buffer | (process-buffer proc))) (let ((args ...)) (slime-check-coding-system | coding-system) (when (slime-bytecode-stale-p) | (slime-urge-bytecode-recompile)) (let (...) (slime-inferior-connect proc | args) (pop-to-buffer ...))) (catch (quote --cl-block-slime-start--) (let | (...) (slime-check-coding-system coding-system) (when ... ...) (let ... | ... ...))) (cl-block-wrapper (catch (quote --cl-block-slime-start--) | (let ... ... ... ...))) (block slime-start (let (...) | (slime-check-coding-system coding-system) (when ... ...) (let ... ... | ...))) (let* ((program ...) (program-args ...) (directory ...) | (coding-system ...) (init ...) (name ...) (buffer ...) (init-function | ...) (env ...)) (let (...) (while --cl-keys-- ...)) (block slime-start | (let ... ... ... ...))) slime-start(:name picolisp :program | "/home/tj1/bin/picolisp/bin/psh" :program-args nil :init | slime-init-picolisp) apply(slime-start (:name picolisp :program | "/home/tj1/bin/picolisp/bin/psh" :program-args nil :init | slime-init-picolisp)) slime-start*((:name picolisp :program | "/home/tj1/bin/picolisp/bin/psh" :program-args nil :init | slime-init-picolisp)) (let ((inferior-lisp-program ...) | (slime-net-coding-system ...)) (slime-start* (cond ... ...))) slime() | (save-excursion (slime)) (if (slime-connected-p) nil (save-excursion | (slime))) (unless (slime-connected-p) (save-excursion (slime))) (lambda | nil (unless (slime-connected-p) (save-excursion ...)))() | run-hooks(slime-mode-hook slime-mode-on-hook) (let ((last-message ...)) | (setq slime-mode (cond ... ... ...)) (slime-setup-command-hooks) (setq | slime-modeline-string (slime-modeline-string)) (run-hooks (quote | slime-mode-hook) (if slime-mode ... ...)) (if (called-interactively-p) | (progn nil ...))) slime-mode(1) (lambda nil (tsm-mode) (define-key | picolisp-mode-map (kbd "C-M-r") (quote picolisp-jump)) (slime-mode 1))() | run-hooks(picolisp-mode-hook) apply(run-hooks picolisp-mode-hook) | run-mode-hooks(picolisp-mode-hook) picolisp-mode() | set-auto-mode-0(picolisp-mode nil) set-auto-mode() normal-mode(t) | after-find-file(nil t) find-file-noselect-1(#<buffer test2.l> | "~/lispProjects/picolisp/test2.l" nil nil | "~/Dropbox/lispProjects/picolisp/test2.l" (14680230 2049)) | find-file-noselect("/home/tj1/lispProjects/picolisp/test2.l" nil nil) | ido-file-internal(raise-frame) ido-find-file() | call-interactively(ido-find-file nil nil) `------------------------------------------------------------------------- >> >> Is that still valid, or should it rather be 'pil ore 'plmod now? >> ,----------------------------------------------------------------------- >> | (setq slime-lisp-implementations >> | `((picolisp ("/usr/bin/picolisp/p") :init slime-init-picolisp))) >> `----------------------------------------------------------------------- > > Yes, I think the way picolisp is launched has changed recently, so you > need the use the correct shell script, likely pil. Please let me know > it it worked for you. You should get a repl and then type (+ 1 2) and > get the result. If you move your cursor around, you should see function > arguments in the message buffer and if you do M-. and M-, then you > should be jumping around the sources. > cheers -- Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe