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