Bruno Barbier <brubar...@gmail.com> writes: > I'm not using it with official org backends (yet). I'm using it with > several custom backends that I'm working on. One of the backend > delegate the block executions to emacs subprocesses: so I have a kind of > asynchronous executions for free for any language, including elisp > itself.
For sessions, wouldn't running in a subprocess prevent the user from directly interacting with the REPL outside of Org? If so, that's a problem. Org-babel sessions need to play nicely with inferior Python, inferior ESS, and other interactive comint modes. > So, here we go. You'll find attach a set of patchs. It works for me with > Emacsc 30.50 and 9.7-pre (from today). I suggest to keep these patches on a public branch somewhere, see: https://orgmode.org/worg/org-contribute.html#patches "When discussing important changes, it is sometimes not so useful to send long and/or numerous patches. In this case, you can maintain your changes on a public branch of a public clone of Org and send a link to the diff between your changes and the latest Org commit that sits in your clone." I tried running your example on emacs29 using emacs -q -L /path/to/org-mode/lisp my-async-tests.org but it fails with the error below. Also "make" gives a bunch of compilation warnings (which I've put at the bottom). > +You need to load: > + #+begin_src elisp :results silent > + (load-file "my-async-tests.el") > + #+end_src This raises the following error in *Org-Babel Error Output* void-variable (org-elib-async-process) [ Babel evaluation exited with code 127 ] All the subsequent blocks don't work because of that, for example: > +A simple execution: > + #+begin_src bash > + date > + #+end_src yields: org-babel-execute-src-block: No org-babel-execute function for bash: my-shell-babel-schedule! Finally here are the warnings when running "make": Compiling single /home/jack/src/org-mode/2024-02-brubar-async/lisp/ob-core.el... In org-babel--async-feedbacks: ob-core.el:851:2: Warning: docstring has wrong usage of unescaped single quotes (use \= or different quoting) ob-core.el:871:9: Warning: Unused lexical variable `result-indent' ob-core.el:906:18: Warning: Unused lexical variable `header' Compiling single /home/jack/src/org-mode/2024-02-brubar-async/lisp/org-elib-async.el... In toplevel form: org-elib-async.el:52:11: Warning: reference to free variable ‘org-elib-async-process’ org-elib-async.el:52:43: Warning: reference to free variable ‘&key’ org-elib-async.el:52:48: Warning: reference to free variable ‘input’ org-elib-async.el:52:54: Warning: reference to free variable ‘callback’ org-elib-async.el:78:29: Warning: reference to free variable ‘command’ org-elib-async.el:127:9: Warning: Variable ‘last-elapsed’ left uninitialized In org-elib-async-wait-condition: org-elib-async.el:137:12: Warning: ‘signal’ called with 3 arguments, but accepts only 2 In end of data: org-elib-async.el:262:16: Warning: the function ‘org-id-uuid’ is not known to be defined. org-elib-async.el:52:35: Warning: the function ‘command’ is not known to be defined. org-elib-async.el:52:2: Warning: the function ‘cl-defun’ might not be defined at runtime.