[O] Re: [Orgmode] [babel] some lisp/slime progress
Hi Erik, I've had an opportunity to return to Babel support for common lisp recently. I just copied over the existing ob-clojure.el file to ob-lisp.el and changed the clojure/swank specific parts. The resulting file seems to work after some initial tests and is exceedingly simple. If this works for you as well, then I'd propose replacing the existing ob-lisp.el with this new implementation. Please let me know what you think. Thanks -- Eric ob-lisp.el Description: application/emacs-lisp Erik Iverson er...@ccbr.umn.edu writes: Then, things like the following work, where I assume you've already started M-x slime. #+begin_src emacs-lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value Er, not emacs-lisp, just lisp... like the following #+begin_src lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[O] Re: [Orgmode] [babel] some lisp/slime progress
This newly attached version includes some slight improvements over the previous, namely, - support for declaring the CL package in which evaluation takes place - support for the :results output header argument - and better handling of non-elisp-parsable results. Best -- Eric ob-lisp.el Description: application/emacs-lisp Eric Schulte schulte.e...@gmail.com writes: Hi Erik, I've had an opportunity to return to Babel support for common lisp recently. I just copied over the existing ob-clojure.el file to ob-lisp.el and changed the clojure/swank specific parts. The resulting file seems to work after some initial tests and is exceedingly simple. If this works for you as well, then I'd propose replacing the existing ob-lisp.el with this new implementation. Please let me know what you think. Thanks -- Eric Erik Iverson er...@ccbr.umn.edu writes: Then, things like the following work, where I assume you've already started M-x slime. #+begin_src emacs-lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value Er, not emacs-lisp, just lisp... like the following #+begin_src lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] [babel] some lisp/slime progress
Hello, I recently posted on the inability of ob-lisp.el to submit multiple forms to a running CL session and return the result. http://permalink.gmane.org/gmane.emacs.orgmode/37325 I have made some progress in fixing this, but it *required defining a new function in SLIME, so I do not post this as a patch to org-mode, since it depends on more than org-mode*. I don't know if this is something that truly belongs in SLIME, so I may follow-up on that mailing list. NB: this only works when :session is specified. In SLIME swank.lisp, I define: (defslimefun interactive-eval-region-orgmode (string) (with-buffer-syntax () (with-retry-restart (:msg Retry SLIME interactive evaluation request.) (list (format nil ~{~S~^~%~} (eval-region string)) Then, in ob-lisp.el, apply the following patch. diff --git a/lisp/ob-lisp.el b/lisp/ob-lisp.el index 600b79e..2980cc8 100644 --- a/lisp/ob-lisp.el +++ b/lisp/ob-lisp.el @@ -78,7 +78,11 @@ This function is called by `org-babel-execute-src-block' (if session ;; session evaluation (save-window-excursion - (cadr (slime-eval `(swank:eval-and-grab-output ,full-body + (with-temp-buffer +(insert full-body) +(slime-eval + `(swank:interactive-eval-region-orgmode + ,(buffer-substring-no-properties (point-min) (point-max)) ;; external evaluation (let ((script-file (org-babel-temp-file lisp-script-))) (with-temp-file script-file Then, things like the following work, where I assume you've already started M-x slime. #+begin_src emacs-lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value Best Regards, --Erik Iverson ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] [babel] some lisp/slime progress
Then, things like the following work, where I assume you've already started M-x slime. #+begin_src emacs-lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value Er, not emacs-lisp, just lisp... like the following #+begin_src lisp :session (defvar test1 test1 value) (defvar test2 test2 value) test2 #+end_src #+results: : test2 value ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode