As far as picolisp running in Org mode is concerned:
** 1. I tried the following code in org babel and they show perfect results as shown in ob-picolisp-more-tests.org given on https://github.com/tj64/ob-picolisp. *** Example 1 #+begin_src picolisp :results value html (load "@lib/http.l" "@lib/xhtml.l" "@lib/form.l") (html 0 "Hello" "@lib.css" NIL (<h1> NIL "Hello World!") (<br> "This is some text.") (ht:Prin "And this is a number: " (+ 1 2 3)) ) #+end_src #+RESULTS: #+BEGIN_HTML </html> #+END_HTML *** Example 2 #+begin_src picolisp :results value code '(a (b c d) (e (f (g) (h) (i)) (j (k) (l) (m))) (n o p) q) #+end_src #+RESULTS: #+BEGIN_SRC picolisp (a (b c d) (e (f (g) (h) (i)) (j (k) (l) (m)) ) (n o p) q ) #+END_SRC *** Example 3 #+begin_src picolisp :results value pp '(a (b c d) (e (f (g) (h) (i)) (j (k) (l) (m))) (n o p) q) #+end_src #+RESULTS: : (a : (b c d) : (e : (f (g) (h) (i)) : (j (k) (l) (m)) ) : (n o p) : q ) ** 2. Try commenting out code (/picoLisp/lib/el) in your .emacs: ;; In order to get the picolisp-mode working correctly you have to ;; add the following expressions to your .emacs and adapt them ;; according to your set-up: ;; (add-to-list 'load-path "/opt/picoLisp/lib/el") ;; (load "tsm.el") ;; Picolisp TransientSymbolsMarkup (*Tsm) ;; (autoload 'run-picolisp "inferior-picolisp") ;; (autoload 'picolisp-mode "picolisp" "Major mode for editing ;; Picolisp." t) ;; pil is more modern than plmod ;; (setq picolisp-program-name "/opt/picoLisp/pil") ;; If you have also SLIME installed, it will suck all possible lisp ;; extensions up. ;; So in order to get the correct file-association for picolisp ;; files you'll have to also add this: ;; (add-to-list 'auto-mode-alist '("\\.l$" . picolisp-mode)) ;; If you want, you can add a few hooks for convenience: ;; (add-hook 'picolisp-mode-hook ;; (lambda () ;; (paredit-mode +1) ;; Loads paredit mode automatically ;; (tsm-mode) ;; Enables TSM ;; (define-key picolisp-mode-map (kbd "RET") 'newline-and-indent) ;; (define-key picolisp-mode-map (kbd "C-h") 'paredit-backward-delete) ) ) ;; By the way, don't forget to patch your paredit.el (v21) with the ;; patch provided to get a smoother editing. ;;(add-hook 'lisp-mode-hook (lambda () (slime-mode t))) ;;(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))) ;;(slime) (slime-scratch) And having only: (org-babel-do-load-languages 'org-babel-load-languages '( (emacs-lisp . t) (gnuplot . t) (lisp . t) (picolisp . t) (python . t) (sh . t))) (Mainly add picolisp above) and then restart Emacs. This works perfectly here. On 2/22/18, Lawrence Bottorff <borg...@gmail.com> wrote: > I tracked it down to something totally bizarre: Starting emacs GUI (I'm on > Ubuntu + Gnome) from a task bar button with the command > > emacsclient -c -a '' > > (that's two single quotes) > > was the problem, i.e., using the emacs daemon. However, changing the task > bar button to > > emacs --daemon > > then running > > emacs & > > from an open terminal "fixed" the problem. I spent hours tearing things out > of my init diaspora, doing emacs -q, then C-x-e-ing things back in, etc. I > have absolutely no idea why starting Emacs this way would make a > difference. I'm saying this fixed the problem with `run-picolisp` inside of > picolisp-mode. But still, org-mode picolisp is touchy. For example, one of > the tutorial examples: > > (let Str "The quick brown fox jumped over the lazy dog's back" > (pack > (mapcar '((B) (pad 2 (hex B))) > (native "libcrypto.so" "MD5" > '(B . 16) Str (length Str) '(NIL (16)))))) > > runs fine in a picolisp-mode started REPL, but not in an org-mode code > block like this: > > #+BEGIN_SRC picolisp > # call the 'MD5' function from 'libcrypto.so' > (let Str "The quick brown fox jumped over the lazy dog's back" > (pack > (mapcar '((B) (pad 2 (hex B))) > (native "libcrypto.so" "MD5" > '(B . 16) Str (length Str) '(NIL (16)))))) > #+END_SRC > > Running the above gives: > > executing Picolisp code block... > executing Picolisp source code block > Wrote /tmp/babel-26285uqi/ob-input-26285Ue1 > org-babel-execute:picolisp: End of file during parsing > > and no result. Also, some of the examples in this > <https://github.com/tj64/ob-picolisp> aren't working properly, but then I'm > guessing it's more org-mode's having changed (tables, variable in source > block, etc.) since this was put together. Also, doing C-c C-c on an > org-mode code block doesn't seem to start a REPL as does, say, Racket. I'm > saying with Racket, any org-mode code block you may run immediately starts > a Racket REPL "session" wherein, e.g., a function is then known . . . but > this is not the case when you run a picolisp code block. I know Racket runs > in conjunction with Geiser-mode. I would think picolisp babel would run in > conjunction with picolisp-mode. . . . > > Basically, I'm concerned about org-mode more than regular > picolisp-mode+REPL because Emacs is evolving into an org-mode vehicle, AFAI > can tell. New people to picolisp who use Emacs will likely be org-moders > too. > > LB > > On Wed, Feb 21, 2018 at 9:50 PM, Nehal <nehalsingha...@gmail.com> wrote: > >> Hi Lawrence, >> >> Check: >> >> 1. If pil is running correctly in shell from inside Emacs. >> 2. If you added Picolisp in .emacs file in >> (org-babel-do-load-languages 'org-babel-load-languages >> '((picolisp . t))) >> >> >> On 2/21/18, Lawrence Bottorff <borg...@gmail.com> wrote: >> > I'm getting either >> > >> > Searching for program: No such file or directory, pil >> > >> > or >> > >> > File already exists: /home/hercynian/.pil/editor-orig >> > >> > whenever I try to do `run-picolisp` in Emacs. I've got pil correctly >> > set >> > up: >> > >> >>which pil >> > /home/me/opt/picoLisp/pil >> > >> > and the command-line pil works fine >> > >> >>pil >> > : (version) >> > 18.2.3 >> > -> (18 2 3) >> > : >> > >> > I've also spelled out to babel where pil is: >> > >> > Org Babel Picolisp Cmd: /home/me/opt/picoLisp/pil >> > >> > picolisp-mode starts up fine (using provided .el), but then it can't >> > evaluate, with similar errors above. >> > >> > L. Bottorff >> > Goshen, IN >> > >> >> >> -- >> Warm Regards, >> Nehal Singhal >> >> -- >> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >> > -- Warm Regards, Nehal Singhal -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe